diff --git a/packages/google-cloud-sql/README.md b/packages/google-cloud-sql/README.md
index 41814fd9b839..eb51e0cb0f54 100644
--- a/packages/google-cloud-sql/README.md
+++ b/packages/google-cloud-sql/README.md
@@ -58,7 +58,6 @@ Samples are in the [`samples/`][homepage_samples] directory. Each sample's `READ
 
 | Sample                      | Source Code                       |
 | --------------------------- | --------------------------------- |
-| cloud | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-sql/samples/generated/v1/snippet_metadata_google.cloud.sql.v1.json) |
 | delete | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-sql/samples/generated/v1/sql_backup_runs_service.delete.js) |
 | get | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-sql/samples/generated/v1/sql_backup_runs_service.get.js) |
 | insert | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-sql/samples/generated/v1/sql_backup_runs_service.insert.js) |
@@ -133,7 +132,6 @@ Samples are in the [`samples/`][homepage_samples] directory. Each sample's `READ
 | insert | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-sql/samples/generated/v1/sql_users_service.insert.js) |
 | list | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-sql/samples/generated/v1/sql_users_service.list.js) |
 | update | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-sql/samples/generated/v1/sql_users_service.update.js) |
-| cloud | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-sql/samples/generated/v1beta4/snippet_metadata_google.cloud.sql.v1beta4.json) |
 | delete | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-sql/samples/generated/v1beta4/sql_backup_runs_service.delete.js) |
 | get | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-sql/samples/generated/v1beta4/sql_backup_runs_service.get.js) |
 | insert | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-sql/samples/generated/v1beta4/sql_backup_runs_service.insert.js) |
@@ -241,7 +239,7 @@ More Information: [Google Cloud Platform Launch Stages][launch_stages]
 
 ## Contributing
 
-Contributions welcome! See the [Contributing Guide](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-sql/CONTRIBUTING.md).
+Contributions welcome! See the [Contributing Guide](https://github.com/googleapis/google-cloud-node/blob/main/CONTRIBUTING.md).
 
 Please note that this `README.md`
 and a variety of configuration files in this repository (including `.nycrc` and `tsconfig.json`)
@@ -251,7 +249,7 @@ are generated from a central template.
 
 Apache Version 2.0
 
-See [LICENSE](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-cloud-sql/LICENSE)
+See [LICENSE](https://github.com/googleapis/google-cloud-node/blob/main/LICENSE)
 
 [shell_img]: https://gstatic.com/cloudssh/images/open-btn.png
 [projects]: https://console.cloud.google.com/project
diff --git a/packages/google-cloud-sql/protos/google/cloud/sql/v1/cloud_sql_instances.proto b/packages/google-cloud-sql/protos/google/cloud/sql/v1/cloud_sql_instances.proto
index bd71bd065f22..b07e2fa0b118 100644
--- a/packages/google-cloud-sql/protos/google/cloud/sql/v1/cloud_sql_instances.proto
+++ b/packages/google-cloud-sql/protos/google/cloud/sql/v1/cloud_sql_instances.proto
@@ -481,7 +481,7 @@ message SqlInstancesCloneRequest {
   // not include the project ID.
   string instance = 1 [(google.api.field_behavior) = REQUIRED];
 
-  // Required. Project ID of the source as well as the clone Cloud SQL instance.
+  // Required. Project ID of the source Cloud SQL instance.
   string project = 2 [(google.api.field_behavior) = REQUIRED];
 
   InstancesCloneRequest body = 100 [(google.api.field_behavior) = REQUIRED];
@@ -1366,6 +1366,20 @@ message PointInTimeRestoreContext {
   // instance. This value cannot be the same as the preferred_zone field.
   optional string preferred_secondary_zone = 9
       [(google.api.field_behavior) = OPTIONAL];
+
+  // Optional. Specifies the instance settings that will be overridden from the
+  // source instance. This field is only applicable for cross project PITRs.
+  DatabaseInstance target_instance_settings = 11
+      [(google.api.field_behavior) = OPTIONAL];
+
+  // Optional. Specifies the instance settings that will be cleared from the
+  // source instance. This field is only applicable for cross project PITRs.
+  repeated string target_instance_clear_settings_field_names = 12
+      [(google.api.field_behavior) = OPTIONAL];
+
+  // Optional. The region of the target instance where the datasource will be
+  // restored. For example: "us-central1".
+  optional string region = 13 [(google.api.field_behavior) = OPTIONAL];
 }
 
 // Binary log coordinates.
@@ -2313,7 +2327,7 @@ message ExecuteSqlPayload {
 
   // Credentials for the database connection.
   oneof user_password {
-    // Optional. When set to true, the API caller identity associated with the
+    // Optional. When set to `true`, the API caller identity associated with the
     // request is used for database authentication. The API caller must be an
     // IAM user in the database.
     bool auto_iam_authn = 11 [(google.api.field_behavior) = OPTIONAL];
@@ -2510,4 +2524,7 @@ enum SqlSuspensionReason {
 
   // The KMS key used by the instance is either revoked or denied access to
   KMS_KEY_ISSUE = 5;
+
+  // The project is suspended due to abuse detected by Ares.
+  PROJECT_ABUSE = 8;
 }
diff --git a/packages/google-cloud-sql/protos/google/cloud/sql/v1/cloud_sql_resources.proto b/packages/google-cloud-sql/protos/google/cloud/sql/v1/cloud_sql_resources.proto
index 78da0b646400..4f2fa0a5fc9e 100644
--- a/packages/google-cloud-sql/protos/google/cloud/sql/v1/cloud_sql_resources.proto
+++ b/packages/google-cloud-sql/protos/google/cloud/sql/v1/cloud_sql_resources.proto
@@ -929,6 +929,24 @@ message PscConfig {
   // authorized to connect via PSC interface.
   // format: projects/PROJECT/regions/REGION/networkAttachments/ID
   string network_attachment_uri = 4 [(google.api.field_behavior) = OPTIONAL];
+
+  // Optional. Indicates whether PSC DNS automation is enabled for this
+  // instance. When enabled, Cloud SQL provisions a universal DNS record across
+  // all networks configured with Private Service Connect (PSC)
+  // auto-connections. This will default to true for new instances when Private
+  // Service Connect is enabled.
+  optional bool psc_auto_dns_enabled = 5
+      [(google.api.field_behavior) = OPTIONAL];
+
+  // Optional. Indicates whether PSC write endpoint DNS automation is enabled
+  // for this instance. When enabled, Cloud SQL provisions a universal global
+  // DNS record across all networks configured with Private Service Connect
+  // (PSC) auto-connections that always points to the cluster primary instance.
+  // This feature is only supported for Enterprise Plus edition.
+  // This will default to true for new Enterprise Plus instances when
+  // `psc_auto_dns_enabled` is enabled.
+  optional bool psc_write_endpoint_dns_enabled = 6
+      [(google.api.field_behavior) = OPTIONAL];
 }
 
 // Settings for an automatically-setup Private Service Connect consumer endpoint
@@ -937,7 +955,7 @@ message PscAutoConnectionConfig {
   // Optional. This is the project ID of consumer service project of this
   // consumer endpoint.
   //
-  // Optional. This is only applicable if consumer_network is a shared vpc
+  // This is only applicable if `consumer_network` is a shared VPC
   // network.
   string consumer_project = 1 [(google.api.field_behavior) = OPTIONAL];
 
@@ -1340,6 +1358,9 @@ message Operation {
 
     // Creates a Cloud SQL read pool instance.
     CREATE_READ_POOL = 53;
+
+    // Pre-checks the major version upgrade operation.
+    PRE_CHECK_MAJOR_VERSION_UPGRADE = 54;
   }
 
   // The status of an operation.
@@ -1769,6 +1790,11 @@ message Settings {
   optional ReadPoolAutoScaleConfig read_pool_auto_scale_config = 48
       [(google.api.field_behavior) = OPTIONAL];
 
+  // Optional. Whether the replica is in accelerated mode. This feature is in
+  // private preview and requires allowlisting to take effect.
+  google.protobuf.BoolValue accelerated_replica_mode = 49
+      [(google.api.field_behavior) = OPTIONAL];
+
   // Optional. Cloud SQL for MySQL auto-upgrade configuration. When this
   // parameter is set to true, auto-upgrade is enabled for MySQL 8.0 minor
   // versions. The MySQL version must be 8.0.35 or higher.
@@ -1789,31 +1815,32 @@ message Settings {
       [(google.api.field_behavior) = OPTIONAL];
 }
 
-// Performance Capture configuration.
+// Performance capture configuration.
 message PerformanceCaptureConfig {
-  // Optional. Enable or disable the Performance Capture feature.
+  // Optional. Enables or disables the performance capture feature.
   optional bool enabled = 1 [(google.api.field_behavior) = OPTIONAL];
 
-  // Optional. The time interval in seconds between any two probes.
+  // Optional. Specifies the interval in seconds between consecutive probes that
+  // check if any trigger condition thresholds have been reached.
   optional int32 probing_interval_seconds = 2
       [(google.api.field_behavior) = OPTIONAL];
 
-  // Optional. The minimum number of consecutive readings above threshold that
-  // triggers instance state capture.
+  // Optional. Specifies the minimum number of consecutive probe threshold that
+  // triggers performance capture.
   optional int32 probe_threshold = 3 [(google.api.field_behavior) = OPTIONAL];
 
-  // Optional. The minimum number of server threads running to trigger the
-  // capture on primary.
+  // Optional. Specifies the minimum number of MySQL `Threads_running` to
+  // trigger the performance capture on the primary instance.
   optional int32 running_threads_threshold = 4
       [(google.api.field_behavior) = OPTIONAL];
 
-  // Optional. The minimum number of seconds replica must be lagging behind
-  // primary to trigger capture on replica.
+  // Optional. Specifies the minimum number of seconds replica must be lagging
+  // behind primary instance to trigger the performance capture on replica.
   optional int32 seconds_behind_source_threshold = 5
       [(google.api.field_behavior) = OPTIONAL];
 
-  // Optional. The amount of time in seconds that a transaction needs to have
-  // been open before the watcher starts recording it.
+  // Optional. Specifies the amount of time in seconds that a transaction needs
+  // to have been open before the watcher starts recording it.
   optional int32 transaction_duration_threshold = 8
       [(google.api.field_behavior) = OPTIONAL];
 }
@@ -2167,6 +2194,9 @@ enum SqlDatabaseVersion {
   // The database version is PostgreSQL 18.
   POSTGRES_18 = 557;
 
+  // The database version is PostgreSQL 19.
+  POSTGRES_19 = 684;
+
   // The database version is SQL Server 2019 Standard.
   SQLSERVER_2019_STANDARD = 26;
 
@@ -2190,6 +2220,15 @@ enum SqlDatabaseVersion {
 
   // The database version is SQL Server 2022 Web.
   SQLSERVER_2022_WEB = 202;
+
+  // The database version is SQL Server 2025 Standard.
+  SQLSERVER_2025_STANDARD = 549;
+
+  // The database version is SQL Server 2025 Enterprise.
+  SQLSERVER_2025_ENTERPRISE = 550;
+
+  // The database version is SQL Server 2025 Express.
+  SQLSERVER_2025_EXPRESS = 551;
 }
 
 // The pricing plan for this instance.
diff --git a/packages/google-cloud-sql/protos/google/cloud/sql/v1/cloud_sql_users.proto b/packages/google-cloud-sql/protos/google/cloud/sql/v1/cloud_sql_users.proto
index 6a4011084e19..b74de3516d5b 100644
--- a/packages/google-cloud-sql/protos/google/cloud/sql/v1/cloud_sql_users.proto
+++ b/packages/google-cloud-sql/protos/google/cloud/sql/v1/cloud_sql_users.proto
@@ -19,6 +19,7 @@ package google.cloud.sql.v1;
 import "google/api/annotations.proto";
 import "google/api/client.proto";
 import "google/api/field_behavior.proto";
+import "google/api/resource.proto";
 import "google/cloud/sql/v1/cloud_sql_resources.proto";
 import "google/protobuf/duration.proto";
 import "google/protobuf/timestamp.proto";
diff --git a/packages/google-cloud-sql/protos/protos.d.ts b/packages/google-cloud-sql/protos/protos.d.ts
index 550fe4464ffc..fa584fd39e4e 100644
--- a/packages/google-cloud-sql/protos/protos.d.ts
+++ b/packages/google-cloud-sql/protos/protos.d.ts
@@ -4715,6 +4715,12 @@ export namespace google {
 
                     /** PscConfig networkAttachmentUri */
                     networkAttachmentUri?: (string|null);
+
+                    /** PscConfig pscAutoDnsEnabled */
+                    pscAutoDnsEnabled?: (boolean|null);
+
+                    /** PscConfig pscWriteEndpointDnsEnabled */
+                    pscWriteEndpointDnsEnabled?: (boolean|null);
                 }
 
                 /** Represents a PscConfig. */
@@ -4738,6 +4744,12 @@ export namespace google {
                     /** PscConfig networkAttachmentUri. */
                     public networkAttachmentUri: string;
 
+                    /** PscConfig pscAutoDnsEnabled. */
+                    public pscAutoDnsEnabled?: (boolean|null);
+
+                    /** PscConfig pscWriteEndpointDnsEnabled. */
+                    public pscWriteEndpointDnsEnabled?: (boolean|null);
+
                     /**
                      * Creates a new PscConfig instance using the specified properties.
                      * @param [properties] Properties to set
@@ -6250,7 +6262,8 @@ export namespace google {
                         MANAGE_BACKUP = 50,
                         ENHANCED_BACKUP = 51,
                         REPAIR_READ_POOL = 52,
-                        CREATE_READ_POOL = 53
+                        CREATE_READ_POOL = 53,
+                        PRE_CHECK_MAJOR_VERSION_UPGRADE = 54
                     }
 
                     /** SqlOperationStatus enum. */
@@ -6942,6 +6955,9 @@ export namespace google {
                     /** Settings readPoolAutoScaleConfig */
                     readPoolAutoScaleConfig?: (google.cloud.sql.v1.IReadPoolAutoScaleConfig|null);
 
+                    /** Settings acceleratedReplicaMode */
+                    acceleratedReplicaMode?: (google.protobuf.IBoolValue|null);
+
                     /** Settings autoUpgradeEnabled */
                     autoUpgradeEnabled?: (boolean|null);
 
@@ -7087,6 +7103,9 @@ export namespace google {
                     /** Settings readPoolAutoScaleConfig. */
                     public readPoolAutoScaleConfig?: (google.cloud.sql.v1.IReadPoolAutoScaleConfig|null);
 
+                    /** Settings acceleratedReplicaMode. */
+                    public acceleratedReplicaMode?: (google.protobuf.IBoolValue|null);
+
                     /** Settings autoUpgradeEnabled. */
                     public autoUpgradeEnabled?: (boolean|null);
 
@@ -8556,6 +8575,7 @@ export namespace google {
                     POSTGRES_16 = 272,
                     POSTGRES_17 = 408,
                     POSTGRES_18 = 557,
+                    POSTGRES_19 = 684,
                     SQLSERVER_2019_STANDARD = 26,
                     SQLSERVER_2019_ENTERPRISE = 27,
                     SQLSERVER_2019_EXPRESS = 28,
@@ -8563,7 +8583,10 @@ export namespace google {
                     SQLSERVER_2022_STANDARD = 199,
                     SQLSERVER_2022_ENTERPRISE = 200,
                     SQLSERVER_2022_EXPRESS = 201,
-                    SQLSERVER_2022_WEB = 202
+                    SQLSERVER_2022_WEB = 202,
+                    SQLSERVER_2025_STANDARD = 549,
+                    SQLSERVER_2025_ENTERPRISE = 550,
+                    SQLSERVER_2025_EXPRESS = 551
                 }
 
                 /** SqlPricingPlan enum. */
@@ -17756,6 +17779,15 @@ export namespace google {
 
                     /** PointInTimeRestoreContext preferredSecondaryZone */
                     preferredSecondaryZone?: (string|null);
+
+                    /** PointInTimeRestoreContext targetInstanceSettings */
+                    targetInstanceSettings?: (google.cloud.sql.v1.IDatabaseInstance|null);
+
+                    /** PointInTimeRestoreContext targetInstanceClearSettingsFieldNames */
+                    targetInstanceClearSettingsFieldNames?: (string[]|null);
+
+                    /** PointInTimeRestoreContext region */
+                    region?: (string|null);
                 }
 
                 /** Represents a PointInTimeRestoreContext. */
@@ -17788,6 +17820,15 @@ export namespace google {
                     /** PointInTimeRestoreContext preferredSecondaryZone. */
                     public preferredSecondaryZone?: (string|null);
 
+                    /** PointInTimeRestoreContext targetInstanceSettings. */
+                    public targetInstanceSettings?: (google.cloud.sql.v1.IDatabaseInstance|null);
+
+                    /** PointInTimeRestoreContext targetInstanceClearSettingsFieldNames. */
+                    public targetInstanceClearSettingsFieldNames: string[];
+
+                    /** PointInTimeRestoreContext region. */
+                    public region?: (string|null);
+
                     /**
                      * Creates a new PointInTimeRestoreContext instance using the specified properties.
                      * @param [properties] Properties to set
@@ -22351,7 +22392,8 @@ export namespace google {
                     BILLING_ISSUE = 2,
                     LEGAL_ISSUE = 3,
                     OPERATIONAL_ISSUE = 4,
-                    KMS_KEY_ISSUE = 5
+                    KMS_KEY_ISSUE = 5,
+                    PROJECT_ABUSE = 8
                 }
 
                 /** Represents a SqlConnectService */
@@ -55223,6 +55265,9 @@ export namespace google {
 
             /** CommonLanguageSettings destinations */
             destinations?: (google.api.ClientLibraryDestination[]|null);
+
+            /** CommonLanguageSettings selectiveGapicGeneration */
+            selectiveGapicGeneration?: (google.api.ISelectiveGapicGeneration|null);
         }
 
         /** Represents a CommonLanguageSettings. */
@@ -55240,6 +55285,9 @@ export namespace google {
             /** CommonLanguageSettings destinations. */
             public destinations: google.api.ClientLibraryDestination[];
 
+            /** CommonLanguageSettings selectiveGapicGeneration. */
+            public selectiveGapicGeneration?: (google.api.ISelectiveGapicGeneration|null);
+
             /**
              * Creates a new CommonLanguageSettings instance using the specified properties.
              * @param [properties] Properties to set
@@ -55940,6 +55988,9 @@ export namespace google {
 
             /** PythonSettings common */
             common?: (google.api.ICommonLanguageSettings|null);
+
+            /** PythonSettings experimentalFeatures */
+            experimentalFeatures?: (google.api.PythonSettings.IExperimentalFeatures|null);
         }
 
         /** Represents a PythonSettings. */
@@ -55954,6 +56005,9 @@ export namespace google {
             /** PythonSettings common. */
             public common?: (google.api.ICommonLanguageSettings|null);
 
+            /** PythonSettings experimentalFeatures. */
+            public experimentalFeatures?: (google.api.PythonSettings.IExperimentalFeatures|null);
+
             /**
              * Creates a new PythonSettings instance using the specified properties.
              * @param [properties] Properties to set
@@ -56032,6 +56086,118 @@ export namespace google {
             public static getTypeUrl(typeUrlPrefix?: string): string;
         }
 
+        namespace PythonSettings {
+
+            /** Properties of an ExperimentalFeatures. */
+            interface IExperimentalFeatures {
+
+                /** ExperimentalFeatures restAsyncIoEnabled */
+                restAsyncIoEnabled?: (boolean|null);
+
+                /** ExperimentalFeatures protobufPythonicTypesEnabled */
+                protobufPythonicTypesEnabled?: (boolean|null);
+
+                /** ExperimentalFeatures unversionedPackageDisabled */
+                unversionedPackageDisabled?: (boolean|null);
+            }
+
+            /** Represents an ExperimentalFeatures. */
+            class ExperimentalFeatures implements IExperimentalFeatures {
+
+                /**
+                 * Constructs a new ExperimentalFeatures.
+                 * @param [properties] Properties to set
+                 */
+                constructor(properties?: google.api.PythonSettings.IExperimentalFeatures);
+
+                /** ExperimentalFeatures restAsyncIoEnabled. */
+                public restAsyncIoEnabled: boolean;
+
+                /** ExperimentalFeatures protobufPythonicTypesEnabled. */
+                public protobufPythonicTypesEnabled: boolean;
+
+                /** ExperimentalFeatures unversionedPackageDisabled. */
+                public unversionedPackageDisabled: boolean;
+
+                /**
+                 * Creates a new ExperimentalFeatures instance using the specified properties.
+                 * @param [properties] Properties to set
+                 * @returns ExperimentalFeatures instance
+                 */
+                public static create(properties?: google.api.PythonSettings.IExperimentalFeatures): google.api.PythonSettings.ExperimentalFeatures;
+
+                /**
+                 * Encodes the specified ExperimentalFeatures message. Does not implicitly {@link google.api.PythonSettings.ExperimentalFeatures.verify|verify} messages.
+                 * @param message ExperimentalFeatures message or plain object to encode
+                 * @param [writer] Writer to encode to
+                 * @returns Writer
+                 */
+                public static encode(message: google.api.PythonSettings.IExperimentalFeatures, writer?: $protobuf.Writer): $protobuf.Writer;
+
+                /**
+                 * Encodes the specified ExperimentalFeatures message, length delimited. Does not implicitly {@link google.api.PythonSettings.ExperimentalFeatures.verify|verify} messages.
+                 * @param message ExperimentalFeatures message or plain object to encode
+                 * @param [writer] Writer to encode to
+                 * @returns Writer
+                 */
+                public static encodeDelimited(message: google.api.PythonSettings.IExperimentalFeatures, writer?: $protobuf.Writer): $protobuf.Writer;
+
+                /**
+                 * Decodes an ExperimentalFeatures message from the specified reader or buffer.
+                 * @param reader Reader or buffer to decode from
+                 * @param [length] Message length if known beforehand
+                 * @returns ExperimentalFeatures
+                 * @throws {Error} If the payload is not a reader or valid buffer
+                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
+                 */
+                public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.PythonSettings.ExperimentalFeatures;
+
+                /**
+                 * Decodes an ExperimentalFeatures message from the specified reader or buffer, length delimited.
+                 * @param reader Reader or buffer to decode from
+                 * @returns ExperimentalFeatures
+                 * @throws {Error} If the payload is not a reader or valid buffer
+                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
+                 */
+                public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.PythonSettings.ExperimentalFeatures;
+
+                /**
+                 * Verifies an ExperimentalFeatures message.
+                 * @param message Plain object to verify
+                 * @returns `null` if valid, otherwise the reason why it is not
+                 */
+                public static verify(message: { [k: string]: any }): (string|null);
+
+                /**
+                 * Creates an ExperimentalFeatures message from a plain object. Also converts values to their respective internal types.
+                 * @param object Plain object
+                 * @returns ExperimentalFeatures
+                 */
+                public static fromObject(object: { [k: string]: any }): google.api.PythonSettings.ExperimentalFeatures;
+
+                /**
+                 * Creates a plain object from an ExperimentalFeatures message. Also converts values to other types if specified.
+                 * @param message ExperimentalFeatures
+                 * @param [options] Conversion options
+                 * @returns Plain object
+                 */
+                public static toObject(message: google.api.PythonSettings.ExperimentalFeatures, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+                /**
+                 * Converts this ExperimentalFeatures to JSON.
+                 * @returns JSON object
+                 */
+                public toJSON(): { [k: string]: any };
+
+                /**
+                 * Gets the default type url for ExperimentalFeatures
+                 * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+                 * @returns The default type url
+                 */
+                public static getTypeUrl(typeUrlPrefix?: string): string;
+            }
+        }
+
         /** Properties of a NodeSettings. */
         interface INodeSettings {
 
@@ -56358,6 +56524,9 @@ export namespace google {
 
             /** GoSettings common */
             common?: (google.api.ICommonLanguageSettings|null);
+
+            /** GoSettings renamedServices */
+            renamedServices?: ({ [k: string]: string }|null);
         }
 
         /** Represents a GoSettings. */
@@ -56372,6 +56541,9 @@ export namespace google {
             /** GoSettings common. */
             public common?: (google.api.ICommonLanguageSettings|null);
 
+            /** GoSettings renamedServices. */
+            public renamedServices: { [k: string]: string };
+
             /**
              * Creates a new GoSettings instance using the specified properties.
              * @param [properties] Properties to set
@@ -56696,6 +56868,109 @@ export namespace google {
             PACKAGE_MANAGER = 20
         }
 
+        /** Properties of a SelectiveGapicGeneration. */
+        interface ISelectiveGapicGeneration {
+
+            /** SelectiveGapicGeneration methods */
+            methods?: (string[]|null);
+
+            /** SelectiveGapicGeneration generateOmittedAsInternal */
+            generateOmittedAsInternal?: (boolean|null);
+        }
+
+        /** Represents a SelectiveGapicGeneration. */
+        class SelectiveGapicGeneration implements ISelectiveGapicGeneration {
+
+            /**
+             * Constructs a new SelectiveGapicGeneration.
+             * @param [properties] Properties to set
+             */
+            constructor(properties?: google.api.ISelectiveGapicGeneration);
+
+            /** SelectiveGapicGeneration methods. */
+            public methods: string[];
+
+            /** SelectiveGapicGeneration generateOmittedAsInternal. */
+            public generateOmittedAsInternal: boolean;
+
+            /**
+             * Creates a new SelectiveGapicGeneration instance using the specified properties.
+             * @param [properties] Properties to set
+             * @returns SelectiveGapicGeneration instance
+             */
+            public static create(properties?: google.api.ISelectiveGapicGeneration): google.api.SelectiveGapicGeneration;
+
+            /**
+             * Encodes the specified SelectiveGapicGeneration message. Does not implicitly {@link google.api.SelectiveGapicGeneration.verify|verify} messages.
+             * @param message SelectiveGapicGeneration message or plain object to encode
+             * @param [writer] Writer to encode to
+             * @returns Writer
+             */
+            public static encode(message: google.api.ISelectiveGapicGeneration, writer?: $protobuf.Writer): $protobuf.Writer;
+
+            /**
+             * Encodes the specified SelectiveGapicGeneration message, length delimited. Does not implicitly {@link google.api.SelectiveGapicGeneration.verify|verify} messages.
+             * @param message SelectiveGapicGeneration message or plain object to encode
+             * @param [writer] Writer to encode to
+             * @returns Writer
+             */
+            public static encodeDelimited(message: google.api.ISelectiveGapicGeneration, writer?: $protobuf.Writer): $protobuf.Writer;
+
+            /**
+             * Decodes a SelectiveGapicGeneration message from the specified reader or buffer.
+             * @param reader Reader or buffer to decode from
+             * @param [length] Message length if known beforehand
+             * @returns SelectiveGapicGeneration
+             * @throws {Error} If the payload is not a reader or valid buffer
+             * @throws {$protobuf.util.ProtocolError} If required fields are missing
+             */
+            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.SelectiveGapicGeneration;
+
+            /**
+             * Decodes a SelectiveGapicGeneration message from the specified reader or buffer, length delimited.
+             * @param reader Reader or buffer to decode from
+             * @returns SelectiveGapicGeneration
+             * @throws {Error} If the payload is not a reader or valid buffer
+             * @throws {$protobuf.util.ProtocolError} If required fields are missing
+             */
+            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.SelectiveGapicGeneration;
+
+            /**
+             * Verifies a SelectiveGapicGeneration message.
+             * @param message Plain object to verify
+             * @returns `null` if valid, otherwise the reason why it is not
+             */
+            public static verify(message: { [k: string]: any }): (string|null);
+
+            /**
+             * Creates a SelectiveGapicGeneration message from a plain object. Also converts values to their respective internal types.
+             * @param object Plain object
+             * @returns SelectiveGapicGeneration
+             */
+            public static fromObject(object: { [k: string]: any }): google.api.SelectiveGapicGeneration;
+
+            /**
+             * Creates a plain object from a SelectiveGapicGeneration message. Also converts values to other types if specified.
+             * @param message SelectiveGapicGeneration
+             * @param [options] Conversion options
+             * @returns Plain object
+             */
+            public static toObject(message: google.api.SelectiveGapicGeneration, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+            /**
+             * Converts this SelectiveGapicGeneration to JSON.
+             * @returns JSON object
+             */
+            public toJSON(): { [k: string]: any };
+
+            /**
+             * Gets the default type url for SelectiveGapicGeneration
+             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+             * @returns The default type url
+             */
+            public static getTypeUrl(typeUrlPrefix?: string): string;
+        }
+
         /** LaunchStage enum. */
         enum LaunchStage {
             LAUNCH_STAGE_UNSPECIFIED = 0,
@@ -56978,6 +57253,9 @@ export namespace google {
 
             /** FieldInfo format */
             format?: (google.api.FieldInfo.Format|keyof typeof google.api.FieldInfo.Format|null);
+
+            /** FieldInfo referencedTypes */
+            referencedTypes?: (google.api.ITypeReference[]|null);
         }
 
         /** Represents a FieldInfo. */
@@ -56992,6 +57270,9 @@ export namespace google {
             /** FieldInfo format. */
             public format: (google.api.FieldInfo.Format|keyof typeof google.api.FieldInfo.Format);
 
+            /** FieldInfo referencedTypes. */
+            public referencedTypes: google.api.ITypeReference[];
+
             /**
              * Creates a new FieldInfo instance using the specified properties.
              * @param [properties] Properties to set
@@ -57081,6 +57362,103 @@ export namespace google {
                 IPV4_OR_IPV6 = 4
             }
         }
+
+        /** Properties of a TypeReference. */
+        interface ITypeReference {
+
+            /** TypeReference typeName */
+            typeName?: (string|null);
+        }
+
+        /** Represents a TypeReference. */
+        class TypeReference implements ITypeReference {
+
+            /**
+             * Constructs a new TypeReference.
+             * @param [properties] Properties to set
+             */
+            constructor(properties?: google.api.ITypeReference);
+
+            /** TypeReference typeName. */
+            public typeName: string;
+
+            /**
+             * Creates a new TypeReference instance using the specified properties.
+             * @param [properties] Properties to set
+             * @returns TypeReference instance
+             */
+            public static create(properties?: google.api.ITypeReference): google.api.TypeReference;
+
+            /**
+             * Encodes the specified TypeReference message. Does not implicitly {@link google.api.TypeReference.verify|verify} messages.
+             * @param message TypeReference message or plain object to encode
+             * @param [writer] Writer to encode to
+             * @returns Writer
+             */
+            public static encode(message: google.api.ITypeReference, writer?: $protobuf.Writer): $protobuf.Writer;
+
+            /**
+             * Encodes the specified TypeReference message, length delimited. Does not implicitly {@link google.api.TypeReference.verify|verify} messages.
+             * @param message TypeReference message or plain object to encode
+             * @param [writer] Writer to encode to
+             * @returns Writer
+             */
+            public static encodeDelimited(message: google.api.ITypeReference, writer?: $protobuf.Writer): $protobuf.Writer;
+
+            /**
+             * Decodes a TypeReference message from the specified reader or buffer.
+             * @param reader Reader or buffer to decode from
+             * @param [length] Message length if known beforehand
+             * @returns TypeReference
+             * @throws {Error} If the payload is not a reader or valid buffer
+             * @throws {$protobuf.util.ProtocolError} If required fields are missing
+             */
+            public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.TypeReference;
+
+            /**
+             * Decodes a TypeReference message from the specified reader or buffer, length delimited.
+             * @param reader Reader or buffer to decode from
+             * @returns TypeReference
+             * @throws {Error} If the payload is not a reader or valid buffer
+             * @throws {$protobuf.util.ProtocolError} If required fields are missing
+             */
+            public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.TypeReference;
+
+            /**
+             * Verifies a TypeReference message.
+             * @param message Plain object to verify
+             * @returns `null` if valid, otherwise the reason why it is not
+             */
+            public static verify(message: { [k: string]: any }): (string|null);
+
+            /**
+             * Creates a TypeReference message from a plain object. Also converts values to their respective internal types.
+             * @param object Plain object
+             * @returns TypeReference
+             */
+            public static fromObject(object: { [k: string]: any }): google.api.TypeReference;
+
+            /**
+             * Creates a plain object from a TypeReference message. Also converts values to other types if specified.
+             * @param message TypeReference
+             * @param [options] Conversion options
+             * @returns Plain object
+             */
+            public static toObject(message: google.api.TypeReference, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+            /**
+             * Converts this TypeReference to JSON.
+             * @returns JSON object
+             */
+            public toJSON(): { [k: string]: any };
+
+            /**
+             * Gets the default type url for TypeReference
+             * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+             * @returns The default type url
+             */
+            public static getTypeUrl(typeUrlPrefix?: string): string;
+        }
     }
 
     /** Namespace protobuf. */
@@ -57186,6 +57564,7 @@ export namespace google {
         /** Edition enum. */
         enum Edition {
             EDITION_UNKNOWN = 0,
+            EDITION_LEGACY = 900,
             EDITION_PROTO2 = 998,
             EDITION_PROTO3 = 999,
             EDITION_2023 = 1000,
@@ -57216,6 +57595,9 @@ export namespace google {
             /** FileDescriptorProto weakDependency */
             weakDependency?: (number[]|null);
 
+            /** FileDescriptorProto optionDependency */
+            optionDependency?: (string[]|null);
+
             /** FileDescriptorProto messageType */
             messageType?: (google.protobuf.IDescriptorProto[]|null);
 
@@ -57265,6 +57647,9 @@ export namespace google {
             /** FileDescriptorProto weakDependency. */
             public weakDependency: number[];
 
+            /** FileDescriptorProto optionDependency. */
+            public optionDependency: string[];
+
             /** FileDescriptorProto messageType. */
             public messageType: google.protobuf.IDescriptorProto[];
 
@@ -57399,6 +57784,9 @@ export namespace google {
 
             /** DescriptorProto reservedName */
             reservedName?: (string[]|null);
+
+            /** DescriptorProto visibility */
+            visibility?: (google.protobuf.SymbolVisibility|keyof typeof google.protobuf.SymbolVisibility|null);
         }
 
         /** Represents a DescriptorProto. */
@@ -57440,6 +57828,9 @@ export namespace google {
             /** DescriptorProto reservedName. */
             public reservedName: string[];
 
+            /** DescriptorProto visibility. */
+            public visibility: (google.protobuf.SymbolVisibility|keyof typeof google.protobuf.SymbolVisibility);
+
             /**
              * Creates a new DescriptorProto instance using the specified properties.
              * @param [properties] Properties to set
@@ -58287,6 +58678,9 @@ export namespace google {
 
             /** EnumDescriptorProto reservedName */
             reservedName?: (string[]|null);
+
+            /** EnumDescriptorProto visibility */
+            visibility?: (google.protobuf.SymbolVisibility|keyof typeof google.protobuf.SymbolVisibility|null);
         }
 
         /** Represents an EnumDescriptorProto. */
@@ -58313,6 +58707,9 @@ export namespace google {
             /** EnumDescriptorProto reservedName. */
             public reservedName: string[];
 
+            /** EnumDescriptorProto visibility. */
+            public visibility: (google.protobuf.SymbolVisibility|keyof typeof google.protobuf.SymbolVisibility);
+
             /**
              * Creates a new EnumDescriptorProto instance using the specified properties.
              * @param [properties] Properties to set
@@ -59247,6 +59644,9 @@ export namespace google {
             /** FieldOptions features */
             features?: (google.protobuf.IFeatureSet|null);
 
+            /** FieldOptions featureSupport */
+            featureSupport?: (google.protobuf.FieldOptions.IFeatureSupport|null);
+
             /** FieldOptions uninterpretedOption */
             uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null);
 
@@ -59305,6 +59705,9 @@ export namespace google {
             /** FieldOptions features. */
             public features?: (google.protobuf.IFeatureSet|null);
 
+            /** FieldOptions featureSupport. */
+            public featureSupport?: (google.protobuf.FieldOptions.IFeatureSupport|null);
+
             /** FieldOptions uninterpretedOption. */
             public uninterpretedOption: google.protobuf.IUninterpretedOption[];
 
@@ -59525,6 +59928,121 @@ export namespace google {
                  */
                 public static getTypeUrl(typeUrlPrefix?: string): string;
             }
+
+            /** Properties of a FeatureSupport. */
+            interface IFeatureSupport {
+
+                /** FeatureSupport editionIntroduced */
+                editionIntroduced?: (google.protobuf.Edition|keyof typeof google.protobuf.Edition|null);
+
+                /** FeatureSupport editionDeprecated */
+                editionDeprecated?: (google.protobuf.Edition|keyof typeof google.protobuf.Edition|null);
+
+                /** FeatureSupport deprecationWarning */
+                deprecationWarning?: (string|null);
+
+                /** FeatureSupport editionRemoved */
+                editionRemoved?: (google.protobuf.Edition|keyof typeof google.protobuf.Edition|null);
+            }
+
+            /** Represents a FeatureSupport. */
+            class FeatureSupport implements IFeatureSupport {
+
+                /**
+                 * Constructs a new FeatureSupport.
+                 * @param [properties] Properties to set
+                 */
+                constructor(properties?: google.protobuf.FieldOptions.IFeatureSupport);
+
+                /** FeatureSupport editionIntroduced. */
+                public editionIntroduced: (google.protobuf.Edition|keyof typeof google.protobuf.Edition);
+
+                /** FeatureSupport editionDeprecated. */
+                public editionDeprecated: (google.protobuf.Edition|keyof typeof google.protobuf.Edition);
+
+                /** FeatureSupport deprecationWarning. */
+                public deprecationWarning: string;
+
+                /** FeatureSupport editionRemoved. */
+                public editionRemoved: (google.protobuf.Edition|keyof typeof google.protobuf.Edition);
+
+                /**
+                 * Creates a new FeatureSupport instance using the specified properties.
+                 * @param [properties] Properties to set
+                 * @returns FeatureSupport instance
+                 */
+                public static create(properties?: google.protobuf.FieldOptions.IFeatureSupport): google.protobuf.FieldOptions.FeatureSupport;
+
+                /**
+                 * Encodes the specified FeatureSupport message. Does not implicitly {@link google.protobuf.FieldOptions.FeatureSupport.verify|verify} messages.
+                 * @param message FeatureSupport message or plain object to encode
+                 * @param [writer] Writer to encode to
+                 * @returns Writer
+                 */
+                public static encode(message: google.protobuf.FieldOptions.IFeatureSupport, writer?: $protobuf.Writer): $protobuf.Writer;
+
+                /**
+                 * Encodes the specified FeatureSupport message, length delimited. Does not implicitly {@link google.protobuf.FieldOptions.FeatureSupport.verify|verify} messages.
+                 * @param message FeatureSupport message or plain object to encode
+                 * @param [writer] Writer to encode to
+                 * @returns Writer
+                 */
+                public static encodeDelimited(message: google.protobuf.FieldOptions.IFeatureSupport, writer?: $protobuf.Writer): $protobuf.Writer;
+
+                /**
+                 * Decodes a FeatureSupport message from the specified reader or buffer.
+                 * @param reader Reader or buffer to decode from
+                 * @param [length] Message length if known beforehand
+                 * @returns FeatureSupport
+                 * @throws {Error} If the payload is not a reader or valid buffer
+                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
+                 */
+                public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.FieldOptions.FeatureSupport;
+
+                /**
+                 * Decodes a FeatureSupport message from the specified reader or buffer, length delimited.
+                 * @param reader Reader or buffer to decode from
+                 * @returns FeatureSupport
+                 * @throws {Error} If the payload is not a reader or valid buffer
+                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
+                 */
+                public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.FieldOptions.FeatureSupport;
+
+                /**
+                 * Verifies a FeatureSupport message.
+                 * @param message Plain object to verify
+                 * @returns `null` if valid, otherwise the reason why it is not
+                 */
+                public static verify(message: { [k: string]: any }): (string|null);
+
+                /**
+                 * Creates a FeatureSupport message from a plain object. Also converts values to their respective internal types.
+                 * @param object Plain object
+                 * @returns FeatureSupport
+                 */
+                public static fromObject(object: { [k: string]: any }): google.protobuf.FieldOptions.FeatureSupport;
+
+                /**
+                 * Creates a plain object from a FeatureSupport message. Also converts values to other types if specified.
+                 * @param message FeatureSupport
+                 * @param [options] Conversion options
+                 * @returns Plain object
+                 */
+                public static toObject(message: google.protobuf.FieldOptions.FeatureSupport, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+                /**
+                 * Converts this FeatureSupport to JSON.
+                 * @returns JSON object
+                 */
+                public toJSON(): { [k: string]: any };
+
+                /**
+                 * Gets the default type url for FeatureSupport
+                 * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+                 * @returns The default type url
+                 */
+                public static getTypeUrl(typeUrlPrefix?: string): string;
+            }
         }
 
         /** Properties of an OneofOptions. */
@@ -59763,6 +60281,9 @@ export namespace google {
             /** EnumValueOptions debugRedact */
             debugRedact?: (boolean|null);
 
+            /** EnumValueOptions featureSupport */
+            featureSupport?: (google.protobuf.FieldOptions.IFeatureSupport|null);
+
             /** EnumValueOptions uninterpretedOption */
             uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null);
         }
@@ -59785,6 +60306,9 @@ export namespace google {
             /** EnumValueOptions debugRedact. */
             public debugRedact: boolean;
 
+            /** EnumValueOptions featureSupport. */
+            public featureSupport?: (google.protobuf.FieldOptions.IFeatureSupport|null);
+
             /** EnumValueOptions uninterpretedOption. */
             public uninterpretedOption: google.protobuf.IUninterpretedOption[];
 
@@ -60374,6 +60898,12 @@ export namespace google {
 
             /** FeatureSet jsonFormat */
             jsonFormat?: (google.protobuf.FeatureSet.JsonFormat|keyof typeof google.protobuf.FeatureSet.JsonFormat|null);
+
+            /** FeatureSet enforceNamingStyle */
+            enforceNamingStyle?: (google.protobuf.FeatureSet.EnforceNamingStyle|keyof typeof google.protobuf.FeatureSet.EnforceNamingStyle|null);
+
+            /** FeatureSet defaultSymbolVisibility */
+            defaultSymbolVisibility?: (google.protobuf.FeatureSet.VisibilityFeature.DefaultSymbolVisibility|keyof typeof google.protobuf.FeatureSet.VisibilityFeature.DefaultSymbolVisibility|null);
         }
 
         /** Represents a FeatureSet. */
@@ -60403,6 +60933,12 @@ export namespace google {
             /** FeatureSet jsonFormat. */
             public jsonFormat: (google.protobuf.FeatureSet.JsonFormat|keyof typeof google.protobuf.FeatureSet.JsonFormat);
 
+            /** FeatureSet enforceNamingStyle. */
+            public enforceNamingStyle: (google.protobuf.FeatureSet.EnforceNamingStyle|keyof typeof google.protobuf.FeatureSet.EnforceNamingStyle);
+
+            /** FeatureSet defaultSymbolVisibility. */
+            public defaultSymbolVisibility: (google.protobuf.FeatureSet.VisibilityFeature.DefaultSymbolVisibility|keyof typeof google.protobuf.FeatureSet.VisibilityFeature.DefaultSymbolVisibility);
+
             /**
              * Creates a new FeatureSet instance using the specified properties.
              * @param [properties] Properties to set
@@ -60525,6 +61061,116 @@ export namespace google {
                 ALLOW = 1,
                 LEGACY_BEST_EFFORT = 2
             }
+
+            /** EnforceNamingStyle enum. */
+            enum EnforceNamingStyle {
+                ENFORCE_NAMING_STYLE_UNKNOWN = 0,
+                STYLE2024 = 1,
+                STYLE_LEGACY = 2
+            }
+
+            /** Properties of a VisibilityFeature. */
+            interface IVisibilityFeature {
+            }
+
+            /** Represents a VisibilityFeature. */
+            class VisibilityFeature implements IVisibilityFeature {
+
+                /**
+                 * Constructs a new VisibilityFeature.
+                 * @param [properties] Properties to set
+                 */
+                constructor(properties?: google.protobuf.FeatureSet.IVisibilityFeature);
+
+                /**
+                 * Creates a new VisibilityFeature instance using the specified properties.
+                 * @param [properties] Properties to set
+                 * @returns VisibilityFeature instance
+                 */
+                public static create(properties?: google.protobuf.FeatureSet.IVisibilityFeature): google.protobuf.FeatureSet.VisibilityFeature;
+
+                /**
+                 * Encodes the specified VisibilityFeature message. Does not implicitly {@link google.protobuf.FeatureSet.VisibilityFeature.verify|verify} messages.
+                 * @param message VisibilityFeature message or plain object to encode
+                 * @param [writer] Writer to encode to
+                 * @returns Writer
+                 */
+                public static encode(message: google.protobuf.FeatureSet.IVisibilityFeature, writer?: $protobuf.Writer): $protobuf.Writer;
+
+                /**
+                 * Encodes the specified VisibilityFeature message, length delimited. Does not implicitly {@link google.protobuf.FeatureSet.VisibilityFeature.verify|verify} messages.
+                 * @param message VisibilityFeature message or plain object to encode
+                 * @param [writer] Writer to encode to
+                 * @returns Writer
+                 */
+                public static encodeDelimited(message: google.protobuf.FeatureSet.IVisibilityFeature, writer?: $protobuf.Writer): $protobuf.Writer;
+
+                /**
+                 * Decodes a VisibilityFeature message from the specified reader or buffer.
+                 * @param reader Reader or buffer to decode from
+                 * @param [length] Message length if known beforehand
+                 * @returns VisibilityFeature
+                 * @throws {Error} If the payload is not a reader or valid buffer
+                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
+                 */
+                public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.FeatureSet.VisibilityFeature;
+
+                /**
+                 * Decodes a VisibilityFeature message from the specified reader or buffer, length delimited.
+                 * @param reader Reader or buffer to decode from
+                 * @returns VisibilityFeature
+                 * @throws {Error} If the payload is not a reader or valid buffer
+                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
+                 */
+                public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.FeatureSet.VisibilityFeature;
+
+                /**
+                 * Verifies a VisibilityFeature message.
+                 * @param message Plain object to verify
+                 * @returns `null` if valid, otherwise the reason why it is not
+                 */
+                public static verify(message: { [k: string]: any }): (string|null);
+
+                /**
+                 * Creates a VisibilityFeature message from a plain object. Also converts values to their respective internal types.
+                 * @param object Plain object
+                 * @returns VisibilityFeature
+                 */
+                public static fromObject(object: { [k: string]: any }): google.protobuf.FeatureSet.VisibilityFeature;
+
+                /**
+                 * Creates a plain object from a VisibilityFeature message. Also converts values to other types if specified.
+                 * @param message VisibilityFeature
+                 * @param [options] Conversion options
+                 * @returns Plain object
+                 */
+                public static toObject(message: google.protobuf.FeatureSet.VisibilityFeature, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+                /**
+                 * Converts this VisibilityFeature to JSON.
+                 * @returns JSON object
+                 */
+                public toJSON(): { [k: string]: any };
+
+                /**
+                 * Gets the default type url for VisibilityFeature
+                 * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+                 * @returns The default type url
+                 */
+                public static getTypeUrl(typeUrlPrefix?: string): string;
+            }
+
+            namespace VisibilityFeature {
+
+                /** DefaultSymbolVisibility enum. */
+                enum DefaultSymbolVisibility {
+                    DEFAULT_SYMBOL_VISIBILITY_UNKNOWN = 0,
+                    EXPORT_ALL = 1,
+                    EXPORT_TOP_LEVEL = 2,
+                    LOCAL_ALL = 3,
+                    STRICT = 4
+                }
+            }
         }
 
         /** Properties of a FeatureSetDefaults. */
@@ -60644,8 +61290,11 @@ export namespace google {
                 /** FeatureSetEditionDefault edition */
                 edition?: (google.protobuf.Edition|keyof typeof google.protobuf.Edition|null);
 
-                /** FeatureSetEditionDefault features */
-                features?: (google.protobuf.IFeatureSet|null);
+                /** FeatureSetEditionDefault overridableFeatures */
+                overridableFeatures?: (google.protobuf.IFeatureSet|null);
+
+                /** FeatureSetEditionDefault fixedFeatures */
+                fixedFeatures?: (google.protobuf.IFeatureSet|null);
             }
 
             /** Represents a FeatureSetEditionDefault. */
@@ -60660,8 +61309,11 @@ export namespace google {
                 /** FeatureSetEditionDefault edition. */
                 public edition: (google.protobuf.Edition|keyof typeof google.protobuf.Edition);
 
-                /** FeatureSetEditionDefault features. */
-                public features?: (google.protobuf.IFeatureSet|null);
+                /** FeatureSetEditionDefault overridableFeatures. */
+                public overridableFeatures?: (google.protobuf.IFeatureSet|null);
+
+                /** FeatureSetEditionDefault fixedFeatures. */
+                public fixedFeatures?: (google.protobuf.IFeatureSet|null);
 
                 /**
                  * Creates a new FeatureSetEditionDefault instance using the specified properties.
@@ -61194,6 +61846,13 @@ export namespace google {
             }
         }
 
+        /** SymbolVisibility enum. */
+        enum SymbolVisibility {
+            VISIBILITY_UNSET = 0,
+            VISIBILITY_LOCAL = 1,
+            VISIBILITY_EXPORT = 2
+        }
+
         /** Properties of a Duration. */
         interface IDuration {
 
diff --git a/packages/google-cloud-sql/protos/protos.js b/packages/google-cloud-sql/protos/protos.js
index e2514df66382..3f6419a917f4 100644
--- a/packages/google-cloud-sql/protos/protos.js
+++ b/packages/google-cloud-sql/protos/protos.js
@@ -290,7 +290,7 @@
                         function SqlBackupRunsDeleteRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -375,9 +375,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlBackupRunsDeleteRequest.decode = function decode(reader, length, error) {
+                        SqlBackupRunsDeleteRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.SqlBackupRunsDeleteRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -397,7 +401,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -428,9 +432,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlBackupRunsDeleteRequest.verify = function verify(message) {
+                        SqlBackupRunsDeleteRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.id != null && message.hasOwnProperty("id"))
                                 if (!$util.isInteger(message.id) && !(message.id && $util.isInteger(message.id.low) && $util.isInteger(message.id.high)))
                                     return "id: integer|Long expected";
@@ -451,9 +459,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.SqlBackupRunsDeleteRequest} SqlBackupRunsDeleteRequest
                          */
-                        SqlBackupRunsDeleteRequest.fromObject = function fromObject(object) {
+                        SqlBackupRunsDeleteRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.SqlBackupRunsDeleteRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.SqlBackupRunsDeleteRequest();
                             if (object.id != null)
                                 if ($util.Long)
@@ -556,7 +568,7 @@
                         function SqlBackupRunsGetRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -641,9 +653,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlBackupRunsGetRequest.decode = function decode(reader, length, error) {
+                        SqlBackupRunsGetRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.SqlBackupRunsGetRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -663,7 +679,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -694,9 +710,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlBackupRunsGetRequest.verify = function verify(message) {
+                        SqlBackupRunsGetRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.id != null && message.hasOwnProperty("id"))
                                 if (!$util.isInteger(message.id) && !(message.id && $util.isInteger(message.id.low) && $util.isInteger(message.id.high)))
                                     return "id: integer|Long expected";
@@ -717,9 +737,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.SqlBackupRunsGetRequest} SqlBackupRunsGetRequest
                          */
-                        SqlBackupRunsGetRequest.fromObject = function fromObject(object) {
+                        SqlBackupRunsGetRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.SqlBackupRunsGetRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.SqlBackupRunsGetRequest();
                             if (object.id != null)
                                 if ($util.Long)
@@ -822,7 +846,7 @@
                         function SqlBackupRunsInsertRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -907,9 +931,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlBackupRunsInsertRequest.decode = function decode(reader, length, error) {
+                        SqlBackupRunsInsertRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.SqlBackupRunsInsertRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -925,11 +953,11 @@
                                         break;
                                     }
                                 case 100: {
-                                        message.body = $root.google.cloud.sql.v1.BackupRun.decode(reader, reader.uint32());
+                                        message.body = $root.google.cloud.sql.v1.BackupRun.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -960,9 +988,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlBackupRunsInsertRequest.verify = function verify(message) {
+                        SqlBackupRunsInsertRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.instance != null && message.hasOwnProperty("instance"))
                                 if (!$util.isString(message.instance))
                                     return "instance: string expected";
@@ -970,7 +1002,7 @@
                                 if (!$util.isString(message.project))
                                     return "project: string expected";
                             if (message.body != null && message.hasOwnProperty("body")) {
-                                var error = $root.google.cloud.sql.v1.BackupRun.verify(message.body);
+                                var error = $root.google.cloud.sql.v1.BackupRun.verify(message.body, long + 1);
                                 if (error)
                                     return "body." + error;
                             }
@@ -985,9 +1017,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.SqlBackupRunsInsertRequest} SqlBackupRunsInsertRequest
                          */
-                        SqlBackupRunsInsertRequest.fromObject = function fromObject(object) {
+                        SqlBackupRunsInsertRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.SqlBackupRunsInsertRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.SqlBackupRunsInsertRequest();
                             if (object.instance != null)
                                 message.instance = String(object.instance);
@@ -996,7 +1032,7 @@
                             if (object.body != null) {
                                 if (typeof object.body !== "object")
                                     throw TypeError(".google.cloud.sql.v1.SqlBackupRunsInsertRequest.body: object expected");
-                                message.body = $root.google.cloud.sql.v1.BackupRun.fromObject(object.body);
+                                message.body = $root.google.cloud.sql.v1.BackupRun.fromObject(object.body, long + 1);
                             }
                             return message;
                         };
@@ -1080,7 +1116,7 @@
                         function SqlBackupRunsListRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -1175,9 +1211,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlBackupRunsListRequest.decode = function decode(reader, length, error) {
+                        SqlBackupRunsListRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.SqlBackupRunsListRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -1201,7 +1241,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -1232,9 +1272,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlBackupRunsListRequest.verify = function verify(message) {
+                        SqlBackupRunsListRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.instance != null && message.hasOwnProperty("instance"))
                                 if (!$util.isString(message.instance))
                                     return "instance: string expected";
@@ -1258,9 +1302,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.SqlBackupRunsListRequest} SqlBackupRunsListRequest
                          */
-                        SqlBackupRunsListRequest.fromObject = function fromObject(object) {
+                        SqlBackupRunsListRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.SqlBackupRunsListRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.SqlBackupRunsListRequest();
                             if (object.instance != null)
                                 message.instance = String(object.instance);
@@ -1370,7 +1418,7 @@
                         function BackupRun(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -1624,9 +1672,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        BackupRun.decode = function decode(reader, length, error) {
+                        BackupRun.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.BackupRun();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -1642,7 +1694,7 @@
                                         break;
                                     }
                                 case 3: {
-                                        message.enqueuedTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+                                        message.enqueuedTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 4: {
@@ -1650,15 +1702,15 @@
                                         break;
                                     }
                                 case 5: {
-                                        message.startTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+                                        message.startTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 6: {
-                                        message.endTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+                                        message.endTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 7: {
-                                        message.error = $root.google.cloud.sql.v1.OperationError.decode(reader, reader.uint32());
+                                        message.error = $root.google.cloud.sql.v1.OperationError.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 8: {
@@ -1670,7 +1722,7 @@
                                         break;
                                     }
                                 case 10: {
-                                        message.windowStartTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+                                        message.windowStartTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 11: {
@@ -1690,11 +1742,11 @@
                                         break;
                                     }
                                 case 16: {
-                                        message.diskEncryptionConfiguration = $root.google.cloud.sql.v1.DiskEncryptionConfiguration.decode(reader, reader.uint32());
+                                        message.diskEncryptionConfiguration = $root.google.cloud.sql.v1.DiskEncryptionConfiguration.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 17: {
-                                        message.diskEncryptionStatus = $root.google.cloud.sql.v1.DiskEncryptionStatus.decode(reader, reader.uint32());
+                                        message.diskEncryptionStatus = $root.google.cloud.sql.v1.DiskEncryptionStatus.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 19: {
@@ -1710,7 +1762,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -1741,9 +1793,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        BackupRun.verify = function verify(message) {
+                        BackupRun.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             var properties = {};
                             if (message.kind != null && message.hasOwnProperty("kind"))
                                 if (!$util.isString(message.kind))
@@ -1765,7 +1821,7 @@
                                     break;
                                 }
                             if (message.enqueuedTime != null && message.hasOwnProperty("enqueuedTime")) {
-                                var error = $root.google.protobuf.Timestamp.verify(message.enqueuedTime);
+                                var error = $root.google.protobuf.Timestamp.verify(message.enqueuedTime, long + 1);
                                 if (error)
                                     return "enqueuedTime." + error;
                             }
@@ -1773,17 +1829,17 @@
                                 if (!$util.isInteger(message.id) && !(message.id && $util.isInteger(message.id.low) && $util.isInteger(message.id.high)))
                                     return "id: integer|Long expected";
                             if (message.startTime != null && message.hasOwnProperty("startTime")) {
-                                var error = $root.google.protobuf.Timestamp.verify(message.startTime);
+                                var error = $root.google.protobuf.Timestamp.verify(message.startTime, long + 1);
                                 if (error)
                                     return "startTime." + error;
                             }
                             if (message.endTime != null && message.hasOwnProperty("endTime")) {
-                                var error = $root.google.protobuf.Timestamp.verify(message.endTime);
+                                var error = $root.google.protobuf.Timestamp.verify(message.endTime, long + 1);
                                 if (error)
                                     return "endTime." + error;
                             }
                             if (message.error != null && message.hasOwnProperty("error")) {
-                                var error = $root.google.cloud.sql.v1.OperationError.verify(message.error);
+                                var error = $root.google.cloud.sql.v1.OperationError.verify(message.error, long + 1);
                                 if (error)
                                     return "error." + error;
                             }
@@ -1800,7 +1856,7 @@
                                 if (!$util.isString(message.description))
                                     return "description: string expected";
                             if (message.windowStartTime != null && message.hasOwnProperty("windowStartTime")) {
-                                var error = $root.google.protobuf.Timestamp.verify(message.windowStartTime);
+                                var error = $root.google.protobuf.Timestamp.verify(message.windowStartTime, long + 1);
                                 if (error)
                                     return "windowStartTime." + error;
                             }
@@ -1860,6 +1916,7 @@
                                 case 272:
                                 case 408:
                                 case 557:
+                                case 684:
                                 case 26:
                                 case 27:
                                 case 28:
@@ -1868,15 +1925,18 @@
                                 case 200:
                                 case 201:
                                 case 202:
+                                case 549:
+                                case 550:
+                                case 551:
                                     break;
                                 }
                             if (message.diskEncryptionConfiguration != null && message.hasOwnProperty("diskEncryptionConfiguration")) {
-                                var error = $root.google.cloud.sql.v1.DiskEncryptionConfiguration.verify(message.diskEncryptionConfiguration);
+                                var error = $root.google.cloud.sql.v1.DiskEncryptionConfiguration.verify(message.diskEncryptionConfiguration, long + 1);
                                 if (error)
                                     return "diskEncryptionConfiguration." + error;
                             }
                             if (message.diskEncryptionStatus != null && message.hasOwnProperty("diskEncryptionStatus")) {
-                                var error = $root.google.cloud.sql.v1.DiskEncryptionStatus.verify(message.diskEncryptionStatus);
+                                var error = $root.google.cloud.sql.v1.DiskEncryptionStatus.verify(message.diskEncryptionStatus, long + 1);
                                 if (error)
                                     return "diskEncryptionStatus." + error;
                             }
@@ -1908,9 +1968,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.BackupRun} BackupRun
                          */
-                        BackupRun.fromObject = function fromObject(object) {
+                        BackupRun.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.BackupRun)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.BackupRun();
                             if (object.kind != null)
                                 message.kind = String(object.kind);
@@ -1965,7 +2029,7 @@
                             if (object.enqueuedTime != null) {
                                 if (typeof object.enqueuedTime !== "object")
                                     throw TypeError(".google.cloud.sql.v1.BackupRun.enqueuedTime: object expected");
-                                message.enqueuedTime = $root.google.protobuf.Timestamp.fromObject(object.enqueuedTime);
+                                message.enqueuedTime = $root.google.protobuf.Timestamp.fromObject(object.enqueuedTime, long + 1);
                             }
                             if (object.id != null)
                                 if ($util.Long)
@@ -1979,17 +2043,17 @@
                             if (object.startTime != null) {
                                 if (typeof object.startTime !== "object")
                                     throw TypeError(".google.cloud.sql.v1.BackupRun.startTime: object expected");
-                                message.startTime = $root.google.protobuf.Timestamp.fromObject(object.startTime);
+                                message.startTime = $root.google.protobuf.Timestamp.fromObject(object.startTime, long + 1);
                             }
                             if (object.endTime != null) {
                                 if (typeof object.endTime !== "object")
                                     throw TypeError(".google.cloud.sql.v1.BackupRun.endTime: object expected");
-                                message.endTime = $root.google.protobuf.Timestamp.fromObject(object.endTime);
+                                message.endTime = $root.google.protobuf.Timestamp.fromObject(object.endTime, long + 1);
                             }
                             if (object.error != null) {
                                 if (typeof object.error !== "object")
                                     throw TypeError(".google.cloud.sql.v1.BackupRun.error: object expected");
-                                message.error = $root.google.cloud.sql.v1.OperationError.fromObject(object.error);
+                                message.error = $root.google.cloud.sql.v1.OperationError.fromObject(object.error, long + 1);
                             }
                             switch (object.type) {
                             default:
@@ -2016,7 +2080,7 @@
                             if (object.windowStartTime != null) {
                                 if (typeof object.windowStartTime !== "object")
                                     throw TypeError(".google.cloud.sql.v1.BackupRun.windowStartTime: object expected");
-                                message.windowStartTime = $root.google.protobuf.Timestamp.fromObject(object.windowStartTime);
+                                message.windowStartTime = $root.google.protobuf.Timestamp.fromObject(object.windowStartTime, long + 1);
                             }
                             if (object.instance != null)
                                 message.instance = String(object.instance);
@@ -2203,6 +2267,10 @@
                             case 557:
                                 message.databaseVersion = 557;
                                 break;
+                            case "POSTGRES_19":
+                            case 684:
+                                message.databaseVersion = 684;
+                                break;
                             case "SQLSERVER_2019_STANDARD":
                             case 26:
                                 message.databaseVersion = 26;
@@ -2235,16 +2303,28 @@
                             case 202:
                                 message.databaseVersion = 202;
                                 break;
+                            case "SQLSERVER_2025_STANDARD":
+                            case 549:
+                                message.databaseVersion = 549;
+                                break;
+                            case "SQLSERVER_2025_ENTERPRISE":
+                            case 550:
+                                message.databaseVersion = 550;
+                                break;
+                            case "SQLSERVER_2025_EXPRESS":
+                            case 551:
+                                message.databaseVersion = 551;
+                                break;
                             }
                             if (object.diskEncryptionConfiguration != null) {
                                 if (typeof object.diskEncryptionConfiguration !== "object")
                                     throw TypeError(".google.cloud.sql.v1.BackupRun.diskEncryptionConfiguration: object expected");
-                                message.diskEncryptionConfiguration = $root.google.cloud.sql.v1.DiskEncryptionConfiguration.fromObject(object.diskEncryptionConfiguration);
+                                message.diskEncryptionConfiguration = $root.google.cloud.sql.v1.DiskEncryptionConfiguration.fromObject(object.diskEncryptionConfiguration, long + 1);
                             }
                             if (object.diskEncryptionStatus != null) {
                                 if (typeof object.diskEncryptionStatus !== "object")
                                     throw TypeError(".google.cloud.sql.v1.BackupRun.diskEncryptionStatus: object expected");
-                                message.diskEncryptionStatus = $root.google.cloud.sql.v1.DiskEncryptionStatus.fromObject(object.diskEncryptionStatus);
+                                message.diskEncryptionStatus = $root.google.cloud.sql.v1.DiskEncryptionStatus.fromObject(object.diskEncryptionStatus, long + 1);
                             }
                             switch (object.backupKind) {
                             default:
@@ -2419,7 +2499,7 @@
                             this.items = [];
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -2505,9 +2585,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        BackupRunsListResponse.decode = function decode(reader, length, error) {
+                        BackupRunsListResponse.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.BackupRunsListResponse();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -2521,7 +2605,7 @@
                                 case 2: {
                                         if (!(message.items && message.items.length))
                                             message.items = [];
-                                        message.items.push($root.google.cloud.sql.v1.BackupRun.decode(reader, reader.uint32()));
+                                        message.items.push($root.google.cloud.sql.v1.BackupRun.decode(reader, reader.uint32(), undefined, long + 1));
                                         break;
                                     }
                                 case 3: {
@@ -2529,7 +2613,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -2560,9 +2644,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        BackupRunsListResponse.verify = function verify(message) {
+                        BackupRunsListResponse.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.kind != null && message.hasOwnProperty("kind"))
                                 if (!$util.isString(message.kind))
                                     return "kind: string expected";
@@ -2570,7 +2658,7 @@
                                 if (!Array.isArray(message.items))
                                     return "items: array expected";
                                 for (var i = 0; i < message.items.length; ++i) {
-                                    var error = $root.google.cloud.sql.v1.BackupRun.verify(message.items[i]);
+                                    var error = $root.google.cloud.sql.v1.BackupRun.verify(message.items[i], long + 1);
                                     if (error)
                                         return "items." + error;
                                 }
@@ -2589,9 +2677,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.BackupRunsListResponse} BackupRunsListResponse
                          */
-                        BackupRunsListResponse.fromObject = function fromObject(object) {
+                        BackupRunsListResponse.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.BackupRunsListResponse)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.BackupRunsListResponse();
                             if (object.kind != null)
                                 message.kind = String(object.kind);
@@ -2602,7 +2694,7 @@
                                 for (var i = 0; i < object.items.length; ++i) {
                                     if (typeof object.items[i] !== "object")
                                         throw TypeError(".google.cloud.sql.v1.BackupRunsListResponse.items: object expected");
-                                    message.items[i] = $root.google.cloud.sql.v1.BackupRun.fromObject(object.items[i]);
+                                    message.items[i] = $root.google.cloud.sql.v1.BackupRun.fromObject(object.items[i], long + 1);
                                 }
                             }
                             if (object.nextPageToken != null)
@@ -2755,7 +2847,7 @@
                         function AclEntry(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -2850,9 +2942,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        AclEntry.decode = function decode(reader, length, error) {
+                        AclEntry.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.AclEntry();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -2864,7 +2960,7 @@
                                         break;
                                     }
                                 case 2: {
-                                        message.expirationTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+                                        message.expirationTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 3: {
@@ -2876,7 +2972,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -2907,14 +3003,18 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        AclEntry.verify = function verify(message) {
+                        AclEntry.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.value != null && message.hasOwnProperty("value"))
                                 if (!$util.isString(message.value))
                                     return "value: string expected";
                             if (message.expirationTime != null && message.hasOwnProperty("expirationTime")) {
-                                var error = $root.google.protobuf.Timestamp.verify(message.expirationTime);
+                                var error = $root.google.protobuf.Timestamp.verify(message.expirationTime, long + 1);
                                 if (error)
                                     return "expirationTime." + error;
                             }
@@ -2935,16 +3035,20 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.AclEntry} AclEntry
                          */
-                        AclEntry.fromObject = function fromObject(object) {
+                        AclEntry.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.AclEntry)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.AclEntry();
                             if (object.value != null)
                                 message.value = String(object.value);
                             if (object.expirationTime != null) {
                                 if (typeof object.expirationTime !== "object")
                                     throw TypeError(".google.cloud.sql.v1.AclEntry.expirationTime: object expected");
-                                message.expirationTime = $root.google.protobuf.Timestamp.fromObject(object.expirationTime);
+                                message.expirationTime = $root.google.protobuf.Timestamp.fromObject(object.expirationTime, long + 1);
                             }
                             if (object.name != null)
                                 message.name = String(object.name);
@@ -3034,7 +3138,7 @@
                         function ApiWarning(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -3119,9 +3223,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        ApiWarning.decode = function decode(reader, length, error) {
+                        ApiWarning.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.ApiWarning();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -3141,7 +3249,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -3172,9 +3280,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        ApiWarning.verify = function verify(message) {
+                        ApiWarning.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.code != null && message.hasOwnProperty("code"))
                                 switch (message.code) {
                                 default:
@@ -3203,9 +3315,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.ApiWarning} ApiWarning
                          */
-                        ApiWarning.fromObject = function fromObject(object) {
+                        ApiWarning.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.ApiWarning)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.ApiWarning();
                             switch (object.code) {
                             default:
@@ -3339,7 +3455,7 @@
                         function BackupRetentionSettings(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -3414,9 +3530,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        BackupRetentionSettings.decode = function decode(reader, length, error) {
+                        BackupRetentionSettings.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.BackupRetentionSettings();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -3428,11 +3548,11 @@
                                         break;
                                     }
                                 case 2: {
-                                        message.retainedBackups = $root.google.protobuf.Int32Value.decode(reader, reader.uint32());
+                                        message.retainedBackups = $root.google.protobuf.Int32Value.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -3463,9 +3583,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        BackupRetentionSettings.verify = function verify(message) {
+                        BackupRetentionSettings.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.retentionUnit != null && message.hasOwnProperty("retentionUnit"))
                                 switch (message.retentionUnit) {
                                 default:
@@ -3475,7 +3599,7 @@
                                     break;
                                 }
                             if (message.retainedBackups != null && message.hasOwnProperty("retainedBackups")) {
-                                var error = $root.google.protobuf.Int32Value.verify(message.retainedBackups);
+                                var error = $root.google.protobuf.Int32Value.verify(message.retainedBackups, long + 1);
                                 if (error)
                                     return "retainedBackups." + error;
                             }
@@ -3490,9 +3614,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.BackupRetentionSettings} BackupRetentionSettings
                          */
-                        BackupRetentionSettings.fromObject = function fromObject(object) {
+                        BackupRetentionSettings.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.BackupRetentionSettings)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.BackupRetentionSettings();
                             switch (object.retentionUnit) {
                             default:
@@ -3513,7 +3641,7 @@
                             if (object.retainedBackups != null) {
                                 if (typeof object.retainedBackups !== "object")
                                     throw TypeError(".google.cloud.sql.v1.BackupRetentionSettings.retainedBackups: object expected");
-                                message.retainedBackups = $root.google.protobuf.Int32Value.fromObject(object.retainedBackups);
+                                message.retainedBackups = $root.google.protobuf.Int32Value.fromObject(object.retainedBackups, long + 1);
                             }
                             return message;
                         };
@@ -3615,7 +3743,7 @@
                         function BackupConfiguration(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -3795,9 +3923,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        BackupConfiguration.decode = function decode(reader, length, error) {
+                        BackupConfiguration.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.BackupConfiguration();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -3809,7 +3941,7 @@
                                         break;
                                     }
                                 case 2: {
-                                        message.enabled = $root.google.protobuf.BoolValue.decode(reader, reader.uint32());
+                                        message.enabled = $root.google.protobuf.BoolValue.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 3: {
@@ -3817,11 +3949,11 @@
                                         break;
                                     }
                                 case 4: {
-                                        message.binaryLogEnabled = $root.google.protobuf.BoolValue.decode(reader, reader.uint32());
+                                        message.binaryLogEnabled = $root.google.protobuf.BoolValue.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 5: {
-                                        message.replicationLogArchivingEnabled = $root.google.protobuf.BoolValue.decode(reader, reader.uint32());
+                                        message.replicationLogArchivingEnabled = $root.google.protobuf.BoolValue.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 6: {
@@ -3829,15 +3961,15 @@
                                         break;
                                     }
                                 case 7: {
-                                        message.pointInTimeRecoveryEnabled = $root.google.protobuf.BoolValue.decode(reader, reader.uint32());
+                                        message.pointInTimeRecoveryEnabled = $root.google.protobuf.BoolValue.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 8: {
-                                        message.backupRetentionSettings = $root.google.cloud.sql.v1.BackupRetentionSettings.decode(reader, reader.uint32());
+                                        message.backupRetentionSettings = $root.google.cloud.sql.v1.BackupRetentionSettings.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 9: {
-                                        message.transactionLogRetentionDays = $root.google.protobuf.Int32Value.decode(reader, reader.uint32());
+                                        message.transactionLogRetentionDays = $root.google.protobuf.Int32Value.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 10: {
@@ -3849,7 +3981,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -3880,15 +4012,19 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        BackupConfiguration.verify = function verify(message) {
+                        BackupConfiguration.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             var properties = {};
                             if (message.startTime != null && message.hasOwnProperty("startTime"))
                                 if (!$util.isString(message.startTime))
                                     return "startTime: string expected";
                             if (message.enabled != null && message.hasOwnProperty("enabled")) {
-                                var error = $root.google.protobuf.BoolValue.verify(message.enabled);
+                                var error = $root.google.protobuf.BoolValue.verify(message.enabled, long + 1);
                                 if (error)
                                     return "enabled." + error;
                             }
@@ -3896,12 +4032,12 @@
                                 if (!$util.isString(message.kind))
                                     return "kind: string expected";
                             if (message.binaryLogEnabled != null && message.hasOwnProperty("binaryLogEnabled")) {
-                                var error = $root.google.protobuf.BoolValue.verify(message.binaryLogEnabled);
+                                var error = $root.google.protobuf.BoolValue.verify(message.binaryLogEnabled, long + 1);
                                 if (error)
                                     return "binaryLogEnabled." + error;
                             }
                             if (message.replicationLogArchivingEnabled != null && message.hasOwnProperty("replicationLogArchivingEnabled")) {
-                                var error = $root.google.protobuf.BoolValue.verify(message.replicationLogArchivingEnabled);
+                                var error = $root.google.protobuf.BoolValue.verify(message.replicationLogArchivingEnabled, long + 1);
                                 if (error)
                                     return "replicationLogArchivingEnabled." + error;
                             }
@@ -3909,17 +4045,17 @@
                                 if (!$util.isString(message.location))
                                     return "location: string expected";
                             if (message.pointInTimeRecoveryEnabled != null && message.hasOwnProperty("pointInTimeRecoveryEnabled")) {
-                                var error = $root.google.protobuf.BoolValue.verify(message.pointInTimeRecoveryEnabled);
+                                var error = $root.google.protobuf.BoolValue.verify(message.pointInTimeRecoveryEnabled, long + 1);
                                 if (error)
                                     return "pointInTimeRecoveryEnabled." + error;
                             }
                             if (message.backupRetentionSettings != null && message.hasOwnProperty("backupRetentionSettings")) {
-                                var error = $root.google.cloud.sql.v1.BackupRetentionSettings.verify(message.backupRetentionSettings);
+                                var error = $root.google.cloud.sql.v1.BackupRetentionSettings.verify(message.backupRetentionSettings, long + 1);
                                 if (error)
                                     return "backupRetentionSettings." + error;
                             }
                             if (message.transactionLogRetentionDays != null && message.hasOwnProperty("transactionLogRetentionDays")) {
-                                var error = $root.google.protobuf.Int32Value.verify(message.transactionLogRetentionDays);
+                                var error = $root.google.protobuf.Int32Value.verify(message.transactionLogRetentionDays, long + 1);
                                 if (error)
                                     return "transactionLogRetentionDays." + error;
                             }
@@ -3959,45 +4095,49 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.BackupConfiguration} BackupConfiguration
                          */
-                        BackupConfiguration.fromObject = function fromObject(object) {
+                        BackupConfiguration.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.BackupConfiguration)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.BackupConfiguration();
                             if (object.startTime != null)
                                 message.startTime = String(object.startTime);
                             if (object.enabled != null) {
                                 if (typeof object.enabled !== "object")
                                     throw TypeError(".google.cloud.sql.v1.BackupConfiguration.enabled: object expected");
-                                message.enabled = $root.google.protobuf.BoolValue.fromObject(object.enabled);
+                                message.enabled = $root.google.protobuf.BoolValue.fromObject(object.enabled, long + 1);
                             }
                             if (object.kind != null)
                                 message.kind = String(object.kind);
                             if (object.binaryLogEnabled != null) {
                                 if (typeof object.binaryLogEnabled !== "object")
                                     throw TypeError(".google.cloud.sql.v1.BackupConfiguration.binaryLogEnabled: object expected");
-                                message.binaryLogEnabled = $root.google.protobuf.BoolValue.fromObject(object.binaryLogEnabled);
+                                message.binaryLogEnabled = $root.google.protobuf.BoolValue.fromObject(object.binaryLogEnabled, long + 1);
                             }
                             if (object.replicationLogArchivingEnabled != null) {
                                 if (typeof object.replicationLogArchivingEnabled !== "object")
                                     throw TypeError(".google.cloud.sql.v1.BackupConfiguration.replicationLogArchivingEnabled: object expected");
-                                message.replicationLogArchivingEnabled = $root.google.protobuf.BoolValue.fromObject(object.replicationLogArchivingEnabled);
+                                message.replicationLogArchivingEnabled = $root.google.protobuf.BoolValue.fromObject(object.replicationLogArchivingEnabled, long + 1);
                             }
                             if (object.location != null)
                                 message.location = String(object.location);
                             if (object.pointInTimeRecoveryEnabled != null) {
                                 if (typeof object.pointInTimeRecoveryEnabled !== "object")
                                     throw TypeError(".google.cloud.sql.v1.BackupConfiguration.pointInTimeRecoveryEnabled: object expected");
-                                message.pointInTimeRecoveryEnabled = $root.google.protobuf.BoolValue.fromObject(object.pointInTimeRecoveryEnabled);
+                                message.pointInTimeRecoveryEnabled = $root.google.protobuf.BoolValue.fromObject(object.pointInTimeRecoveryEnabled, long + 1);
                             }
                             if (object.backupRetentionSettings != null) {
                                 if (typeof object.backupRetentionSettings !== "object")
                                     throw TypeError(".google.cloud.sql.v1.BackupConfiguration.backupRetentionSettings: object expected");
-                                message.backupRetentionSettings = $root.google.cloud.sql.v1.BackupRetentionSettings.fromObject(object.backupRetentionSettings);
+                                message.backupRetentionSettings = $root.google.cloud.sql.v1.BackupRetentionSettings.fromObject(object.backupRetentionSettings, long + 1);
                             }
                             if (object.transactionLogRetentionDays != null) {
                                 if (typeof object.transactionLogRetentionDays !== "object")
                                     throw TypeError(".google.cloud.sql.v1.BackupConfiguration.transactionLogRetentionDays: object expected");
-                                message.transactionLogRetentionDays = $root.google.protobuf.Int32Value.fromObject(object.transactionLogRetentionDays);
+                                message.transactionLogRetentionDays = $root.google.protobuf.Int32Value.fromObject(object.transactionLogRetentionDays, long + 1);
                             }
                             switch (object.transactionalLogStorageState) {
                             default:
@@ -4196,7 +4336,7 @@
                         function PerformDiskShrinkContext(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -4261,9 +4401,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        PerformDiskShrinkContext.decode = function decode(reader, length, error) {
+                        PerformDiskShrinkContext.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.PerformDiskShrinkContext();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -4275,7 +4419,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -4306,9 +4450,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        PerformDiskShrinkContext.verify = function verify(message) {
+                        PerformDiskShrinkContext.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.targetSizeGb != null && message.hasOwnProperty("targetSizeGb"))
                                 if (!$util.isInteger(message.targetSizeGb) && !(message.targetSizeGb && $util.isInteger(message.targetSizeGb.low) && $util.isInteger(message.targetSizeGb.high)))
                                     return "targetSizeGb: integer|Long expected";
@@ -4323,9 +4471,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.PerformDiskShrinkContext} PerformDiskShrinkContext
                          */
-                        PerformDiskShrinkContext.fromObject = function fromObject(object) {
+                        PerformDiskShrinkContext.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.PerformDiskShrinkContext)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.PerformDiskShrinkContext();
                             if (object.targetSizeGb != null)
                                 if ($util.Long)
@@ -4418,7 +4570,7 @@
                             this.actionsRequired = [];
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -4519,9 +4671,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        PreCheckResponse.decode = function decode(reader, length, error) {
+                        PreCheckResponse.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.PreCheckResponse();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -4543,7 +4699,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -4574,9 +4730,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        PreCheckResponse.verify = function verify(message) {
+                        PreCheckResponse.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             var properties = {};
                             if (message.message != null && message.hasOwnProperty("message")) {
                                 properties._message = 1;
@@ -4613,9 +4773,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.PreCheckResponse} PreCheckResponse
                          */
-                        PreCheckResponse.fromObject = function fromObject(object) {
+                        PreCheckResponse.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.PreCheckResponse)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.PreCheckResponse();
                             if (object.message != null)
                                 message.message = String(object.message);
@@ -4756,7 +4920,7 @@
                             this.preCheckResponse = [];
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -4842,9 +5006,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        PreCheckMajorVersionUpgradeContext.decode = function decode(reader, length, error) {
+                        PreCheckMajorVersionUpgradeContext.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.PreCheckMajorVersionUpgradeContext();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -4858,7 +5026,7 @@
                                 case 2: {
                                         if (!(message.preCheckResponse && message.preCheckResponse.length))
                                             message.preCheckResponse = [];
-                                        message.preCheckResponse.push($root.google.cloud.sql.v1.PreCheckResponse.decode(reader, reader.uint32()));
+                                        message.preCheckResponse.push($root.google.cloud.sql.v1.PreCheckResponse.decode(reader, reader.uint32(), undefined, long + 1));
                                         break;
                                     }
                                 case 3: {
@@ -4866,7 +5034,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -4897,9 +5065,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        PreCheckMajorVersionUpgradeContext.verify = function verify(message) {
+                        PreCheckMajorVersionUpgradeContext.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.targetDatabaseVersion != null && message.hasOwnProperty("targetDatabaseVersion"))
                                 switch (message.targetDatabaseVersion) {
                                 default:
@@ -4947,6 +5119,7 @@
                                 case 272:
                                 case 408:
                                 case 557:
+                                case 684:
                                 case 26:
                                 case 27:
                                 case 28:
@@ -4955,13 +5128,16 @@
                                 case 200:
                                 case 201:
                                 case 202:
+                                case 549:
+                                case 550:
+                                case 551:
                                     break;
                                 }
                             if (message.preCheckResponse != null && message.hasOwnProperty("preCheckResponse")) {
                                 if (!Array.isArray(message.preCheckResponse))
                                     return "preCheckResponse: array expected";
                                 for (var i = 0; i < message.preCheckResponse.length; ++i) {
-                                    var error = $root.google.cloud.sql.v1.PreCheckResponse.verify(message.preCheckResponse[i]);
+                                    var error = $root.google.cloud.sql.v1.PreCheckResponse.verify(message.preCheckResponse[i], long + 1);
                                     if (error)
                                         return "preCheckResponse." + error;
                                 }
@@ -4980,9 +5156,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.PreCheckMajorVersionUpgradeContext} PreCheckMajorVersionUpgradeContext
                          */
-                        PreCheckMajorVersionUpgradeContext.fromObject = function fromObject(object) {
+                        PreCheckMajorVersionUpgradeContext.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.PreCheckMajorVersionUpgradeContext)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.PreCheckMajorVersionUpgradeContext();
                             switch (object.targetDatabaseVersion) {
                             default:
@@ -5163,6 +5343,10 @@
                             case 557:
                                 message.targetDatabaseVersion = 557;
                                 break;
+                            case "POSTGRES_19":
+                            case 684:
+                                message.targetDatabaseVersion = 684;
+                                break;
                             case "SQLSERVER_2019_STANDARD":
                             case 26:
                                 message.targetDatabaseVersion = 26;
@@ -5195,6 +5379,18 @@
                             case 202:
                                 message.targetDatabaseVersion = 202;
                                 break;
+                            case "SQLSERVER_2025_STANDARD":
+                            case 549:
+                                message.targetDatabaseVersion = 549;
+                                break;
+                            case "SQLSERVER_2025_ENTERPRISE":
+                            case 550:
+                                message.targetDatabaseVersion = 550;
+                                break;
+                            case "SQLSERVER_2025_EXPRESS":
+                            case 551:
+                                message.targetDatabaseVersion = 551;
+                                break;
                             }
                             if (object.preCheckResponse) {
                                 if (!Array.isArray(object.preCheckResponse))
@@ -5203,7 +5399,7 @@
                                 for (var i = 0; i < object.preCheckResponse.length; ++i) {
                                     if (typeof object.preCheckResponse[i] !== "object")
                                         throw TypeError(".google.cloud.sql.v1.PreCheckMajorVersionUpgradeContext.preCheckResponse: object expected");
-                                    message.preCheckResponse[i] = $root.google.cloud.sql.v1.PreCheckResponse.fromObject(object.preCheckResponse[i]);
+                                    message.preCheckResponse[i] = $root.google.cloud.sql.v1.PreCheckResponse.fromObject(object.preCheckResponse[i], long + 1);
                                 }
                             }
                             if (object.kind != null)
@@ -5293,7 +5489,7 @@
                         function BackupContext(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -5378,9 +5574,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        BackupContext.decode = function decode(reader, length, error) {
+                        BackupContext.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.BackupContext();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -5400,7 +5600,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -5431,9 +5631,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        BackupContext.verify = function verify(message) {
+                        BackupContext.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.backupId != null && message.hasOwnProperty("backupId"))
                                 if (!$util.isInteger(message.backupId) && !(message.backupId && $util.isInteger(message.backupId.low) && $util.isInteger(message.backupId.high)))
                                     return "backupId: integer|Long expected";
@@ -5454,9 +5658,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.BackupContext} BackupContext
                          */
-                        BackupContext.fromObject = function fromObject(object) {
+                        BackupContext.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.BackupContext)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.BackupContext();
                             if (object.backupId != null)
                                 if ($util.Long)
@@ -5565,7 +5773,7 @@
                         function Database(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -5724,9 +5932,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        Database.decode = function decode(reader, length, error) {
+                        Database.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.Database();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -5766,11 +5978,11 @@
                                         break;
                                     }
                                 case 9: {
-                                        message.sqlserverDatabaseDetails = $root.google.cloud.sql.v1.SqlServerDatabaseDetails.decode(reader, reader.uint32());
+                                        message.sqlserverDatabaseDetails = $root.google.cloud.sql.v1.SqlServerDatabaseDetails.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -5801,9 +6013,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        Database.verify = function verify(message) {
+                        Database.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             var properties = {};
                             if (message.kind != null && message.hasOwnProperty("kind"))
                                 if (!$util.isString(message.kind))
@@ -5832,7 +6048,7 @@
                             if (message.sqlserverDatabaseDetails != null && message.hasOwnProperty("sqlserverDatabaseDetails")) {
                                 properties.databaseDetails = 1;
                                 {
-                                    var error = $root.google.cloud.sql.v1.SqlServerDatabaseDetails.verify(message.sqlserverDatabaseDetails);
+                                    var error = $root.google.cloud.sql.v1.SqlServerDatabaseDetails.verify(message.sqlserverDatabaseDetails, long + 1);
                                     if (error)
                                         return "sqlserverDatabaseDetails." + error;
                                 }
@@ -5848,9 +6064,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.Database} Database
                          */
-                        Database.fromObject = function fromObject(object) {
+                        Database.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.Database)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.Database();
                             if (object.kind != null)
                                 message.kind = String(object.kind);
@@ -5871,7 +6091,7 @@
                             if (object.sqlserverDatabaseDetails != null) {
                                 if (typeof object.sqlserverDatabaseDetails !== "object")
                                     throw TypeError(".google.cloud.sql.v1.Database.sqlserverDatabaseDetails: object expected");
-                                message.sqlserverDatabaseDetails = $root.google.cloud.sql.v1.SqlServerDatabaseDetails.fromObject(object.sqlserverDatabaseDetails);
+                                message.sqlserverDatabaseDetails = $root.google.cloud.sql.v1.SqlServerDatabaseDetails.fromObject(object.sqlserverDatabaseDetails, long + 1);
                             }
                             return message;
                         };
@@ -5973,7 +6193,7 @@
                         function SqlServerDatabaseDetails(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -6048,9 +6268,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlServerDatabaseDetails.decode = function decode(reader, length, error) {
+                        SqlServerDatabaseDetails.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.SqlServerDatabaseDetails();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -6066,7 +6290,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -6097,9 +6321,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlServerDatabaseDetails.verify = function verify(message) {
+                        SqlServerDatabaseDetails.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.compatibilityLevel != null && message.hasOwnProperty("compatibilityLevel"))
                                 if (!$util.isInteger(message.compatibilityLevel))
                                     return "compatibilityLevel: integer expected";
@@ -6117,9 +6345,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.SqlServerDatabaseDetails} SqlServerDatabaseDetails
                          */
-                        SqlServerDatabaseDetails.fromObject = function fromObject(object) {
+                        SqlServerDatabaseDetails.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.SqlServerDatabaseDetails)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.SqlServerDatabaseDetails();
                             if (object.compatibilityLevel != null)
                                 message.compatibilityLevel = object.compatibilityLevel | 0;
@@ -6202,7 +6434,7 @@
                         function DatabaseFlags(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -6277,9 +6509,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        DatabaseFlags.decode = function decode(reader, length, error) {
+                        DatabaseFlags.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.DatabaseFlags();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -6295,7 +6531,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -6326,9 +6562,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        DatabaseFlags.verify = function verify(message) {
+                        DatabaseFlags.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.name != null && message.hasOwnProperty("name"))
                                 if (!$util.isString(message.name))
                                     return "name: string expected";
@@ -6346,9 +6586,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.DatabaseFlags} DatabaseFlags
                          */
-                        DatabaseFlags.fromObject = function fromObject(object) {
+                        DatabaseFlags.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.DatabaseFlags)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.DatabaseFlags();
                             if (object.name != null)
                                 message.name = String(object.name);
@@ -6431,7 +6675,7 @@
                             this.initialSyncFlags = [];
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -6497,9 +6741,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        MySqlSyncConfig.decode = function decode(reader, length, error) {
+                        MySqlSyncConfig.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.MySqlSyncConfig();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -6509,11 +6757,11 @@
                                 case 1: {
                                         if (!(message.initialSyncFlags && message.initialSyncFlags.length))
                                             message.initialSyncFlags = [];
-                                        message.initialSyncFlags.push($root.google.cloud.sql.v1.SyncFlags.decode(reader, reader.uint32()));
+                                        message.initialSyncFlags.push($root.google.cloud.sql.v1.SyncFlags.decode(reader, reader.uint32(), undefined, long + 1));
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -6544,14 +6792,18 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        MySqlSyncConfig.verify = function verify(message) {
+                        MySqlSyncConfig.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.initialSyncFlags != null && message.hasOwnProperty("initialSyncFlags")) {
                                 if (!Array.isArray(message.initialSyncFlags))
                                     return "initialSyncFlags: array expected";
                                 for (var i = 0; i < message.initialSyncFlags.length; ++i) {
-                                    var error = $root.google.cloud.sql.v1.SyncFlags.verify(message.initialSyncFlags[i]);
+                                    var error = $root.google.cloud.sql.v1.SyncFlags.verify(message.initialSyncFlags[i], long + 1);
                                     if (error)
                                         return "initialSyncFlags." + error;
                                 }
@@ -6567,9 +6819,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.MySqlSyncConfig} MySqlSyncConfig
                          */
-                        MySqlSyncConfig.fromObject = function fromObject(object) {
+                        MySqlSyncConfig.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.MySqlSyncConfig)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.MySqlSyncConfig();
                             if (object.initialSyncFlags) {
                                 if (!Array.isArray(object.initialSyncFlags))
@@ -6578,7 +6834,7 @@
                                 for (var i = 0; i < object.initialSyncFlags.length; ++i) {
                                     if (typeof object.initialSyncFlags[i] !== "object")
                                         throw TypeError(".google.cloud.sql.v1.MySqlSyncConfig.initialSyncFlags: object expected");
-                                    message.initialSyncFlags[i] = $root.google.cloud.sql.v1.SyncFlags.fromObject(object.initialSyncFlags[i]);
+                                    message.initialSyncFlags[i] = $root.google.cloud.sql.v1.SyncFlags.fromObject(object.initialSyncFlags[i], long + 1);
                                 }
                             }
                             return message;
@@ -6657,7 +6913,7 @@
                         function SyncFlags(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -6732,9 +6988,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SyncFlags.decode = function decode(reader, length, error) {
+                        SyncFlags.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.SyncFlags();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -6750,7 +7010,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -6781,9 +7041,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SyncFlags.verify = function verify(message) {
+                        SyncFlags.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.name != null && message.hasOwnProperty("name"))
                                 if (!$util.isString(message.name))
                                     return "name: string expected";
@@ -6801,9 +7065,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.SyncFlags} SyncFlags
                          */
-                        SyncFlags.fromObject = function fromObject(object) {
+                        SyncFlags.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.SyncFlags)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.SyncFlags();
                             if (object.name != null)
                                 message.name = String(object.name);
@@ -6887,7 +7155,7 @@
                         function InstanceReference(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -6972,9 +7240,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        InstanceReference.decode = function decode(reader, length, error) {
+                        InstanceReference.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.InstanceReference();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -6994,7 +7266,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -7025,9 +7297,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        InstanceReference.verify = function verify(message) {
+                        InstanceReference.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.name != null && message.hasOwnProperty("name"))
                                 if (!$util.isString(message.name))
                                     return "name: string expected";
@@ -7048,9 +7324,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.InstanceReference} InstanceReference
                          */
-                        InstanceReference.fromObject = function fromObject(object) {
+                        InstanceReference.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.InstanceReference)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.InstanceReference();
                             if (object.name != null)
                                 message.name = String(object.name);
@@ -7138,7 +7418,7 @@
                         function DemoteMasterConfiguration(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -7213,9 +7493,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        DemoteMasterConfiguration.decode = function decode(reader, length, error) {
+                        DemoteMasterConfiguration.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.DemoteMasterConfiguration();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -7227,11 +7511,11 @@
                                         break;
                                     }
                                 case 2: {
-                                        message.mysqlReplicaConfiguration = $root.google.cloud.sql.v1.DemoteMasterMySqlReplicaConfiguration.decode(reader, reader.uint32());
+                                        message.mysqlReplicaConfiguration = $root.google.cloud.sql.v1.DemoteMasterMySqlReplicaConfiguration.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -7262,14 +7546,18 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        DemoteMasterConfiguration.verify = function verify(message) {
+                        DemoteMasterConfiguration.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.kind != null && message.hasOwnProperty("kind"))
                                 if (!$util.isString(message.kind))
                                     return "kind: string expected";
                             if (message.mysqlReplicaConfiguration != null && message.hasOwnProperty("mysqlReplicaConfiguration")) {
-                                var error = $root.google.cloud.sql.v1.DemoteMasterMySqlReplicaConfiguration.verify(message.mysqlReplicaConfiguration);
+                                var error = $root.google.cloud.sql.v1.DemoteMasterMySqlReplicaConfiguration.verify(message.mysqlReplicaConfiguration, long + 1);
                                 if (error)
                                     return "mysqlReplicaConfiguration." + error;
                             }
@@ -7284,16 +7572,20 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.DemoteMasterConfiguration} DemoteMasterConfiguration
                          */
-                        DemoteMasterConfiguration.fromObject = function fromObject(object) {
+                        DemoteMasterConfiguration.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.DemoteMasterConfiguration)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.DemoteMasterConfiguration();
                             if (object.kind != null)
                                 message.kind = String(object.kind);
                             if (object.mysqlReplicaConfiguration != null) {
                                 if (typeof object.mysqlReplicaConfiguration !== "object")
                                     throw TypeError(".google.cloud.sql.v1.DemoteMasterConfiguration.mysqlReplicaConfiguration: object expected");
-                                message.mysqlReplicaConfiguration = $root.google.cloud.sql.v1.DemoteMasterMySqlReplicaConfiguration.fromObject(object.mysqlReplicaConfiguration);
+                                message.mysqlReplicaConfiguration = $root.google.cloud.sql.v1.DemoteMasterMySqlReplicaConfiguration.fromObject(object.mysqlReplicaConfiguration, long + 1);
                             }
                             return message;
                         };
@@ -7376,7 +7668,7 @@
                         function DemoteMasterMySqlReplicaConfiguration(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -7491,9 +7783,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        DemoteMasterMySqlReplicaConfiguration.decode = function decode(reader, length, error) {
+                        DemoteMasterMySqlReplicaConfiguration.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.DemoteMasterMySqlReplicaConfiguration();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -7525,7 +7821,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -7556,9 +7852,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        DemoteMasterMySqlReplicaConfiguration.verify = function verify(message) {
+                        DemoteMasterMySqlReplicaConfiguration.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.kind != null && message.hasOwnProperty("kind"))
                                 if (!$util.isString(message.kind))
                                     return "kind: string expected";
@@ -7588,9 +7888,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.DemoteMasterMySqlReplicaConfiguration} DemoteMasterMySqlReplicaConfiguration
                          */
-                        DemoteMasterMySqlReplicaConfiguration.fromObject = function fromObject(object) {
+                        DemoteMasterMySqlReplicaConfiguration.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.DemoteMasterMySqlReplicaConfiguration)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.DemoteMasterMySqlReplicaConfiguration();
                             if (object.kind != null)
                                 message.kind = String(object.kind);
@@ -7721,7 +8025,7 @@
                             this.databases = [];
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -7867,9 +8171,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        ExportContext.decode = function decode(reader, length, error) {
+                        ExportContext.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.ExportContext();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -7891,11 +8199,11 @@
                                         break;
                                     }
                                 case 4: {
-                                        message.sqlExportOptions = $root.google.cloud.sql.v1.ExportContext.SqlExportOptions.decode(reader, reader.uint32());
+                                        message.sqlExportOptions = $root.google.cloud.sql.v1.ExportContext.SqlExportOptions.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 5: {
-                                        message.csvExportOptions = $root.google.cloud.sql.v1.ExportContext.SqlCsvExportOptions.decode(reader, reader.uint32());
+                                        message.csvExportOptions = $root.google.cloud.sql.v1.ExportContext.SqlCsvExportOptions.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 6: {
@@ -7903,19 +8211,19 @@
                                         break;
                                     }
                                 case 8: {
-                                        message.offload = $root.google.protobuf.BoolValue.decode(reader, reader.uint32());
+                                        message.offload = $root.google.protobuf.BoolValue.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 9: {
-                                        message.bakExportOptions = $root.google.cloud.sql.v1.ExportContext.SqlBakExportOptions.decode(reader, reader.uint32());
+                                        message.bakExportOptions = $root.google.cloud.sql.v1.ExportContext.SqlBakExportOptions.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 10: {
-                                        message.tdeExportOptions = $root.google.cloud.sql.v1.ExportContext.SqlTdeExportOptions.decode(reader, reader.uint32());
+                                        message.tdeExportOptions = $root.google.cloud.sql.v1.ExportContext.SqlTdeExportOptions.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -7946,9 +8254,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        ExportContext.verify = function verify(message) {
+                        ExportContext.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.uri != null && message.hasOwnProperty("uri"))
                                 if (!$util.isString(message.uri))
                                     return "uri: string expected";
@@ -7963,12 +8275,12 @@
                                 if (!$util.isString(message.kind))
                                     return "kind: string expected";
                             if (message.sqlExportOptions != null && message.hasOwnProperty("sqlExportOptions")) {
-                                var error = $root.google.cloud.sql.v1.ExportContext.SqlExportOptions.verify(message.sqlExportOptions);
+                                var error = $root.google.cloud.sql.v1.ExportContext.SqlExportOptions.verify(message.sqlExportOptions, long + 1);
                                 if (error)
                                     return "sqlExportOptions." + error;
                             }
                             if (message.csvExportOptions != null && message.hasOwnProperty("csvExportOptions")) {
-                                var error = $root.google.cloud.sql.v1.ExportContext.SqlCsvExportOptions.verify(message.csvExportOptions);
+                                var error = $root.google.cloud.sql.v1.ExportContext.SqlCsvExportOptions.verify(message.csvExportOptions, long + 1);
                                 if (error)
                                     return "csvExportOptions." + error;
                             }
@@ -7984,17 +8296,17 @@
                                     break;
                                 }
                             if (message.offload != null && message.hasOwnProperty("offload")) {
-                                var error = $root.google.protobuf.BoolValue.verify(message.offload);
+                                var error = $root.google.protobuf.BoolValue.verify(message.offload, long + 1);
                                 if (error)
                                     return "offload." + error;
                             }
                             if (message.bakExportOptions != null && message.hasOwnProperty("bakExportOptions")) {
-                                var error = $root.google.cloud.sql.v1.ExportContext.SqlBakExportOptions.verify(message.bakExportOptions);
+                                var error = $root.google.cloud.sql.v1.ExportContext.SqlBakExportOptions.verify(message.bakExportOptions, long + 1);
                                 if (error)
                                     return "bakExportOptions." + error;
                             }
                             if (message.tdeExportOptions != null && message.hasOwnProperty("tdeExportOptions")) {
-                                var error = $root.google.cloud.sql.v1.ExportContext.SqlTdeExportOptions.verify(message.tdeExportOptions);
+                                var error = $root.google.cloud.sql.v1.ExportContext.SqlTdeExportOptions.verify(message.tdeExportOptions, long + 1);
                                 if (error)
                                     return "tdeExportOptions." + error;
                             }
@@ -8009,9 +8321,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.ExportContext} ExportContext
                          */
-                        ExportContext.fromObject = function fromObject(object) {
+                        ExportContext.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.ExportContext)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.ExportContext();
                             if (object.uri != null)
                                 message.uri = String(object.uri);
@@ -8027,12 +8343,12 @@
                             if (object.sqlExportOptions != null) {
                                 if (typeof object.sqlExportOptions !== "object")
                                     throw TypeError(".google.cloud.sql.v1.ExportContext.sqlExportOptions: object expected");
-                                message.sqlExportOptions = $root.google.cloud.sql.v1.ExportContext.SqlExportOptions.fromObject(object.sqlExportOptions);
+                                message.sqlExportOptions = $root.google.cloud.sql.v1.ExportContext.SqlExportOptions.fromObject(object.sqlExportOptions, long + 1);
                             }
                             if (object.csvExportOptions != null) {
                                 if (typeof object.csvExportOptions !== "object")
                                     throw TypeError(".google.cloud.sql.v1.ExportContext.csvExportOptions: object expected");
-                                message.csvExportOptions = $root.google.cloud.sql.v1.ExportContext.SqlCsvExportOptions.fromObject(object.csvExportOptions);
+                                message.csvExportOptions = $root.google.cloud.sql.v1.ExportContext.SqlCsvExportOptions.fromObject(object.csvExportOptions, long + 1);
                             }
                             switch (object.fileType) {
                             default:
@@ -8065,17 +8381,17 @@
                             if (object.offload != null) {
                                 if (typeof object.offload !== "object")
                                     throw TypeError(".google.cloud.sql.v1.ExportContext.offload: object expected");
-                                message.offload = $root.google.protobuf.BoolValue.fromObject(object.offload);
+                                message.offload = $root.google.protobuf.BoolValue.fromObject(object.offload, long + 1);
                             }
                             if (object.bakExportOptions != null) {
                                 if (typeof object.bakExportOptions !== "object")
                                     throw TypeError(".google.cloud.sql.v1.ExportContext.bakExportOptions: object expected");
-                                message.bakExportOptions = $root.google.cloud.sql.v1.ExportContext.SqlBakExportOptions.fromObject(object.bakExportOptions);
+                                message.bakExportOptions = $root.google.cloud.sql.v1.ExportContext.SqlBakExportOptions.fromObject(object.bakExportOptions, long + 1);
                             }
                             if (object.tdeExportOptions != null) {
                                 if (typeof object.tdeExportOptions !== "object")
                                     throw TypeError(".google.cloud.sql.v1.ExportContext.tdeExportOptions: object expected");
-                                message.tdeExportOptions = $root.google.cloud.sql.v1.ExportContext.SqlTdeExportOptions.fromObject(object.tdeExportOptions);
+                                message.tdeExportOptions = $root.google.cloud.sql.v1.ExportContext.SqlTdeExportOptions.fromObject(object.tdeExportOptions, long + 1);
                             }
                             return message;
                         };
@@ -8179,7 +8495,7 @@
                             function SqlCsvExportOptions(properties) {
                                 if (properties)
                                     for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                        if (properties[keys[i]] != null)
+                                        if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                             this[keys[i]] = properties[keys[i]];
                             }
     
@@ -8284,9 +8600,13 @@
                              * @throws {Error} If the payload is not a reader or valid buffer
                              * @throws {$protobuf.util.ProtocolError} If required fields are missing
                              */
-                            SqlCsvExportOptions.decode = function decode(reader, length, error) {
+                            SqlCsvExportOptions.decode = function decode(reader, length, error, long) {
                                 if (!(reader instanceof $Reader))
                                     reader = $Reader.create(reader);
+                                if (long === undefined)
+                                    long = 0;
+                                if (long > $Reader.recursionLimit)
+                                    throw Error("maximum nesting depth exceeded");
                                 var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.ExportContext.SqlCsvExportOptions();
                                 while (reader.pos < end) {
                                     var tag = reader.uint32();
@@ -8314,7 +8634,7 @@
                                             break;
                                         }
                                     default:
-                                        reader.skipType(tag & 7);
+                                        reader.skipType(tag & 7, long);
                                         break;
                                     }
                                 }
@@ -8345,9 +8665,13 @@
                              * @param {Object.<string,*>} message Plain object to verify
                              * @returns {string|null} `null` if valid, otherwise the reason why it is not
                              */
-                            SqlCsvExportOptions.verify = function verify(message) {
+                            SqlCsvExportOptions.verify = function verify(message, long) {
                                 if (typeof message !== "object" || message === null)
                                     return "object expected";
+                                if (long === undefined)
+                                    long = 0;
+                                if (long > $util.recursionLimit)
+                                    return "maximum nesting depth exceeded";
                                 if (message.selectQuery != null && message.hasOwnProperty("selectQuery"))
                                     if (!$util.isString(message.selectQuery))
                                         return "selectQuery: string expected";
@@ -8374,9 +8698,13 @@
                              * @param {Object.<string,*>} object Plain object
                              * @returns {google.cloud.sql.v1.ExportContext.SqlCsvExportOptions} SqlCsvExportOptions
                              */
-                            SqlCsvExportOptions.fromObject = function fromObject(object) {
+                            SqlCsvExportOptions.fromObject = function fromObject(object, long) {
                                 if (object instanceof $root.google.cloud.sql.v1.ExportContext.SqlCsvExportOptions)
                                     return object;
+                                if (long === undefined)
+                                    long = 0;
+                                if (long > $util.recursionLimit)
+                                    throw Error("maximum nesting depth exceeded");
                                 var message = new $root.google.cloud.sql.v1.ExportContext.SqlCsvExportOptions();
                                 if (object.selectQuery != null)
                                     message.selectQuery = String(object.selectQuery);
@@ -8479,7 +8807,7 @@
                                 this.tables = [];
                                 if (properties)
                                     for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                        if (properties[keys[i]] != null)
+                                        if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                             this[keys[i]] = properties[keys[i]];
                             }
     
@@ -8595,9 +8923,13 @@
                              * @throws {Error} If the payload is not a reader or valid buffer
                              * @throws {$protobuf.util.ProtocolError} If required fields are missing
                              */
-                            SqlExportOptions.decode = function decode(reader, length, error) {
+                            SqlExportOptions.decode = function decode(reader, length, error, long) {
                                 if (!(reader instanceof $Reader))
                                     reader = $Reader.create(reader);
+                                if (long === undefined)
+                                    long = 0;
+                                if (long > $Reader.recursionLimit)
+                                    throw Error("maximum nesting depth exceeded");
                                 var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.ExportContext.SqlExportOptions();
                                 while (reader.pos < end) {
                                     var tag = reader.uint32();
@@ -8611,27 +8943,27 @@
                                             break;
                                         }
                                     case 2: {
-                                            message.schemaOnly = $root.google.protobuf.BoolValue.decode(reader, reader.uint32());
+                                            message.schemaOnly = $root.google.protobuf.BoolValue.decode(reader, reader.uint32(), undefined, long + 1);
                                             break;
                                         }
                                     case 3: {
-                                            message.mysqlExportOptions = $root.google.cloud.sql.v1.ExportContext.SqlExportOptions.MysqlExportOptions.decode(reader, reader.uint32());
+                                            message.mysqlExportOptions = $root.google.cloud.sql.v1.ExportContext.SqlExportOptions.MysqlExportOptions.decode(reader, reader.uint32(), undefined, long + 1);
                                             break;
                                         }
                                     case 4: {
-                                            message.threads = $root.google.protobuf.Int32Value.decode(reader, reader.uint32());
+                                            message.threads = $root.google.protobuf.Int32Value.decode(reader, reader.uint32(), undefined, long + 1);
                                             break;
                                         }
                                     case 5: {
-                                            message.parallel = $root.google.protobuf.BoolValue.decode(reader, reader.uint32());
+                                            message.parallel = $root.google.protobuf.BoolValue.decode(reader, reader.uint32(), undefined, long + 1);
                                             break;
                                         }
                                     case 6: {
-                                            message.postgresExportOptions = $root.google.cloud.sql.v1.ExportContext.SqlExportOptions.PostgresExportOptions.decode(reader, reader.uint32());
+                                            message.postgresExportOptions = $root.google.cloud.sql.v1.ExportContext.SqlExportOptions.PostgresExportOptions.decode(reader, reader.uint32(), undefined, long + 1);
                                             break;
                                         }
                                     default:
-                                        reader.skipType(tag & 7);
+                                        reader.skipType(tag & 7, long);
                                         break;
                                     }
                                 }
@@ -8662,9 +8994,13 @@
                              * @param {Object.<string,*>} message Plain object to verify
                              * @returns {string|null} `null` if valid, otherwise the reason why it is not
                              */
-                            SqlExportOptions.verify = function verify(message) {
+                            SqlExportOptions.verify = function verify(message, long) {
                                 if (typeof message !== "object" || message === null)
                                     return "object expected";
+                                if (long === undefined)
+                                    long = 0;
+                                if (long > $util.recursionLimit)
+                                    return "maximum nesting depth exceeded";
                                 if (message.tables != null && message.hasOwnProperty("tables")) {
                                     if (!Array.isArray(message.tables))
                                         return "tables: array expected";
@@ -8673,27 +9009,27 @@
                                             return "tables: string[] expected";
                                 }
                                 if (message.schemaOnly != null && message.hasOwnProperty("schemaOnly")) {
-                                    var error = $root.google.protobuf.BoolValue.verify(message.schemaOnly);
+                                    var error = $root.google.protobuf.BoolValue.verify(message.schemaOnly, long + 1);
                                     if (error)
                                         return "schemaOnly." + error;
                                 }
                                 if (message.mysqlExportOptions != null && message.hasOwnProperty("mysqlExportOptions")) {
-                                    var error = $root.google.cloud.sql.v1.ExportContext.SqlExportOptions.MysqlExportOptions.verify(message.mysqlExportOptions);
+                                    var error = $root.google.cloud.sql.v1.ExportContext.SqlExportOptions.MysqlExportOptions.verify(message.mysqlExportOptions, long + 1);
                                     if (error)
                                         return "mysqlExportOptions." + error;
                                 }
                                 if (message.threads != null && message.hasOwnProperty("threads")) {
-                                    var error = $root.google.protobuf.Int32Value.verify(message.threads);
+                                    var error = $root.google.protobuf.Int32Value.verify(message.threads, long + 1);
                                     if (error)
                                         return "threads." + error;
                                 }
                                 if (message.parallel != null && message.hasOwnProperty("parallel")) {
-                                    var error = $root.google.protobuf.BoolValue.verify(message.parallel);
+                                    var error = $root.google.protobuf.BoolValue.verify(message.parallel, long + 1);
                                     if (error)
                                         return "parallel." + error;
                                 }
                                 if (message.postgresExportOptions != null && message.hasOwnProperty("postgresExportOptions")) {
-                                    var error = $root.google.cloud.sql.v1.ExportContext.SqlExportOptions.PostgresExportOptions.verify(message.postgresExportOptions);
+                                    var error = $root.google.cloud.sql.v1.ExportContext.SqlExportOptions.PostgresExportOptions.verify(message.postgresExportOptions, long + 1);
                                     if (error)
                                         return "postgresExportOptions." + error;
                                 }
@@ -8708,9 +9044,13 @@
                              * @param {Object.<string,*>} object Plain object
                              * @returns {google.cloud.sql.v1.ExportContext.SqlExportOptions} SqlExportOptions
                              */
-                            SqlExportOptions.fromObject = function fromObject(object) {
+                            SqlExportOptions.fromObject = function fromObject(object, long) {
                                 if (object instanceof $root.google.cloud.sql.v1.ExportContext.SqlExportOptions)
                                     return object;
+                                if (long === undefined)
+                                    long = 0;
+                                if (long > $util.recursionLimit)
+                                    throw Error("maximum nesting depth exceeded");
                                 var message = new $root.google.cloud.sql.v1.ExportContext.SqlExportOptions();
                                 if (object.tables) {
                                     if (!Array.isArray(object.tables))
@@ -8722,27 +9062,27 @@
                                 if (object.schemaOnly != null) {
                                     if (typeof object.schemaOnly !== "object")
                                         throw TypeError(".google.cloud.sql.v1.ExportContext.SqlExportOptions.schemaOnly: object expected");
-                                    message.schemaOnly = $root.google.protobuf.BoolValue.fromObject(object.schemaOnly);
+                                    message.schemaOnly = $root.google.protobuf.BoolValue.fromObject(object.schemaOnly, long + 1);
                                 }
                                 if (object.mysqlExportOptions != null) {
                                     if (typeof object.mysqlExportOptions !== "object")
                                         throw TypeError(".google.cloud.sql.v1.ExportContext.SqlExportOptions.mysqlExportOptions: object expected");
-                                    message.mysqlExportOptions = $root.google.cloud.sql.v1.ExportContext.SqlExportOptions.MysqlExportOptions.fromObject(object.mysqlExportOptions);
+                                    message.mysqlExportOptions = $root.google.cloud.sql.v1.ExportContext.SqlExportOptions.MysqlExportOptions.fromObject(object.mysqlExportOptions, long + 1);
                                 }
                                 if (object.threads != null) {
                                     if (typeof object.threads !== "object")
                                         throw TypeError(".google.cloud.sql.v1.ExportContext.SqlExportOptions.threads: object expected");
-                                    message.threads = $root.google.protobuf.Int32Value.fromObject(object.threads);
+                                    message.threads = $root.google.protobuf.Int32Value.fromObject(object.threads, long + 1);
                                 }
                                 if (object.parallel != null) {
                                     if (typeof object.parallel !== "object")
                                         throw TypeError(".google.cloud.sql.v1.ExportContext.SqlExportOptions.parallel: object expected");
-                                    message.parallel = $root.google.protobuf.BoolValue.fromObject(object.parallel);
+                                    message.parallel = $root.google.protobuf.BoolValue.fromObject(object.parallel, long + 1);
                                 }
                                 if (object.postgresExportOptions != null) {
                                     if (typeof object.postgresExportOptions !== "object")
                                         throw TypeError(".google.cloud.sql.v1.ExportContext.SqlExportOptions.postgresExportOptions: object expected");
-                                    message.postgresExportOptions = $root.google.cloud.sql.v1.ExportContext.SqlExportOptions.PostgresExportOptions.fromObject(object.postgresExportOptions);
+                                    message.postgresExportOptions = $root.google.cloud.sql.v1.ExportContext.SqlExportOptions.PostgresExportOptions.fromObject(object.postgresExportOptions, long + 1);
                                 }
                                 return message;
                             };
@@ -8833,7 +9173,7 @@
                                 function MysqlExportOptions(properties) {
                                     if (properties)
                                         for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                            if (properties[keys[i]] != null)
+                                            if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                                 this[keys[i]] = properties[keys[i]];
                                 }
     
@@ -8898,9 +9238,13 @@
                                  * @throws {Error} If the payload is not a reader or valid buffer
                                  * @throws {$protobuf.util.ProtocolError} If required fields are missing
                                  */
-                                MysqlExportOptions.decode = function decode(reader, length, error) {
+                                MysqlExportOptions.decode = function decode(reader, length, error, long) {
                                     if (!(reader instanceof $Reader))
                                         reader = $Reader.create(reader);
+                                    if (long === undefined)
+                                        long = 0;
+                                    if (long > $Reader.recursionLimit)
+                                        throw Error("maximum nesting depth exceeded");
                                     var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.ExportContext.SqlExportOptions.MysqlExportOptions();
                                     while (reader.pos < end) {
                                         var tag = reader.uint32();
@@ -8908,11 +9252,11 @@
                                             break;
                                         switch (tag >>> 3) {
                                         case 1: {
-                                                message.masterData = $root.google.protobuf.Int32Value.decode(reader, reader.uint32());
+                                                message.masterData = $root.google.protobuf.Int32Value.decode(reader, reader.uint32(), undefined, long + 1);
                                                 break;
                                             }
                                         default:
-                                            reader.skipType(tag & 7);
+                                            reader.skipType(tag & 7, long);
                                             break;
                                         }
                                     }
@@ -8943,11 +9287,15 @@
                                  * @param {Object.<string,*>} message Plain object to verify
                                  * @returns {string|null} `null` if valid, otherwise the reason why it is not
                                  */
-                                MysqlExportOptions.verify = function verify(message) {
+                                MysqlExportOptions.verify = function verify(message, long) {
                                     if (typeof message !== "object" || message === null)
                                         return "object expected";
+                                    if (long === undefined)
+                                        long = 0;
+                                    if (long > $util.recursionLimit)
+                                        return "maximum nesting depth exceeded";
                                     if (message.masterData != null && message.hasOwnProperty("masterData")) {
-                                        var error = $root.google.protobuf.Int32Value.verify(message.masterData);
+                                        var error = $root.google.protobuf.Int32Value.verify(message.masterData, long + 1);
                                         if (error)
                                             return "masterData." + error;
                                     }
@@ -8962,14 +9310,18 @@
                                  * @param {Object.<string,*>} object Plain object
                                  * @returns {google.cloud.sql.v1.ExportContext.SqlExportOptions.MysqlExportOptions} MysqlExportOptions
                                  */
-                                MysqlExportOptions.fromObject = function fromObject(object) {
+                                MysqlExportOptions.fromObject = function fromObject(object, long) {
                                     if (object instanceof $root.google.cloud.sql.v1.ExportContext.SqlExportOptions.MysqlExportOptions)
                                         return object;
+                                    if (long === undefined)
+                                        long = 0;
+                                    if (long > $util.recursionLimit)
+                                        throw Error("maximum nesting depth exceeded");
                                     var message = new $root.google.cloud.sql.v1.ExportContext.SqlExportOptions.MysqlExportOptions();
                                     if (object.masterData != null) {
                                         if (typeof object.masterData !== "object")
                                             throw TypeError(".google.cloud.sql.v1.ExportContext.SqlExportOptions.MysqlExportOptions.masterData: object expected");
-                                        message.masterData = $root.google.protobuf.Int32Value.fromObject(object.masterData);
+                                        message.masterData = $root.google.protobuf.Int32Value.fromObject(object.masterData, long + 1);
                                     }
                                     return message;
                                 };
@@ -9044,7 +9396,7 @@
                                 function PostgresExportOptions(properties) {
                                     if (properties)
                                         for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                            if (properties[keys[i]] != null)
+                                            if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                                 this[keys[i]] = properties[keys[i]];
                                 }
     
@@ -9119,9 +9471,13 @@
                                  * @throws {Error} If the payload is not a reader or valid buffer
                                  * @throws {$protobuf.util.ProtocolError} If required fields are missing
                                  */
-                                PostgresExportOptions.decode = function decode(reader, length, error) {
+                                PostgresExportOptions.decode = function decode(reader, length, error, long) {
                                     if (!(reader instanceof $Reader))
                                         reader = $Reader.create(reader);
+                                    if (long === undefined)
+                                        long = 0;
+                                    if (long > $Reader.recursionLimit)
+                                        throw Error("maximum nesting depth exceeded");
                                     var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.ExportContext.SqlExportOptions.PostgresExportOptions();
                                     while (reader.pos < end) {
                                         var tag = reader.uint32();
@@ -9129,15 +9485,15 @@
                                             break;
                                         switch (tag >>> 3) {
                                         case 1: {
-                                                message.clean = $root.google.protobuf.BoolValue.decode(reader, reader.uint32());
+                                                message.clean = $root.google.protobuf.BoolValue.decode(reader, reader.uint32(), undefined, long + 1);
                                                 break;
                                             }
                                         case 2: {
-                                                message.ifExists = $root.google.protobuf.BoolValue.decode(reader, reader.uint32());
+                                                message.ifExists = $root.google.protobuf.BoolValue.decode(reader, reader.uint32(), undefined, long + 1);
                                                 break;
                                             }
                                         default:
-                                            reader.skipType(tag & 7);
+                                            reader.skipType(tag & 7, long);
                                             break;
                                         }
                                     }
@@ -9168,16 +9524,20 @@
                                  * @param {Object.<string,*>} message Plain object to verify
                                  * @returns {string|null} `null` if valid, otherwise the reason why it is not
                                  */
-                                PostgresExportOptions.verify = function verify(message) {
+                                PostgresExportOptions.verify = function verify(message, long) {
                                     if (typeof message !== "object" || message === null)
                                         return "object expected";
+                                    if (long === undefined)
+                                        long = 0;
+                                    if (long > $util.recursionLimit)
+                                        return "maximum nesting depth exceeded";
                                     if (message.clean != null && message.hasOwnProperty("clean")) {
-                                        var error = $root.google.protobuf.BoolValue.verify(message.clean);
+                                        var error = $root.google.protobuf.BoolValue.verify(message.clean, long + 1);
                                         if (error)
                                             return "clean." + error;
                                     }
                                     if (message.ifExists != null && message.hasOwnProperty("ifExists")) {
-                                        var error = $root.google.protobuf.BoolValue.verify(message.ifExists);
+                                        var error = $root.google.protobuf.BoolValue.verify(message.ifExists, long + 1);
                                         if (error)
                                             return "ifExists." + error;
                                     }
@@ -9192,19 +9552,23 @@
                                  * @param {Object.<string,*>} object Plain object
                                  * @returns {google.cloud.sql.v1.ExportContext.SqlExportOptions.PostgresExportOptions} PostgresExportOptions
                                  */
-                                PostgresExportOptions.fromObject = function fromObject(object) {
+                                PostgresExportOptions.fromObject = function fromObject(object, long) {
                                     if (object instanceof $root.google.cloud.sql.v1.ExportContext.SqlExportOptions.PostgresExportOptions)
                                         return object;
+                                    if (long === undefined)
+                                        long = 0;
+                                    if (long > $util.recursionLimit)
+                                        throw Error("maximum nesting depth exceeded");
                                     var message = new $root.google.cloud.sql.v1.ExportContext.SqlExportOptions.PostgresExportOptions();
                                     if (object.clean != null) {
                                         if (typeof object.clean !== "object")
                                             throw TypeError(".google.cloud.sql.v1.ExportContext.SqlExportOptions.PostgresExportOptions.clean: object expected");
-                                        message.clean = $root.google.protobuf.BoolValue.fromObject(object.clean);
+                                        message.clean = $root.google.protobuf.BoolValue.fromObject(object.clean, long + 1);
                                     }
                                     if (object.ifExists != null) {
                                         if (typeof object.ifExists !== "object")
                                             throw TypeError(".google.cloud.sql.v1.ExportContext.SqlExportOptions.PostgresExportOptions.ifExists: object expected");
-                                        message.ifExists = $root.google.protobuf.BoolValue.fromObject(object.ifExists);
+                                        message.ifExists = $root.google.protobuf.BoolValue.fromObject(object.ifExists, long + 1);
                                     }
                                     return message;
                                 };
@@ -9291,7 +9655,7 @@
                             function SqlBakExportOptions(properties) {
                                 if (properties)
                                     for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                        if (properties[keys[i]] != null)
+                                        if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                             this[keys[i]] = properties[keys[i]];
                             }
     
@@ -9416,9 +9780,13 @@
                              * @throws {Error} If the payload is not a reader or valid buffer
                              * @throws {$protobuf.util.ProtocolError} If required fields are missing
                              */
-                            SqlBakExportOptions.decode = function decode(reader, length, error) {
+                            SqlBakExportOptions.decode = function decode(reader, length, error, long) {
                                 if (!(reader instanceof $Reader))
                                     reader = $Reader.create(reader);
+                                if (long === undefined)
+                                    long = 0;
+                                if (long > $Reader.recursionLimit)
+                                    throw Error("maximum nesting depth exceeded");
                                 var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.ExportContext.SqlBakExportOptions();
                                 while (reader.pos < end) {
                                     var tag = reader.uint32();
@@ -9426,11 +9794,11 @@
                                         break;
                                     switch (tag >>> 3) {
                                     case 1: {
-                                            message.striped = $root.google.protobuf.BoolValue.decode(reader, reader.uint32());
+                                            message.striped = $root.google.protobuf.BoolValue.decode(reader, reader.uint32(), undefined, long + 1);
                                             break;
                                         }
                                     case 2: {
-                                            message.stripeCount = $root.google.protobuf.Int32Value.decode(reader, reader.uint32());
+                                            message.stripeCount = $root.google.protobuf.Int32Value.decode(reader, reader.uint32(), undefined, long + 1);
                                             break;
                                         }
                                     case 4: {
@@ -9438,23 +9806,23 @@
                                             break;
                                         }
                                     case 5: {
-                                            message.copyOnly = $root.google.protobuf.BoolValue.decode(reader, reader.uint32());
+                                            message.copyOnly = $root.google.protobuf.BoolValue.decode(reader, reader.uint32(), undefined, long + 1);
                                             break;
                                         }
                                     case 6: {
-                                            message.differentialBase = $root.google.protobuf.BoolValue.decode(reader, reader.uint32());
+                                            message.differentialBase = $root.google.protobuf.BoolValue.decode(reader, reader.uint32(), undefined, long + 1);
                                             break;
                                         }
                                     case 7: {
-                                            message.exportLogStartTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+                                            message.exportLogStartTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1);
                                             break;
                                         }
                                     case 8: {
-                                            message.exportLogEndTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+                                            message.exportLogEndTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1);
                                             break;
                                         }
                                     default:
-                                        reader.skipType(tag & 7);
+                                        reader.skipType(tag & 7, long);
                                         break;
                                     }
                                 }
@@ -9485,16 +9853,20 @@
                              * @param {Object.<string,*>} message Plain object to verify
                              * @returns {string|null} `null` if valid, otherwise the reason why it is not
                              */
-                            SqlBakExportOptions.verify = function verify(message) {
+                            SqlBakExportOptions.verify = function verify(message, long) {
                                 if (typeof message !== "object" || message === null)
                                     return "object expected";
+                                if (long === undefined)
+                                    long = 0;
+                                if (long > $util.recursionLimit)
+                                    return "maximum nesting depth exceeded";
                                 if (message.striped != null && message.hasOwnProperty("striped")) {
-                                    var error = $root.google.protobuf.BoolValue.verify(message.striped);
+                                    var error = $root.google.protobuf.BoolValue.verify(message.striped, long + 1);
                                     if (error)
                                         return "striped." + error;
                                 }
                                 if (message.stripeCount != null && message.hasOwnProperty("stripeCount")) {
-                                    var error = $root.google.protobuf.Int32Value.verify(message.stripeCount);
+                                    var error = $root.google.protobuf.Int32Value.verify(message.stripeCount, long + 1);
                                     if (error)
                                         return "stripeCount." + error;
                                 }
@@ -9509,22 +9881,22 @@
                                         break;
                                     }
                                 if (message.copyOnly != null && message.hasOwnProperty("copyOnly")) {
-                                    var error = $root.google.protobuf.BoolValue.verify(message.copyOnly);
+                                    var error = $root.google.protobuf.BoolValue.verify(message.copyOnly, long + 1);
                                     if (error)
                                         return "copyOnly." + error;
                                 }
                                 if (message.differentialBase != null && message.hasOwnProperty("differentialBase")) {
-                                    var error = $root.google.protobuf.BoolValue.verify(message.differentialBase);
+                                    var error = $root.google.protobuf.BoolValue.verify(message.differentialBase, long + 1);
                                     if (error)
                                         return "differentialBase." + error;
                                 }
                                 if (message.exportLogStartTime != null && message.hasOwnProperty("exportLogStartTime")) {
-                                    var error = $root.google.protobuf.Timestamp.verify(message.exportLogStartTime);
+                                    var error = $root.google.protobuf.Timestamp.verify(message.exportLogStartTime, long + 1);
                                     if (error)
                                         return "exportLogStartTime." + error;
                                 }
                                 if (message.exportLogEndTime != null && message.hasOwnProperty("exportLogEndTime")) {
-                                    var error = $root.google.protobuf.Timestamp.verify(message.exportLogEndTime);
+                                    var error = $root.google.protobuf.Timestamp.verify(message.exportLogEndTime, long + 1);
                                     if (error)
                                         return "exportLogEndTime." + error;
                                 }
@@ -9539,19 +9911,23 @@
                              * @param {Object.<string,*>} object Plain object
                              * @returns {google.cloud.sql.v1.ExportContext.SqlBakExportOptions} SqlBakExportOptions
                              */
-                            SqlBakExportOptions.fromObject = function fromObject(object) {
+                            SqlBakExportOptions.fromObject = function fromObject(object, long) {
                                 if (object instanceof $root.google.cloud.sql.v1.ExportContext.SqlBakExportOptions)
                                     return object;
+                                if (long === undefined)
+                                    long = 0;
+                                if (long > $util.recursionLimit)
+                                    throw Error("maximum nesting depth exceeded");
                                 var message = new $root.google.cloud.sql.v1.ExportContext.SqlBakExportOptions();
                                 if (object.striped != null) {
                                     if (typeof object.striped !== "object")
                                         throw TypeError(".google.cloud.sql.v1.ExportContext.SqlBakExportOptions.striped: object expected");
-                                    message.striped = $root.google.protobuf.BoolValue.fromObject(object.striped);
+                                    message.striped = $root.google.protobuf.BoolValue.fromObject(object.striped, long + 1);
                                 }
                                 if (object.stripeCount != null) {
                                     if (typeof object.stripeCount !== "object")
                                         throw TypeError(".google.cloud.sql.v1.ExportContext.SqlBakExportOptions.stripeCount: object expected");
-                                    message.stripeCount = $root.google.protobuf.Int32Value.fromObject(object.stripeCount);
+                                    message.stripeCount = $root.google.protobuf.Int32Value.fromObject(object.stripeCount, long + 1);
                                 }
                                 switch (object.bakType) {
                                 default:
@@ -9580,22 +9956,22 @@
                                 if (object.copyOnly != null) {
                                     if (typeof object.copyOnly !== "object")
                                         throw TypeError(".google.cloud.sql.v1.ExportContext.SqlBakExportOptions.copyOnly: object expected");
-                                    message.copyOnly = $root.google.protobuf.BoolValue.fromObject(object.copyOnly);
+                                    message.copyOnly = $root.google.protobuf.BoolValue.fromObject(object.copyOnly, long + 1);
                                 }
                                 if (object.differentialBase != null) {
                                     if (typeof object.differentialBase !== "object")
                                         throw TypeError(".google.cloud.sql.v1.ExportContext.SqlBakExportOptions.differentialBase: object expected");
-                                    message.differentialBase = $root.google.protobuf.BoolValue.fromObject(object.differentialBase);
+                                    message.differentialBase = $root.google.protobuf.BoolValue.fromObject(object.differentialBase, long + 1);
                                 }
                                 if (object.exportLogStartTime != null) {
                                     if (typeof object.exportLogStartTime !== "object")
                                         throw TypeError(".google.cloud.sql.v1.ExportContext.SqlBakExportOptions.exportLogStartTime: object expected");
-                                    message.exportLogStartTime = $root.google.protobuf.Timestamp.fromObject(object.exportLogStartTime);
+                                    message.exportLogStartTime = $root.google.protobuf.Timestamp.fromObject(object.exportLogStartTime, long + 1);
                                 }
                                 if (object.exportLogEndTime != null) {
                                     if (typeof object.exportLogEndTime !== "object")
                                         throw TypeError(".google.cloud.sql.v1.ExportContext.SqlBakExportOptions.exportLogEndTime: object expected");
-                                    message.exportLogEndTime = $root.google.protobuf.Timestamp.fromObject(object.exportLogEndTime);
+                                    message.exportLogEndTime = $root.google.protobuf.Timestamp.fromObject(object.exportLogEndTime, long + 1);
                                 }
                                 return message;
                             };
@@ -9691,7 +10067,7 @@
                             function SqlTdeExportOptions(properties) {
                                 if (properties)
                                     for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                        if (properties[keys[i]] != null)
+                                        if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                             this[keys[i]] = properties[keys[i]];
                             }
     
@@ -9786,9 +10162,13 @@
                              * @throws {Error} If the payload is not a reader or valid buffer
                              * @throws {$protobuf.util.ProtocolError} If required fields are missing
                              */
-                            SqlTdeExportOptions.decode = function decode(reader, length, error) {
+                            SqlTdeExportOptions.decode = function decode(reader, length, error, long) {
                                 if (!(reader instanceof $Reader))
                                     reader = $Reader.create(reader);
+                                if (long === undefined)
+                                    long = 0;
+                                if (long > $Reader.recursionLimit)
+                                    throw Error("maximum nesting depth exceeded");
                                 var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.ExportContext.SqlTdeExportOptions();
                                 while (reader.pos < end) {
                                     var tag = reader.uint32();
@@ -9812,7 +10192,7 @@
                                             break;
                                         }
                                     default:
-                                        reader.skipType(tag & 7);
+                                        reader.skipType(tag & 7, long);
                                         break;
                                     }
                                 }
@@ -9843,9 +10223,13 @@
                              * @param {Object.<string,*>} message Plain object to verify
                              * @returns {string|null} `null` if valid, otherwise the reason why it is not
                              */
-                            SqlTdeExportOptions.verify = function verify(message) {
+                            SqlTdeExportOptions.verify = function verify(message, long) {
                                 if (typeof message !== "object" || message === null)
                                     return "object expected";
+                                if (long === undefined)
+                                    long = 0;
+                                if (long > $util.recursionLimit)
+                                    return "maximum nesting depth exceeded";
                                 if (message.certificatePath != null && message.hasOwnProperty("certificatePath"))
                                     if (!$util.isString(message.certificatePath))
                                         return "certificatePath: string expected";
@@ -9869,9 +10253,13 @@
                              * @param {Object.<string,*>} object Plain object
                              * @returns {google.cloud.sql.v1.ExportContext.SqlTdeExportOptions} SqlTdeExportOptions
                              */
-                            SqlTdeExportOptions.fromObject = function fromObject(object) {
+                            SqlTdeExportOptions.fromObject = function fromObject(object, long) {
                                 if (object instanceof $root.google.cloud.sql.v1.ExportContext.SqlTdeExportOptions)
                                     return object;
+                                if (long === undefined)
+                                    long = 0;
+                                if (long > $util.recursionLimit)
+                                    throw Error("maximum nesting depth exceeded");
                                 var message = new $root.google.cloud.sql.v1.ExportContext.SqlTdeExportOptions();
                                 if (object.certificatePath != null)
                                     message.certificatePath = String(object.certificatePath);
@@ -9974,7 +10362,7 @@
                         function ImportContext(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -10119,9 +10507,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        ImportContext.decode = function decode(reader, length, error) {
+                        ImportContext.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.ImportContext();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -10145,7 +10537,7 @@
                                         break;
                                     }
                                 case 5: {
-                                        message.csvImportOptions = $root.google.cloud.sql.v1.ImportContext.SqlCsvImportOptions.decode(reader, reader.uint32());
+                                        message.csvImportOptions = $root.google.cloud.sql.v1.ImportContext.SqlCsvImportOptions.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 6: {
@@ -10153,19 +10545,19 @@
                                         break;
                                     }
                                 case 7: {
-                                        message.bakImportOptions = $root.google.cloud.sql.v1.ImportContext.SqlBakImportOptions.decode(reader, reader.uint32());
+                                        message.bakImportOptions = $root.google.cloud.sql.v1.ImportContext.SqlBakImportOptions.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 8: {
-                                        message.sqlImportOptions = $root.google.cloud.sql.v1.ImportContext.SqlImportOptions.decode(reader, reader.uint32());
+                                        message.sqlImportOptions = $root.google.cloud.sql.v1.ImportContext.SqlImportOptions.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 9: {
-                                        message.tdeImportOptions = $root.google.cloud.sql.v1.ImportContext.SqlTdeImportOptions.decode(reader, reader.uint32());
+                                        message.tdeImportOptions = $root.google.cloud.sql.v1.ImportContext.SqlTdeImportOptions.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -10196,9 +10588,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        ImportContext.verify = function verify(message) {
+                        ImportContext.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.uri != null && message.hasOwnProperty("uri"))
                                 if (!$util.isString(message.uri))
                                     return "uri: string expected";
@@ -10220,7 +10616,7 @@
                                     break;
                                 }
                             if (message.csvImportOptions != null && message.hasOwnProperty("csvImportOptions")) {
-                                var error = $root.google.cloud.sql.v1.ImportContext.SqlCsvImportOptions.verify(message.csvImportOptions);
+                                var error = $root.google.cloud.sql.v1.ImportContext.SqlCsvImportOptions.verify(message.csvImportOptions, long + 1);
                                 if (error)
                                     return "csvImportOptions." + error;
                             }
@@ -10228,17 +10624,17 @@
                                 if (!$util.isString(message.importUser))
                                     return "importUser: string expected";
                             if (message.bakImportOptions != null && message.hasOwnProperty("bakImportOptions")) {
-                                var error = $root.google.cloud.sql.v1.ImportContext.SqlBakImportOptions.verify(message.bakImportOptions);
+                                var error = $root.google.cloud.sql.v1.ImportContext.SqlBakImportOptions.verify(message.bakImportOptions, long + 1);
                                 if (error)
                                     return "bakImportOptions." + error;
                             }
                             if (message.sqlImportOptions != null && message.hasOwnProperty("sqlImportOptions")) {
-                                var error = $root.google.cloud.sql.v1.ImportContext.SqlImportOptions.verify(message.sqlImportOptions);
+                                var error = $root.google.cloud.sql.v1.ImportContext.SqlImportOptions.verify(message.sqlImportOptions, long + 1);
                                 if (error)
                                     return "sqlImportOptions." + error;
                             }
                             if (message.tdeImportOptions != null && message.hasOwnProperty("tdeImportOptions")) {
-                                var error = $root.google.cloud.sql.v1.ImportContext.SqlTdeImportOptions.verify(message.tdeImportOptions);
+                                var error = $root.google.cloud.sql.v1.ImportContext.SqlTdeImportOptions.verify(message.tdeImportOptions, long + 1);
                                 if (error)
                                     return "tdeImportOptions." + error;
                             }
@@ -10253,9 +10649,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.ImportContext} ImportContext
                          */
-                        ImportContext.fromObject = function fromObject(object) {
+                        ImportContext.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.ImportContext)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.ImportContext();
                             if (object.uri != null)
                                 message.uri = String(object.uri);
@@ -10294,24 +10694,24 @@
                             if (object.csvImportOptions != null) {
                                 if (typeof object.csvImportOptions !== "object")
                                     throw TypeError(".google.cloud.sql.v1.ImportContext.csvImportOptions: object expected");
-                                message.csvImportOptions = $root.google.cloud.sql.v1.ImportContext.SqlCsvImportOptions.fromObject(object.csvImportOptions);
+                                message.csvImportOptions = $root.google.cloud.sql.v1.ImportContext.SqlCsvImportOptions.fromObject(object.csvImportOptions, long + 1);
                             }
                             if (object.importUser != null)
                                 message.importUser = String(object.importUser);
                             if (object.bakImportOptions != null) {
                                 if (typeof object.bakImportOptions !== "object")
                                     throw TypeError(".google.cloud.sql.v1.ImportContext.bakImportOptions: object expected");
-                                message.bakImportOptions = $root.google.cloud.sql.v1.ImportContext.SqlBakImportOptions.fromObject(object.bakImportOptions);
+                                message.bakImportOptions = $root.google.cloud.sql.v1.ImportContext.SqlBakImportOptions.fromObject(object.bakImportOptions, long + 1);
                             }
                             if (object.sqlImportOptions != null) {
                                 if (typeof object.sqlImportOptions !== "object")
                                     throw TypeError(".google.cloud.sql.v1.ImportContext.sqlImportOptions: object expected");
-                                message.sqlImportOptions = $root.google.cloud.sql.v1.ImportContext.SqlImportOptions.fromObject(object.sqlImportOptions);
+                                message.sqlImportOptions = $root.google.cloud.sql.v1.ImportContext.SqlImportOptions.fromObject(object.sqlImportOptions, long + 1);
                             }
                             if (object.tdeImportOptions != null) {
                                 if (typeof object.tdeImportOptions !== "object")
                                     throw TypeError(".google.cloud.sql.v1.ImportContext.tdeImportOptions: object expected");
-                                message.tdeImportOptions = $root.google.cloud.sql.v1.ImportContext.SqlTdeImportOptions.fromObject(object.tdeImportOptions);
+                                message.tdeImportOptions = $root.google.cloud.sql.v1.ImportContext.SqlTdeImportOptions.fromObject(object.tdeImportOptions, long + 1);
                             }
                             return message;
                         };
@@ -10409,7 +10809,7 @@
                             function SqlImportOptions(properties) {
                                 if (properties)
                                     for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                        if (properties[keys[i]] != null)
+                                        if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                             this[keys[i]] = properties[keys[i]];
                             }
     
@@ -10494,9 +10894,13 @@
                              * @throws {Error} If the payload is not a reader or valid buffer
                              * @throws {$protobuf.util.ProtocolError} If required fields are missing
                              */
-                            SqlImportOptions.decode = function decode(reader, length, error) {
+                            SqlImportOptions.decode = function decode(reader, length, error, long) {
                                 if (!(reader instanceof $Reader))
                                     reader = $Reader.create(reader);
+                                if (long === undefined)
+                                    long = 0;
+                                if (long > $Reader.recursionLimit)
+                                    throw Error("maximum nesting depth exceeded");
                                 var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.ImportContext.SqlImportOptions();
                                 while (reader.pos < end) {
                                     var tag = reader.uint32();
@@ -10504,19 +10908,19 @@
                                         break;
                                     switch (tag >>> 3) {
                                     case 1: {
-                                            message.threads = $root.google.protobuf.Int32Value.decode(reader, reader.uint32());
+                                            message.threads = $root.google.protobuf.Int32Value.decode(reader, reader.uint32(), undefined, long + 1);
                                             break;
                                         }
                                     case 2: {
-                                            message.parallel = $root.google.protobuf.BoolValue.decode(reader, reader.uint32());
+                                            message.parallel = $root.google.protobuf.BoolValue.decode(reader, reader.uint32(), undefined, long + 1);
                                             break;
                                         }
                                     case 3: {
-                                            message.postgresImportOptions = $root.google.cloud.sql.v1.ImportContext.SqlImportOptions.PostgresImportOptions.decode(reader, reader.uint32());
+                                            message.postgresImportOptions = $root.google.cloud.sql.v1.ImportContext.SqlImportOptions.PostgresImportOptions.decode(reader, reader.uint32(), undefined, long + 1);
                                             break;
                                         }
                                     default:
-                                        reader.skipType(tag & 7);
+                                        reader.skipType(tag & 7, long);
                                         break;
                                     }
                                 }
@@ -10547,21 +10951,25 @@
                              * @param {Object.<string,*>} message Plain object to verify
                              * @returns {string|null} `null` if valid, otherwise the reason why it is not
                              */
-                            SqlImportOptions.verify = function verify(message) {
+                            SqlImportOptions.verify = function verify(message, long) {
                                 if (typeof message !== "object" || message === null)
                                     return "object expected";
+                                if (long === undefined)
+                                    long = 0;
+                                if (long > $util.recursionLimit)
+                                    return "maximum nesting depth exceeded";
                                 if (message.threads != null && message.hasOwnProperty("threads")) {
-                                    var error = $root.google.protobuf.Int32Value.verify(message.threads);
+                                    var error = $root.google.protobuf.Int32Value.verify(message.threads, long + 1);
                                     if (error)
                                         return "threads." + error;
                                 }
                                 if (message.parallel != null && message.hasOwnProperty("parallel")) {
-                                    var error = $root.google.protobuf.BoolValue.verify(message.parallel);
+                                    var error = $root.google.protobuf.BoolValue.verify(message.parallel, long + 1);
                                     if (error)
                                         return "parallel." + error;
                                 }
                                 if (message.postgresImportOptions != null && message.hasOwnProperty("postgresImportOptions")) {
-                                    var error = $root.google.cloud.sql.v1.ImportContext.SqlImportOptions.PostgresImportOptions.verify(message.postgresImportOptions);
+                                    var error = $root.google.cloud.sql.v1.ImportContext.SqlImportOptions.PostgresImportOptions.verify(message.postgresImportOptions, long + 1);
                                     if (error)
                                         return "postgresImportOptions." + error;
                                 }
@@ -10576,24 +10984,28 @@
                              * @param {Object.<string,*>} object Plain object
                              * @returns {google.cloud.sql.v1.ImportContext.SqlImportOptions} SqlImportOptions
                              */
-                            SqlImportOptions.fromObject = function fromObject(object) {
+                            SqlImportOptions.fromObject = function fromObject(object, long) {
                                 if (object instanceof $root.google.cloud.sql.v1.ImportContext.SqlImportOptions)
                                     return object;
+                                if (long === undefined)
+                                    long = 0;
+                                if (long > $util.recursionLimit)
+                                    throw Error("maximum nesting depth exceeded");
                                 var message = new $root.google.cloud.sql.v1.ImportContext.SqlImportOptions();
                                 if (object.threads != null) {
                                     if (typeof object.threads !== "object")
                                         throw TypeError(".google.cloud.sql.v1.ImportContext.SqlImportOptions.threads: object expected");
-                                    message.threads = $root.google.protobuf.Int32Value.fromObject(object.threads);
+                                    message.threads = $root.google.protobuf.Int32Value.fromObject(object.threads, long + 1);
                                 }
                                 if (object.parallel != null) {
                                     if (typeof object.parallel !== "object")
                                         throw TypeError(".google.cloud.sql.v1.ImportContext.SqlImportOptions.parallel: object expected");
-                                    message.parallel = $root.google.protobuf.BoolValue.fromObject(object.parallel);
+                                    message.parallel = $root.google.protobuf.BoolValue.fromObject(object.parallel, long + 1);
                                 }
                                 if (object.postgresImportOptions != null) {
                                     if (typeof object.postgresImportOptions !== "object")
                                         throw TypeError(".google.cloud.sql.v1.ImportContext.SqlImportOptions.postgresImportOptions: object expected");
-                                    message.postgresImportOptions = $root.google.cloud.sql.v1.ImportContext.SqlImportOptions.PostgresImportOptions.fromObject(object.postgresImportOptions);
+                                    message.postgresImportOptions = $root.google.cloud.sql.v1.ImportContext.SqlImportOptions.PostgresImportOptions.fromObject(object.postgresImportOptions, long + 1);
                                 }
                                 return message;
                             };
@@ -10672,7 +11084,7 @@
                                 function PostgresImportOptions(properties) {
                                     if (properties)
                                         for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                            if (properties[keys[i]] != null)
+                                            if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                                 this[keys[i]] = properties[keys[i]];
                                 }
     
@@ -10747,9 +11159,13 @@
                                  * @throws {Error} If the payload is not a reader or valid buffer
                                  * @throws {$protobuf.util.ProtocolError} If required fields are missing
                                  */
-                                PostgresImportOptions.decode = function decode(reader, length, error) {
+                                PostgresImportOptions.decode = function decode(reader, length, error, long) {
                                     if (!(reader instanceof $Reader))
                                         reader = $Reader.create(reader);
+                                    if (long === undefined)
+                                        long = 0;
+                                    if (long > $Reader.recursionLimit)
+                                        throw Error("maximum nesting depth exceeded");
                                     var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.ImportContext.SqlImportOptions.PostgresImportOptions();
                                     while (reader.pos < end) {
                                         var tag = reader.uint32();
@@ -10757,15 +11173,15 @@
                                             break;
                                         switch (tag >>> 3) {
                                         case 1: {
-                                                message.clean = $root.google.protobuf.BoolValue.decode(reader, reader.uint32());
+                                                message.clean = $root.google.protobuf.BoolValue.decode(reader, reader.uint32(), undefined, long + 1);
                                                 break;
                                             }
                                         case 2: {
-                                                message.ifExists = $root.google.protobuf.BoolValue.decode(reader, reader.uint32());
+                                                message.ifExists = $root.google.protobuf.BoolValue.decode(reader, reader.uint32(), undefined, long + 1);
                                                 break;
                                             }
                                         default:
-                                            reader.skipType(tag & 7);
+                                            reader.skipType(tag & 7, long);
                                             break;
                                         }
                                     }
@@ -10796,16 +11212,20 @@
                                  * @param {Object.<string,*>} message Plain object to verify
                                  * @returns {string|null} `null` if valid, otherwise the reason why it is not
                                  */
-                                PostgresImportOptions.verify = function verify(message) {
+                                PostgresImportOptions.verify = function verify(message, long) {
                                     if (typeof message !== "object" || message === null)
                                         return "object expected";
+                                    if (long === undefined)
+                                        long = 0;
+                                    if (long > $util.recursionLimit)
+                                        return "maximum nesting depth exceeded";
                                     if (message.clean != null && message.hasOwnProperty("clean")) {
-                                        var error = $root.google.protobuf.BoolValue.verify(message.clean);
+                                        var error = $root.google.protobuf.BoolValue.verify(message.clean, long + 1);
                                         if (error)
                                             return "clean." + error;
                                     }
                                     if (message.ifExists != null && message.hasOwnProperty("ifExists")) {
-                                        var error = $root.google.protobuf.BoolValue.verify(message.ifExists);
+                                        var error = $root.google.protobuf.BoolValue.verify(message.ifExists, long + 1);
                                         if (error)
                                             return "ifExists." + error;
                                     }
@@ -10820,19 +11240,23 @@
                                  * @param {Object.<string,*>} object Plain object
                                  * @returns {google.cloud.sql.v1.ImportContext.SqlImportOptions.PostgresImportOptions} PostgresImportOptions
                                  */
-                                PostgresImportOptions.fromObject = function fromObject(object) {
+                                PostgresImportOptions.fromObject = function fromObject(object, long) {
                                     if (object instanceof $root.google.cloud.sql.v1.ImportContext.SqlImportOptions.PostgresImportOptions)
                                         return object;
+                                    if (long === undefined)
+                                        long = 0;
+                                    if (long > $util.recursionLimit)
+                                        throw Error("maximum nesting depth exceeded");
                                     var message = new $root.google.cloud.sql.v1.ImportContext.SqlImportOptions.PostgresImportOptions();
                                     if (object.clean != null) {
                                         if (typeof object.clean !== "object")
                                             throw TypeError(".google.cloud.sql.v1.ImportContext.SqlImportOptions.PostgresImportOptions.clean: object expected");
-                                        message.clean = $root.google.protobuf.BoolValue.fromObject(object.clean);
+                                        message.clean = $root.google.protobuf.BoolValue.fromObject(object.clean, long + 1);
                                     }
                                     if (object.ifExists != null) {
                                         if (typeof object.ifExists !== "object")
                                             throw TypeError(".google.cloud.sql.v1.ImportContext.SqlImportOptions.PostgresImportOptions.ifExists: object expected");
-                                        message.ifExists = $root.google.protobuf.BoolValue.fromObject(object.ifExists);
+                                        message.ifExists = $root.google.protobuf.BoolValue.fromObject(object.ifExists, long + 1);
                                     }
                                     return message;
                                 };
@@ -10919,7 +11343,7 @@
                                 this.columns = [];
                                 if (properties)
                                     for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                        if (properties[keys[i]] != null)
+                                        if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                             this[keys[i]] = properties[keys[i]];
                             }
     
@@ -11035,9 +11459,13 @@
                              * @throws {Error} If the payload is not a reader or valid buffer
                              * @throws {$protobuf.util.ProtocolError} If required fields are missing
                              */
-                            SqlCsvImportOptions.decode = function decode(reader, length, error) {
+                            SqlCsvImportOptions.decode = function decode(reader, length, error, long) {
                                 if (!(reader instanceof $Reader))
                                     reader = $Reader.create(reader);
+                                if (long === undefined)
+                                    long = 0;
+                                if (long > $Reader.recursionLimit)
+                                    throw Error("maximum nesting depth exceeded");
                                 var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.ImportContext.SqlCsvImportOptions();
                                 while (reader.pos < end) {
                                     var tag = reader.uint32();
@@ -11071,7 +11499,7 @@
                                             break;
                                         }
                                     default:
-                                        reader.skipType(tag & 7);
+                                        reader.skipType(tag & 7, long);
                                         break;
                                     }
                                 }
@@ -11102,9 +11530,13 @@
                              * @param {Object.<string,*>} message Plain object to verify
                              * @returns {string|null} `null` if valid, otherwise the reason why it is not
                              */
-                            SqlCsvImportOptions.verify = function verify(message) {
+                            SqlCsvImportOptions.verify = function verify(message, long) {
                                 if (typeof message !== "object" || message === null)
                                     return "object expected";
+                                if (long === undefined)
+                                    long = 0;
+                                if (long > $util.recursionLimit)
+                                    return "maximum nesting depth exceeded";
                                 if (message.table != null && message.hasOwnProperty("table"))
                                     if (!$util.isString(message.table))
                                         return "table: string expected";
@@ -11138,9 +11570,13 @@
                              * @param {Object.<string,*>} object Plain object
                              * @returns {google.cloud.sql.v1.ImportContext.SqlCsvImportOptions} SqlCsvImportOptions
                              */
-                            SqlCsvImportOptions.fromObject = function fromObject(object) {
+                            SqlCsvImportOptions.fromObject = function fromObject(object, long) {
                                 if (object instanceof $root.google.cloud.sql.v1.ImportContext.SqlCsvImportOptions)
                                     return object;
+                                if (long === undefined)
+                                    long = 0;
+                                if (long > $util.recursionLimit)
+                                    throw Error("maximum nesting depth exceeded");
                                 var message = new $root.google.cloud.sql.v1.ImportContext.SqlCsvImportOptions();
                                 if (object.table != null)
                                     message.table = String(object.table);
@@ -11257,7 +11693,7 @@
                             function SqlBakImportOptions(properties) {
                                 if (properties)
                                     for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                        if (properties[keys[i]] != null)
+                                        if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                             this[keys[i]] = properties[keys[i]];
                             }
     
@@ -11382,9 +11818,13 @@
                              * @throws {Error} If the payload is not a reader or valid buffer
                              * @throws {$protobuf.util.ProtocolError} If required fields are missing
                              */
-                            SqlBakImportOptions.decode = function decode(reader, length, error) {
+                            SqlBakImportOptions.decode = function decode(reader, length, error, long) {
                                 if (!(reader instanceof $Reader))
                                     reader = $Reader.create(reader);
+                                if (long === undefined)
+                                    long = 0;
+                                if (long > $Reader.recursionLimit)
+                                    throw Error("maximum nesting depth exceeded");
                                 var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.ImportContext.SqlBakImportOptions();
                                 while (reader.pos < end) {
                                     var tag = reader.uint32();
@@ -11392,19 +11832,19 @@
                                         break;
                                     switch (tag >>> 3) {
                                     case 1: {
-                                            message.encryptionOptions = $root.google.cloud.sql.v1.ImportContext.SqlBakImportOptions.EncryptionOptions.decode(reader, reader.uint32());
+                                            message.encryptionOptions = $root.google.cloud.sql.v1.ImportContext.SqlBakImportOptions.EncryptionOptions.decode(reader, reader.uint32(), undefined, long + 1);
                                             break;
                                         }
                                     case 2: {
-                                            message.striped = $root.google.protobuf.BoolValue.decode(reader, reader.uint32());
+                                            message.striped = $root.google.protobuf.BoolValue.decode(reader, reader.uint32(), undefined, long + 1);
                                             break;
                                         }
                                     case 4: {
-                                            message.noRecovery = $root.google.protobuf.BoolValue.decode(reader, reader.uint32());
+                                            message.noRecovery = $root.google.protobuf.BoolValue.decode(reader, reader.uint32(), undefined, long + 1);
                                             break;
                                         }
                                     case 5: {
-                                            message.recoveryOnly = $root.google.protobuf.BoolValue.decode(reader, reader.uint32());
+                                            message.recoveryOnly = $root.google.protobuf.BoolValue.decode(reader, reader.uint32(), undefined, long + 1);
                                             break;
                                         }
                                     case 6: {
@@ -11412,7 +11852,7 @@
                                             break;
                                         }
                                     case 7: {
-                                            message.stopAt = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+                                            message.stopAt = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1);
                                             break;
                                         }
                                     case 8: {
@@ -11420,7 +11860,7 @@
                                             break;
                                         }
                                     default:
-                                        reader.skipType(tag & 7);
+                                        reader.skipType(tag & 7, long);
                                         break;
                                     }
                                 }
@@ -11451,26 +11891,30 @@
                              * @param {Object.<string,*>} message Plain object to verify
                              * @returns {string|null} `null` if valid, otherwise the reason why it is not
                              */
-                            SqlBakImportOptions.verify = function verify(message) {
+                            SqlBakImportOptions.verify = function verify(message, long) {
                                 if (typeof message !== "object" || message === null)
                                     return "object expected";
+                                if (long === undefined)
+                                    long = 0;
+                                if (long > $util.recursionLimit)
+                                    return "maximum nesting depth exceeded";
                                 if (message.encryptionOptions != null && message.hasOwnProperty("encryptionOptions")) {
-                                    var error = $root.google.cloud.sql.v1.ImportContext.SqlBakImportOptions.EncryptionOptions.verify(message.encryptionOptions);
+                                    var error = $root.google.cloud.sql.v1.ImportContext.SqlBakImportOptions.EncryptionOptions.verify(message.encryptionOptions, long + 1);
                                     if (error)
                                         return "encryptionOptions." + error;
                                 }
                                 if (message.striped != null && message.hasOwnProperty("striped")) {
-                                    var error = $root.google.protobuf.BoolValue.verify(message.striped);
+                                    var error = $root.google.protobuf.BoolValue.verify(message.striped, long + 1);
                                     if (error)
                                         return "striped." + error;
                                 }
                                 if (message.noRecovery != null && message.hasOwnProperty("noRecovery")) {
-                                    var error = $root.google.protobuf.BoolValue.verify(message.noRecovery);
+                                    var error = $root.google.protobuf.BoolValue.verify(message.noRecovery, long + 1);
                                     if (error)
                                         return "noRecovery." + error;
                                 }
                                 if (message.recoveryOnly != null && message.hasOwnProperty("recoveryOnly")) {
-                                    var error = $root.google.protobuf.BoolValue.verify(message.recoveryOnly);
+                                    var error = $root.google.protobuf.BoolValue.verify(message.recoveryOnly, long + 1);
                                     if (error)
                                         return "recoveryOnly." + error;
                                 }
@@ -11485,7 +11929,7 @@
                                         break;
                                     }
                                 if (message.stopAt != null && message.hasOwnProperty("stopAt")) {
-                                    var error = $root.google.protobuf.Timestamp.verify(message.stopAt);
+                                    var error = $root.google.protobuf.Timestamp.verify(message.stopAt, long + 1);
                                     if (error)
                                         return "stopAt." + error;
                                 }
@@ -11503,29 +11947,33 @@
                              * @param {Object.<string,*>} object Plain object
                              * @returns {google.cloud.sql.v1.ImportContext.SqlBakImportOptions} SqlBakImportOptions
                              */
-                            SqlBakImportOptions.fromObject = function fromObject(object) {
+                            SqlBakImportOptions.fromObject = function fromObject(object, long) {
                                 if (object instanceof $root.google.cloud.sql.v1.ImportContext.SqlBakImportOptions)
                                     return object;
+                                if (long === undefined)
+                                    long = 0;
+                                if (long > $util.recursionLimit)
+                                    throw Error("maximum nesting depth exceeded");
                                 var message = new $root.google.cloud.sql.v1.ImportContext.SqlBakImportOptions();
                                 if (object.encryptionOptions != null) {
                                     if (typeof object.encryptionOptions !== "object")
                                         throw TypeError(".google.cloud.sql.v1.ImportContext.SqlBakImportOptions.encryptionOptions: object expected");
-                                    message.encryptionOptions = $root.google.cloud.sql.v1.ImportContext.SqlBakImportOptions.EncryptionOptions.fromObject(object.encryptionOptions);
+                                    message.encryptionOptions = $root.google.cloud.sql.v1.ImportContext.SqlBakImportOptions.EncryptionOptions.fromObject(object.encryptionOptions, long + 1);
                                 }
                                 if (object.striped != null) {
                                     if (typeof object.striped !== "object")
                                         throw TypeError(".google.cloud.sql.v1.ImportContext.SqlBakImportOptions.striped: object expected");
-                                    message.striped = $root.google.protobuf.BoolValue.fromObject(object.striped);
+                                    message.striped = $root.google.protobuf.BoolValue.fromObject(object.striped, long + 1);
                                 }
                                 if (object.noRecovery != null) {
                                     if (typeof object.noRecovery !== "object")
                                         throw TypeError(".google.cloud.sql.v1.ImportContext.SqlBakImportOptions.noRecovery: object expected");
-                                    message.noRecovery = $root.google.protobuf.BoolValue.fromObject(object.noRecovery);
+                                    message.noRecovery = $root.google.protobuf.BoolValue.fromObject(object.noRecovery, long + 1);
                                 }
                                 if (object.recoveryOnly != null) {
                                     if (typeof object.recoveryOnly !== "object")
                                         throw TypeError(".google.cloud.sql.v1.ImportContext.SqlBakImportOptions.recoveryOnly: object expected");
-                                    message.recoveryOnly = $root.google.protobuf.BoolValue.fromObject(object.recoveryOnly);
+                                    message.recoveryOnly = $root.google.protobuf.BoolValue.fromObject(object.recoveryOnly, long + 1);
                                 }
                                 switch (object.bakType) {
                                 default:
@@ -11554,7 +12002,7 @@
                                 if (object.stopAt != null) {
                                     if (typeof object.stopAt !== "object")
                                         throw TypeError(".google.cloud.sql.v1.ImportContext.SqlBakImportOptions.stopAt: object expected");
-                                    message.stopAt = $root.google.protobuf.Timestamp.fromObject(object.stopAt);
+                                    message.stopAt = $root.google.protobuf.Timestamp.fromObject(object.stopAt, long + 1);
                                 }
                                 if (object.stopAtMark != null)
                                     message.stopAtMark = String(object.stopAtMark);
@@ -11649,7 +12097,7 @@
                                 function EncryptionOptions(properties) {
                                     if (properties)
                                         for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                            if (properties[keys[i]] != null)
+                                            if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                                 this[keys[i]] = properties[keys[i]];
                                 }
     
@@ -11744,9 +12192,13 @@
                                  * @throws {Error} If the payload is not a reader or valid buffer
                                  * @throws {$protobuf.util.ProtocolError} If required fields are missing
                                  */
-                                EncryptionOptions.decode = function decode(reader, length, error) {
+                                EncryptionOptions.decode = function decode(reader, length, error, long) {
                                     if (!(reader instanceof $Reader))
                                         reader = $Reader.create(reader);
+                                    if (long === undefined)
+                                        long = 0;
+                                    if (long > $Reader.recursionLimit)
+                                        throw Error("maximum nesting depth exceeded");
                                     var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.ImportContext.SqlBakImportOptions.EncryptionOptions();
                                     while (reader.pos < end) {
                                         var tag = reader.uint32();
@@ -11766,11 +12218,11 @@
                                                 break;
                                             }
                                         case 5: {
-                                                message.keepEncrypted = $root.google.protobuf.BoolValue.decode(reader, reader.uint32());
+                                                message.keepEncrypted = $root.google.protobuf.BoolValue.decode(reader, reader.uint32(), undefined, long + 1);
                                                 break;
                                             }
                                         default:
-                                            reader.skipType(tag & 7);
+                                            reader.skipType(tag & 7, long);
                                             break;
                                         }
                                     }
@@ -11801,9 +12253,13 @@
                                  * @param {Object.<string,*>} message Plain object to verify
                                  * @returns {string|null} `null` if valid, otherwise the reason why it is not
                                  */
-                                EncryptionOptions.verify = function verify(message) {
+                                EncryptionOptions.verify = function verify(message, long) {
                                     if (typeof message !== "object" || message === null)
                                         return "object expected";
+                                    if (long === undefined)
+                                        long = 0;
+                                    if (long > $util.recursionLimit)
+                                        return "maximum nesting depth exceeded";
                                     if (message.certPath != null && message.hasOwnProperty("certPath"))
                                         if (!$util.isString(message.certPath))
                                             return "certPath: string expected";
@@ -11814,7 +12270,7 @@
                                         if (!$util.isString(message.pvkPassword))
                                             return "pvkPassword: string expected";
                                     if (message.keepEncrypted != null && message.hasOwnProperty("keepEncrypted")) {
-                                        var error = $root.google.protobuf.BoolValue.verify(message.keepEncrypted);
+                                        var error = $root.google.protobuf.BoolValue.verify(message.keepEncrypted, long + 1);
                                         if (error)
                                             return "keepEncrypted." + error;
                                     }
@@ -11829,9 +12285,13 @@
                                  * @param {Object.<string,*>} object Plain object
                                  * @returns {google.cloud.sql.v1.ImportContext.SqlBakImportOptions.EncryptionOptions} EncryptionOptions
                                  */
-                                EncryptionOptions.fromObject = function fromObject(object) {
+                                EncryptionOptions.fromObject = function fromObject(object, long) {
                                     if (object instanceof $root.google.cloud.sql.v1.ImportContext.SqlBakImportOptions.EncryptionOptions)
                                         return object;
+                                    if (long === undefined)
+                                        long = 0;
+                                    if (long > $util.recursionLimit)
+                                        throw Error("maximum nesting depth exceeded");
                                     var message = new $root.google.cloud.sql.v1.ImportContext.SqlBakImportOptions.EncryptionOptions();
                                     if (object.certPath != null)
                                         message.certPath = String(object.certPath);
@@ -11842,7 +12302,7 @@
                                     if (object.keepEncrypted != null) {
                                         if (typeof object.keepEncrypted !== "object")
                                             throw TypeError(".google.cloud.sql.v1.ImportContext.SqlBakImportOptions.EncryptionOptions.keepEncrypted: object expected");
-                                        message.keepEncrypted = $root.google.protobuf.BoolValue.fromObject(object.keepEncrypted);
+                                        message.keepEncrypted = $root.google.protobuf.BoolValue.fromObject(object.keepEncrypted, long + 1);
                                     }
                                     return message;
                                 };
@@ -11932,7 +12392,7 @@
                             function SqlTdeImportOptions(properties) {
                                 if (properties)
                                     for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                        if (properties[keys[i]] != null)
+                                        if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                             this[keys[i]] = properties[keys[i]];
                             }
     
@@ -12027,9 +12487,13 @@
                              * @throws {Error} If the payload is not a reader or valid buffer
                              * @throws {$protobuf.util.ProtocolError} If required fields are missing
                              */
-                            SqlTdeImportOptions.decode = function decode(reader, length, error) {
+                            SqlTdeImportOptions.decode = function decode(reader, length, error, long) {
                                 if (!(reader instanceof $Reader))
                                     reader = $Reader.create(reader);
+                                if (long === undefined)
+                                    long = 0;
+                                if (long > $Reader.recursionLimit)
+                                    throw Error("maximum nesting depth exceeded");
                                 var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.ImportContext.SqlTdeImportOptions();
                                 while (reader.pos < end) {
                                     var tag = reader.uint32();
@@ -12053,7 +12517,7 @@
                                             break;
                                         }
                                     default:
-                                        reader.skipType(tag & 7);
+                                        reader.skipType(tag & 7, long);
                                         break;
                                     }
                                 }
@@ -12084,9 +12548,13 @@
                              * @param {Object.<string,*>} message Plain object to verify
                              * @returns {string|null} `null` if valid, otherwise the reason why it is not
                              */
-                            SqlTdeImportOptions.verify = function verify(message) {
+                            SqlTdeImportOptions.verify = function verify(message, long) {
                                 if (typeof message !== "object" || message === null)
                                     return "object expected";
+                                if (long === undefined)
+                                    long = 0;
+                                if (long > $util.recursionLimit)
+                                    return "maximum nesting depth exceeded";
                                 if (message.certificatePath != null && message.hasOwnProperty("certificatePath"))
                                     if (!$util.isString(message.certificatePath))
                                         return "certificatePath: string expected";
@@ -12110,9 +12578,13 @@
                              * @param {Object.<string,*>} object Plain object
                              * @returns {google.cloud.sql.v1.ImportContext.SqlTdeImportOptions} SqlTdeImportOptions
                              */
-                            SqlTdeImportOptions.fromObject = function fromObject(object) {
+                            SqlTdeImportOptions.fromObject = function fromObject(object, long) {
                                 if (object instanceof $root.google.cloud.sql.v1.ImportContext.SqlTdeImportOptions)
                                     return object;
+                                if (long === undefined)
+                                    long = 0;
+                                if (long > $util.recursionLimit)
+                                    throw Error("maximum nesting depth exceeded");
                                 var message = new $root.google.cloud.sql.v1.ImportContext.SqlTdeImportOptions();
                                 if (object.certificatePath != null)
                                     message.certificatePath = String(object.certificatePath);
@@ -12238,7 +12710,7 @@
                             this.customSubjectAlternativeNames = [];
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -12442,9 +12914,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        IpConfiguration.decode = function decode(reader, length, error) {
+                        IpConfiguration.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.IpConfiguration();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -12452,7 +12928,7 @@
                                     break;
                                 switch (tag >>> 3) {
                                 case 1: {
-                                        message.ipv4Enabled = $root.google.protobuf.BoolValue.decode(reader, reader.uint32());
+                                        message.ipv4Enabled = $root.google.protobuf.BoolValue.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 2: {
@@ -12460,13 +12936,13 @@
                                         break;
                                     }
                                 case 3: {
-                                        message.requireSsl = $root.google.protobuf.BoolValue.decode(reader, reader.uint32());
+                                        message.requireSsl = $root.google.protobuf.BoolValue.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 4: {
                                         if (!(message.authorizedNetworks && message.authorizedNetworks.length))
                                             message.authorizedNetworks = [];
-                                        message.authorizedNetworks.push($root.google.cloud.sql.v1.AclEntry.decode(reader, reader.uint32()));
+                                        message.authorizedNetworks.push($root.google.cloud.sql.v1.AclEntry.decode(reader, reader.uint32(), undefined, long + 1));
                                         break;
                                     }
                                 case 6: {
@@ -12474,7 +12950,7 @@
                                         break;
                                     }
                                 case 7: {
-                                        message.enablePrivatePathForGoogleCloudServices = $root.google.protobuf.BoolValue.decode(reader, reader.uint32());
+                                        message.enablePrivatePathForGoogleCloudServices = $root.google.protobuf.BoolValue.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 8: {
@@ -12482,7 +12958,7 @@
                                         break;
                                     }
                                 case 9: {
-                                        message.pscConfig = $root.google.cloud.sql.v1.PscConfig.decode(reader, reader.uint32());
+                                        message.pscConfig = $root.google.cloud.sql.v1.PscConfig.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 10: {
@@ -12504,7 +12980,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -12535,12 +13011,16 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        IpConfiguration.verify = function verify(message) {
+                        IpConfiguration.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             var properties = {};
                             if (message.ipv4Enabled != null && message.hasOwnProperty("ipv4Enabled")) {
-                                var error = $root.google.protobuf.BoolValue.verify(message.ipv4Enabled);
+                                var error = $root.google.protobuf.BoolValue.verify(message.ipv4Enabled, long + 1);
                                 if (error)
                                     return "ipv4Enabled." + error;
                             }
@@ -12548,7 +13028,7 @@
                                 if (!$util.isString(message.privateNetwork))
                                     return "privateNetwork: string expected";
                             if (message.requireSsl != null && message.hasOwnProperty("requireSsl")) {
-                                var error = $root.google.protobuf.BoolValue.verify(message.requireSsl);
+                                var error = $root.google.protobuf.BoolValue.verify(message.requireSsl, long + 1);
                                 if (error)
                                     return "requireSsl." + error;
                             }
@@ -12556,7 +13036,7 @@
                                 if (!Array.isArray(message.authorizedNetworks))
                                     return "authorizedNetworks: array expected";
                                 for (var i = 0; i < message.authorizedNetworks.length; ++i) {
-                                    var error = $root.google.cloud.sql.v1.AclEntry.verify(message.authorizedNetworks[i]);
+                                    var error = $root.google.cloud.sql.v1.AclEntry.verify(message.authorizedNetworks[i], long + 1);
                                     if (error)
                                         return "authorizedNetworks." + error;
                                 }
@@ -12565,7 +13045,7 @@
                                 if (!$util.isString(message.allocatedIpRange))
                                     return "allocatedIpRange: string expected";
                             if (message.enablePrivatePathForGoogleCloudServices != null && message.hasOwnProperty("enablePrivatePathForGoogleCloudServices")) {
-                                var error = $root.google.protobuf.BoolValue.verify(message.enablePrivatePathForGoogleCloudServices);
+                                var error = $root.google.protobuf.BoolValue.verify(message.enablePrivatePathForGoogleCloudServices, long + 1);
                                 if (error)
                                     return "enablePrivatePathForGoogleCloudServices." + error;
                             }
@@ -12582,7 +13062,7 @@
                             if (message.pscConfig != null && message.hasOwnProperty("pscConfig")) {
                                 properties._pscConfig = 1;
                                 {
-                                    var error = $root.google.cloud.sql.v1.PscConfig.verify(message.pscConfig);
+                                    var error = $root.google.cloud.sql.v1.PscConfig.verify(message.pscConfig, long + 1);
                                     if (error)
                                         return "pscConfig." + error;
                                 }
@@ -12633,21 +13113,25 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.IpConfiguration} IpConfiguration
                          */
-                        IpConfiguration.fromObject = function fromObject(object) {
+                        IpConfiguration.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.IpConfiguration)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.IpConfiguration();
                             if (object.ipv4Enabled != null) {
                                 if (typeof object.ipv4Enabled !== "object")
                                     throw TypeError(".google.cloud.sql.v1.IpConfiguration.ipv4Enabled: object expected");
-                                message.ipv4Enabled = $root.google.protobuf.BoolValue.fromObject(object.ipv4Enabled);
+                                message.ipv4Enabled = $root.google.protobuf.BoolValue.fromObject(object.ipv4Enabled, long + 1);
                             }
                             if (object.privateNetwork != null)
                                 message.privateNetwork = String(object.privateNetwork);
                             if (object.requireSsl != null) {
                                 if (typeof object.requireSsl !== "object")
                                     throw TypeError(".google.cloud.sql.v1.IpConfiguration.requireSsl: object expected");
-                                message.requireSsl = $root.google.protobuf.BoolValue.fromObject(object.requireSsl);
+                                message.requireSsl = $root.google.protobuf.BoolValue.fromObject(object.requireSsl, long + 1);
                             }
                             if (object.authorizedNetworks) {
                                 if (!Array.isArray(object.authorizedNetworks))
@@ -12656,7 +13140,7 @@
                                 for (var i = 0; i < object.authorizedNetworks.length; ++i) {
                                     if (typeof object.authorizedNetworks[i] !== "object")
                                         throw TypeError(".google.cloud.sql.v1.IpConfiguration.authorizedNetworks: object expected");
-                                    message.authorizedNetworks[i] = $root.google.cloud.sql.v1.AclEntry.fromObject(object.authorizedNetworks[i]);
+                                    message.authorizedNetworks[i] = $root.google.cloud.sql.v1.AclEntry.fromObject(object.authorizedNetworks[i], long + 1);
                                 }
                             }
                             if (object.allocatedIpRange != null)
@@ -12664,7 +13148,7 @@
                             if (object.enablePrivatePathForGoogleCloudServices != null) {
                                 if (typeof object.enablePrivatePathForGoogleCloudServices !== "object")
                                     throw TypeError(".google.cloud.sql.v1.IpConfiguration.enablePrivatePathForGoogleCloudServices: object expected");
-                                message.enablePrivatePathForGoogleCloudServices = $root.google.protobuf.BoolValue.fromObject(object.enablePrivatePathForGoogleCloudServices);
+                                message.enablePrivatePathForGoogleCloudServices = $root.google.protobuf.BoolValue.fromObject(object.enablePrivatePathForGoogleCloudServices, long + 1);
                             }
                             switch (object.sslMode) {
                             default:
@@ -12693,7 +13177,7 @@
                             if (object.pscConfig != null) {
                                 if (typeof object.pscConfig !== "object")
                                     throw TypeError(".google.cloud.sql.v1.IpConfiguration.pscConfig: object expected");
-                                message.pscConfig = $root.google.cloud.sql.v1.PscConfig.fromObject(object.pscConfig);
+                                message.pscConfig = $root.google.cloud.sql.v1.PscConfig.fromObject(object.pscConfig, long + 1);
                             }
                             switch (object.serverCaMode) {
                             default:
@@ -12912,6 +13396,8 @@
                          * @property {Array.<string>|null} [allowedConsumerProjects] PscConfig allowedConsumerProjects
                          * @property {Array.<google.cloud.sql.v1.IPscAutoConnectionConfig>|null} [pscAutoConnections] PscConfig pscAutoConnections
                          * @property {string|null} [networkAttachmentUri] PscConfig networkAttachmentUri
+                         * @property {boolean|null} [pscAutoDnsEnabled] PscConfig pscAutoDnsEnabled
+                         * @property {boolean|null} [pscWriteEndpointDnsEnabled] PscConfig pscWriteEndpointDnsEnabled
                          */
     
                         /**
@@ -12927,7 +13413,7 @@
                             this.pscAutoConnections = [];
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -12963,6 +13449,22 @@
                          */
                         PscConfig.prototype.networkAttachmentUri = "";
     
+                        /**
+                         * PscConfig pscAutoDnsEnabled.
+                         * @member {boolean|null|undefined} pscAutoDnsEnabled
+                         * @memberof google.cloud.sql.v1.PscConfig
+                         * @instance
+                         */
+                        PscConfig.prototype.pscAutoDnsEnabled = null;
+    
+                        /**
+                         * PscConfig pscWriteEndpointDnsEnabled.
+                         * @member {boolean|null|undefined} pscWriteEndpointDnsEnabled
+                         * @memberof google.cloud.sql.v1.PscConfig
+                         * @instance
+                         */
+                        PscConfig.prototype.pscWriteEndpointDnsEnabled = null;
+    
                         // OneOf field names bound to virtual getters and setters
                         var $oneOfFields;
     
@@ -12972,6 +13474,18 @@
                             set: $util.oneOfSetter($oneOfFields)
                         });
     
+                        // Virtual OneOf for proto3 optional field
+                        Object.defineProperty(PscConfig.prototype, "_pscAutoDnsEnabled", {
+                            get: $util.oneOfGetter($oneOfFields = ["pscAutoDnsEnabled"]),
+                            set: $util.oneOfSetter($oneOfFields)
+                        });
+    
+                        // Virtual OneOf for proto3 optional field
+                        Object.defineProperty(PscConfig.prototype, "_pscWriteEndpointDnsEnabled", {
+                            get: $util.oneOfGetter($oneOfFields = ["pscWriteEndpointDnsEnabled"]),
+                            set: $util.oneOfSetter($oneOfFields)
+                        });
+    
                         /**
                          * Creates a new PscConfig instance using the specified properties.
                          * @function create
@@ -13006,6 +13520,10 @@
                                     $root.google.cloud.sql.v1.PscAutoConnectionConfig.encode(message.pscAutoConnections[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();
                             if (message.networkAttachmentUri != null && Object.hasOwnProperty.call(message, "networkAttachmentUri"))
                                 writer.uint32(/* id 4, wireType 2 =*/34).string(message.networkAttachmentUri);
+                            if (message.pscAutoDnsEnabled != null && Object.hasOwnProperty.call(message, "pscAutoDnsEnabled"))
+                                writer.uint32(/* id 5, wireType 0 =*/40).bool(message.pscAutoDnsEnabled);
+                            if (message.pscWriteEndpointDnsEnabled != null && Object.hasOwnProperty.call(message, "pscWriteEndpointDnsEnabled"))
+                                writer.uint32(/* id 6, wireType 0 =*/48).bool(message.pscWriteEndpointDnsEnabled);
                             return writer;
                         };
     
@@ -13033,9 +13551,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        PscConfig.decode = function decode(reader, length, error) {
+                        PscConfig.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.PscConfig();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -13055,15 +13577,23 @@
                                 case 3: {
                                         if (!(message.pscAutoConnections && message.pscAutoConnections.length))
                                             message.pscAutoConnections = [];
-                                        message.pscAutoConnections.push($root.google.cloud.sql.v1.PscAutoConnectionConfig.decode(reader, reader.uint32()));
+                                        message.pscAutoConnections.push($root.google.cloud.sql.v1.PscAutoConnectionConfig.decode(reader, reader.uint32(), undefined, long + 1));
                                         break;
                                     }
                                 case 4: {
                                         message.networkAttachmentUri = reader.string();
                                         break;
                                     }
+                                case 5: {
+                                        message.pscAutoDnsEnabled = reader.bool();
+                                        break;
+                                    }
+                                case 6: {
+                                        message.pscWriteEndpointDnsEnabled = reader.bool();
+                                        break;
+                                    }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -13094,9 +13624,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        PscConfig.verify = function verify(message) {
+                        PscConfig.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             var properties = {};
                             if (message.pscEnabled != null && message.hasOwnProperty("pscEnabled")) {
                                 properties._pscEnabled = 1;
@@ -13114,7 +13648,7 @@
                                 if (!Array.isArray(message.pscAutoConnections))
                                     return "pscAutoConnections: array expected";
                                 for (var i = 0; i < message.pscAutoConnections.length; ++i) {
-                                    var error = $root.google.cloud.sql.v1.PscAutoConnectionConfig.verify(message.pscAutoConnections[i]);
+                                    var error = $root.google.cloud.sql.v1.PscAutoConnectionConfig.verify(message.pscAutoConnections[i], long + 1);
                                     if (error)
                                         return "pscAutoConnections." + error;
                                 }
@@ -13122,6 +13656,16 @@
                             if (message.networkAttachmentUri != null && message.hasOwnProperty("networkAttachmentUri"))
                                 if (!$util.isString(message.networkAttachmentUri))
                                     return "networkAttachmentUri: string expected";
+                            if (message.pscAutoDnsEnabled != null && message.hasOwnProperty("pscAutoDnsEnabled")) {
+                                properties._pscAutoDnsEnabled = 1;
+                                if (typeof message.pscAutoDnsEnabled !== "boolean")
+                                    return "pscAutoDnsEnabled: boolean expected";
+                            }
+                            if (message.pscWriteEndpointDnsEnabled != null && message.hasOwnProperty("pscWriteEndpointDnsEnabled")) {
+                                properties._pscWriteEndpointDnsEnabled = 1;
+                                if (typeof message.pscWriteEndpointDnsEnabled !== "boolean")
+                                    return "pscWriteEndpointDnsEnabled: boolean expected";
+                            }
                             return null;
                         };
     
@@ -13133,9 +13677,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.PscConfig} PscConfig
                          */
-                        PscConfig.fromObject = function fromObject(object) {
+                        PscConfig.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.PscConfig)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.PscConfig();
                             if (object.pscEnabled != null)
                                 message.pscEnabled = Boolean(object.pscEnabled);
@@ -13153,11 +13701,15 @@
                                 for (var i = 0; i < object.pscAutoConnections.length; ++i) {
                                     if (typeof object.pscAutoConnections[i] !== "object")
                                         throw TypeError(".google.cloud.sql.v1.PscConfig.pscAutoConnections: object expected");
-                                    message.pscAutoConnections[i] = $root.google.cloud.sql.v1.PscAutoConnectionConfig.fromObject(object.pscAutoConnections[i]);
+                                    message.pscAutoConnections[i] = $root.google.cloud.sql.v1.PscAutoConnectionConfig.fromObject(object.pscAutoConnections[i], long + 1);
                                 }
                             }
                             if (object.networkAttachmentUri != null)
                                 message.networkAttachmentUri = String(object.networkAttachmentUri);
+                            if (object.pscAutoDnsEnabled != null)
+                                message.pscAutoDnsEnabled = Boolean(object.pscAutoDnsEnabled);
+                            if (object.pscWriteEndpointDnsEnabled != null)
+                                message.pscWriteEndpointDnsEnabled = Boolean(object.pscWriteEndpointDnsEnabled);
                             return message;
                         };
     
@@ -13197,6 +13749,16 @@
                             }
                             if (message.networkAttachmentUri != null && message.hasOwnProperty("networkAttachmentUri"))
                                 object.networkAttachmentUri = message.networkAttachmentUri;
+                            if (message.pscAutoDnsEnabled != null && message.hasOwnProperty("pscAutoDnsEnabled")) {
+                                object.pscAutoDnsEnabled = message.pscAutoDnsEnabled;
+                                if (options.oneofs)
+                                    object._pscAutoDnsEnabled = "pscAutoDnsEnabled";
+                            }
+                            if (message.pscWriteEndpointDnsEnabled != null && message.hasOwnProperty("pscWriteEndpointDnsEnabled")) {
+                                object.pscWriteEndpointDnsEnabled = message.pscWriteEndpointDnsEnabled;
+                                if (options.oneofs)
+                                    object._pscWriteEndpointDnsEnabled = "pscWriteEndpointDnsEnabled";
+                            }
                             return object;
                         };
     
@@ -13253,7 +13815,7 @@
                         function PscAutoConnectionConfig(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -13379,9 +13941,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        PscAutoConnectionConfig.decode = function decode(reader, length, error) {
+                        PscAutoConnectionConfig.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.PscAutoConnectionConfig();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -13409,7 +13975,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -13440,9 +14006,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        PscAutoConnectionConfig.verify = function verify(message) {
+                        PscAutoConnectionConfig.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             var properties = {};
                             if (message.consumerProject != null && message.hasOwnProperty("consumerProject"))
                                 if (!$util.isString(message.consumerProject))
@@ -13476,9 +14046,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.PscAutoConnectionConfig} PscAutoConnectionConfig
                          */
-                        PscAutoConnectionConfig.fromObject = function fromObject(object) {
+                        PscAutoConnectionConfig.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.PscAutoConnectionConfig)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.PscAutoConnectionConfig();
                             if (object.consumerProject != null)
                                 message.consumerProject = String(object.consumerProject);
@@ -13584,7 +14158,7 @@
                         function LocationPreference(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -13679,9 +14253,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        LocationPreference.decode = function decode(reader, length, error) {
+                        LocationPreference.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.LocationPreference();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -13705,7 +14283,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -13736,9 +14314,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        LocationPreference.verify = function verify(message) {
+                        LocationPreference.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.followGaeApplication != null && message.hasOwnProperty("followGaeApplication"))
                                 if (!$util.isString(message.followGaeApplication))
                                     return "followGaeApplication: string expected";
@@ -13762,9 +14344,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.LocationPreference} LocationPreference
                          */
-                        LocationPreference.fromObject = function fromObject(object) {
+                        LocationPreference.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.LocationPreference)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.LocationPreference();
                             if (object.followGaeApplication != null)
                                 message.followGaeApplication = String(object.followGaeApplication);
@@ -13859,7 +14445,7 @@
                         function MaintenanceWindow(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -13954,9 +14540,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        MaintenanceWindow.decode = function decode(reader, length, error) {
+                        MaintenanceWindow.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.MaintenanceWindow();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -13964,11 +14554,11 @@
                                     break;
                                 switch (tag >>> 3) {
                                 case 1: {
-                                        message.hour = $root.google.protobuf.Int32Value.decode(reader, reader.uint32());
+                                        message.hour = $root.google.protobuf.Int32Value.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 2: {
-                                        message.day = $root.google.protobuf.Int32Value.decode(reader, reader.uint32());
+                                        message.day = $root.google.protobuf.Int32Value.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 3: {
@@ -13980,7 +14570,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -14011,16 +14601,20 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        MaintenanceWindow.verify = function verify(message) {
+                        MaintenanceWindow.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.hour != null && message.hasOwnProperty("hour")) {
-                                var error = $root.google.protobuf.Int32Value.verify(message.hour);
+                                var error = $root.google.protobuf.Int32Value.verify(message.hour, long + 1);
                                 if (error)
                                     return "hour." + error;
                             }
                             if (message.day != null && message.hasOwnProperty("day")) {
-                                var error = $root.google.protobuf.Int32Value.verify(message.day);
+                                var error = $root.google.protobuf.Int32Value.verify(message.day, long + 1);
                                 if (error)
                                     return "day." + error;
                             }
@@ -14048,19 +14642,23 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.MaintenanceWindow} MaintenanceWindow
                          */
-                        MaintenanceWindow.fromObject = function fromObject(object) {
+                        MaintenanceWindow.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.MaintenanceWindow)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.MaintenanceWindow();
                             if (object.hour != null) {
                                 if (typeof object.hour !== "object")
                                     throw TypeError(".google.cloud.sql.v1.MaintenanceWindow.hour: object expected");
-                                message.hour = $root.google.protobuf.Int32Value.fromObject(object.hour);
+                                message.hour = $root.google.protobuf.Int32Value.fromObject(object.hour, long + 1);
                             }
                             if (object.day != null) {
                                 if (typeof object.day !== "object")
                                     throw TypeError(".google.cloud.sql.v1.MaintenanceWindow.day: object expected");
-                                message.day = $root.google.protobuf.Int32Value.fromObject(object.day);
+                                message.day = $root.google.protobuf.Int32Value.fromObject(object.day, long + 1);
                             }
                             switch (object.updateTrack) {
                             default:
@@ -14172,7 +14770,7 @@
                         function DenyMaintenancePeriod(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -14257,9 +14855,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        DenyMaintenancePeriod.decode = function decode(reader, length, error) {
+                        DenyMaintenancePeriod.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.DenyMaintenancePeriod();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -14279,7 +14881,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -14310,9 +14912,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        DenyMaintenancePeriod.verify = function verify(message) {
+                        DenyMaintenancePeriod.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.startDate != null && message.hasOwnProperty("startDate"))
                                 if (!$util.isString(message.startDate))
                                     return "startDate: string expected";
@@ -14333,9 +14939,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.DenyMaintenancePeriod} DenyMaintenancePeriod
                          */
-                        DenyMaintenancePeriod.fromObject = function fromObject(object) {
+                        DenyMaintenancePeriod.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.DenyMaintenancePeriod)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.DenyMaintenancePeriod();
                             if (object.startDate != null)
                                 message.startDate = String(object.startDate);
@@ -14427,7 +15037,7 @@
                         function InsightsConfig(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -14542,9 +15152,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        InsightsConfig.decode = function decode(reader, length, error) {
+                        InsightsConfig.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.InsightsConfig();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -14564,19 +15178,19 @@
                                         break;
                                     }
                                 case 4: {
-                                        message.queryStringLength = $root.google.protobuf.Int32Value.decode(reader, reader.uint32());
+                                        message.queryStringLength = $root.google.protobuf.Int32Value.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 5: {
-                                        message.queryPlansPerMinute = $root.google.protobuf.Int32Value.decode(reader, reader.uint32());
+                                        message.queryPlansPerMinute = $root.google.protobuf.Int32Value.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 8: {
-                                        message.enhancedQueryInsightsEnabled = $root.google.protobuf.BoolValue.decode(reader, reader.uint32());
+                                        message.enhancedQueryInsightsEnabled = $root.google.protobuf.BoolValue.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -14607,9 +15221,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        InsightsConfig.verify = function verify(message) {
+                        InsightsConfig.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.queryInsightsEnabled != null && message.hasOwnProperty("queryInsightsEnabled"))
                                 if (typeof message.queryInsightsEnabled !== "boolean")
                                     return "queryInsightsEnabled: boolean expected";
@@ -14620,17 +15238,17 @@
                                 if (typeof message.recordApplicationTags !== "boolean")
                                     return "recordApplicationTags: boolean expected";
                             if (message.queryStringLength != null && message.hasOwnProperty("queryStringLength")) {
-                                var error = $root.google.protobuf.Int32Value.verify(message.queryStringLength);
+                                var error = $root.google.protobuf.Int32Value.verify(message.queryStringLength, long + 1);
                                 if (error)
                                     return "queryStringLength." + error;
                             }
                             if (message.queryPlansPerMinute != null && message.hasOwnProperty("queryPlansPerMinute")) {
-                                var error = $root.google.protobuf.Int32Value.verify(message.queryPlansPerMinute);
+                                var error = $root.google.protobuf.Int32Value.verify(message.queryPlansPerMinute, long + 1);
                                 if (error)
                                     return "queryPlansPerMinute." + error;
                             }
                             if (message.enhancedQueryInsightsEnabled != null && message.hasOwnProperty("enhancedQueryInsightsEnabled")) {
-                                var error = $root.google.protobuf.BoolValue.verify(message.enhancedQueryInsightsEnabled);
+                                var error = $root.google.protobuf.BoolValue.verify(message.enhancedQueryInsightsEnabled, long + 1);
                                 if (error)
                                     return "enhancedQueryInsightsEnabled." + error;
                             }
@@ -14645,9 +15263,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.InsightsConfig} InsightsConfig
                          */
-                        InsightsConfig.fromObject = function fromObject(object) {
+                        InsightsConfig.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.InsightsConfig)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.InsightsConfig();
                             if (object.queryInsightsEnabled != null)
                                 message.queryInsightsEnabled = Boolean(object.queryInsightsEnabled);
@@ -14658,17 +15280,17 @@
                             if (object.queryStringLength != null) {
                                 if (typeof object.queryStringLength !== "object")
                                     throw TypeError(".google.cloud.sql.v1.InsightsConfig.queryStringLength: object expected");
-                                message.queryStringLength = $root.google.protobuf.Int32Value.fromObject(object.queryStringLength);
+                                message.queryStringLength = $root.google.protobuf.Int32Value.fromObject(object.queryStringLength, long + 1);
                             }
                             if (object.queryPlansPerMinute != null) {
                                 if (typeof object.queryPlansPerMinute !== "object")
                                     throw TypeError(".google.cloud.sql.v1.InsightsConfig.queryPlansPerMinute: object expected");
-                                message.queryPlansPerMinute = $root.google.protobuf.Int32Value.fromObject(object.queryPlansPerMinute);
+                                message.queryPlansPerMinute = $root.google.protobuf.Int32Value.fromObject(object.queryPlansPerMinute, long + 1);
                             }
                             if (object.enhancedQueryInsightsEnabled != null) {
                                 if (typeof object.enhancedQueryInsightsEnabled !== "object")
                                     throw TypeError(".google.cloud.sql.v1.InsightsConfig.enhancedQueryInsightsEnabled: object expected");
-                                message.enhancedQueryInsightsEnabled = $root.google.protobuf.BoolValue.fromObject(object.enhancedQueryInsightsEnabled);
+                                message.enhancedQueryInsightsEnabled = $root.google.protobuf.BoolValue.fromObject(object.enhancedQueryInsightsEnabled, long + 1);
                             }
                             return message;
                         };
@@ -14768,7 +15390,7 @@
                         function MySqlReplicaConfiguration(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -14933,9 +15555,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        MySqlReplicaConfiguration.decode = function decode(reader, length, error) {
+                        MySqlReplicaConfiguration.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.MySqlReplicaConfiguration();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -14955,11 +15581,11 @@
                                         break;
                                     }
                                 case 4: {
-                                        message.connectRetryInterval = $root.google.protobuf.Int32Value.decode(reader, reader.uint32());
+                                        message.connectRetryInterval = $root.google.protobuf.Int32Value.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 5: {
-                                        message.masterHeartbeatPeriod = $root.google.protobuf.Int64Value.decode(reader, reader.uint32());
+                                        message.masterHeartbeatPeriod = $root.google.protobuf.Int64Value.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 6: {
@@ -14979,7 +15605,7 @@
                                         break;
                                     }
                                 case 10: {
-                                        message.verifyServerCertificate = $root.google.protobuf.BoolValue.decode(reader, reader.uint32());
+                                        message.verifyServerCertificate = $root.google.protobuf.BoolValue.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 11: {
@@ -14987,7 +15613,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -15018,9 +15644,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        MySqlReplicaConfiguration.verify = function verify(message) {
+                        MySqlReplicaConfiguration.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.dumpFilePath != null && message.hasOwnProperty("dumpFilePath"))
                                 if (!$util.isString(message.dumpFilePath))
                                     return "dumpFilePath: string expected";
@@ -15031,12 +15661,12 @@
                                 if (!$util.isString(message.password))
                                     return "password: string expected";
                             if (message.connectRetryInterval != null && message.hasOwnProperty("connectRetryInterval")) {
-                                var error = $root.google.protobuf.Int32Value.verify(message.connectRetryInterval);
+                                var error = $root.google.protobuf.Int32Value.verify(message.connectRetryInterval, long + 1);
                                 if (error)
                                     return "connectRetryInterval." + error;
                             }
                             if (message.masterHeartbeatPeriod != null && message.hasOwnProperty("masterHeartbeatPeriod")) {
-                                var error = $root.google.protobuf.Int64Value.verify(message.masterHeartbeatPeriod);
+                                var error = $root.google.protobuf.Int64Value.verify(message.masterHeartbeatPeriod, long + 1);
                                 if (error)
                                     return "masterHeartbeatPeriod." + error;
                             }
@@ -15053,7 +15683,7 @@
                                 if (!$util.isString(message.sslCipher))
                                     return "sslCipher: string expected";
                             if (message.verifyServerCertificate != null && message.hasOwnProperty("verifyServerCertificate")) {
-                                var error = $root.google.protobuf.BoolValue.verify(message.verifyServerCertificate);
+                                var error = $root.google.protobuf.BoolValue.verify(message.verifyServerCertificate, long + 1);
                                 if (error)
                                     return "verifyServerCertificate." + error;
                             }
@@ -15071,9 +15701,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.MySqlReplicaConfiguration} MySqlReplicaConfiguration
                          */
-                        MySqlReplicaConfiguration.fromObject = function fromObject(object) {
+                        MySqlReplicaConfiguration.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.MySqlReplicaConfiguration)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.MySqlReplicaConfiguration();
                             if (object.dumpFilePath != null)
                                 message.dumpFilePath = String(object.dumpFilePath);
@@ -15084,12 +15718,12 @@
                             if (object.connectRetryInterval != null) {
                                 if (typeof object.connectRetryInterval !== "object")
                                     throw TypeError(".google.cloud.sql.v1.MySqlReplicaConfiguration.connectRetryInterval: object expected");
-                                message.connectRetryInterval = $root.google.protobuf.Int32Value.fromObject(object.connectRetryInterval);
+                                message.connectRetryInterval = $root.google.protobuf.Int32Value.fromObject(object.connectRetryInterval, long + 1);
                             }
                             if (object.masterHeartbeatPeriod != null) {
                                 if (typeof object.masterHeartbeatPeriod !== "object")
                                     throw TypeError(".google.cloud.sql.v1.MySqlReplicaConfiguration.masterHeartbeatPeriod: object expected");
-                                message.masterHeartbeatPeriod = $root.google.protobuf.Int64Value.fromObject(object.masterHeartbeatPeriod);
+                                message.masterHeartbeatPeriod = $root.google.protobuf.Int64Value.fromObject(object.masterHeartbeatPeriod, long + 1);
                             }
                             if (object.caCertificate != null)
                                 message.caCertificate = String(object.caCertificate);
@@ -15102,7 +15736,7 @@
                             if (object.verifyServerCertificate != null) {
                                 if (typeof object.verifyServerCertificate !== "object")
                                     throw TypeError(".google.cloud.sql.v1.MySqlReplicaConfiguration.verifyServerCertificate: object expected");
-                                message.verifyServerCertificate = $root.google.protobuf.BoolValue.fromObject(object.verifyServerCertificate);
+                                message.verifyServerCertificate = $root.google.protobuf.BoolValue.fromObject(object.verifyServerCertificate, long + 1);
                             }
                             if (object.kind != null)
                                 message.kind = String(object.kind);
@@ -15210,7 +15844,7 @@
                         function DiskEncryptionConfiguration(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -15285,9 +15919,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        DiskEncryptionConfiguration.decode = function decode(reader, length, error) {
+                        DiskEncryptionConfiguration.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.DiskEncryptionConfiguration();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -15303,7 +15941,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -15334,9 +15972,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        DiskEncryptionConfiguration.verify = function verify(message) {
+                        DiskEncryptionConfiguration.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.kmsKeyName != null && message.hasOwnProperty("kmsKeyName"))
                                 if (!$util.isString(message.kmsKeyName))
                                     return "kmsKeyName: string expected";
@@ -15354,9 +15996,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.DiskEncryptionConfiguration} DiskEncryptionConfiguration
                          */
-                        DiskEncryptionConfiguration.fromObject = function fromObject(object) {
+                        DiskEncryptionConfiguration.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.DiskEncryptionConfiguration)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.DiskEncryptionConfiguration();
                             if (object.kmsKeyName != null)
                                 message.kmsKeyName = String(object.kmsKeyName);
@@ -15439,7 +16085,7 @@
                         function DiskEncryptionStatus(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -15514,9 +16160,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        DiskEncryptionStatus.decode = function decode(reader, length, error) {
+                        DiskEncryptionStatus.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.DiskEncryptionStatus();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -15532,7 +16182,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -15563,9 +16213,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        DiskEncryptionStatus.verify = function verify(message) {
+                        DiskEncryptionStatus.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.kmsKeyVersionName != null && message.hasOwnProperty("kmsKeyVersionName"))
                                 if (!$util.isString(message.kmsKeyVersionName))
                                     return "kmsKeyVersionName: string expected";
@@ -15583,9 +16237,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.DiskEncryptionStatus} DiskEncryptionStatus
                          */
-                        DiskEncryptionStatus.fromObject = function fromObject(object) {
+                        DiskEncryptionStatus.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.DiskEncryptionStatus)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.DiskEncryptionStatus();
                             if (object.kmsKeyVersionName != null)
                                 message.kmsKeyVersionName = String(object.kmsKeyVersionName);
@@ -15669,7 +16327,7 @@
                         function IpMapping(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -15754,9 +16412,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        IpMapping.decode = function decode(reader, length, error) {
+                        IpMapping.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.IpMapping();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -15772,11 +16434,11 @@
                                         break;
                                     }
                                 case 3: {
-                                        message.timeToRetire = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+                                        message.timeToRetire = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -15807,9 +16469,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        IpMapping.verify = function verify(message) {
+                        IpMapping.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.type != null && message.hasOwnProperty("type"))
                                 switch (message.type) {
                                 default:
@@ -15825,7 +16491,7 @@
                                 if (!$util.isString(message.ipAddress))
                                     return "ipAddress: string expected";
                             if (message.timeToRetire != null && message.hasOwnProperty("timeToRetire")) {
-                                var error = $root.google.protobuf.Timestamp.verify(message.timeToRetire);
+                                var error = $root.google.protobuf.Timestamp.verify(message.timeToRetire, long + 1);
                                 if (error)
                                     return "timeToRetire." + error;
                             }
@@ -15840,9 +16506,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.IpMapping} IpMapping
                          */
-                        IpMapping.fromObject = function fromObject(object) {
+                        IpMapping.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.IpMapping)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.IpMapping();
                             switch (object.type) {
                             default:
@@ -15877,7 +16547,7 @@
                             if (object.timeToRetire != null) {
                                 if (typeof object.timeToRetire !== "object")
                                     throw TypeError(".google.cloud.sql.v1.IpMapping.timeToRetire: object expected");
-                                message.timeToRetire = $root.google.protobuf.Timestamp.fromObject(object.timeToRetire);
+                                message.timeToRetire = $root.google.protobuf.Timestamp.fromObject(object.timeToRetire, long + 1);
                             }
                             return message;
                         };
@@ -15978,7 +16648,7 @@
                         function SqlSubOperationType(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -16057,9 +16727,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlSubOperationType.decode = function decode(reader, length, error) {
+                        SqlSubOperationType.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.SqlSubOperationType();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -16071,7 +16745,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -16102,9 +16776,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlSubOperationType.verify = function verify(message) {
+                        SqlSubOperationType.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             var properties = {};
                             if (message.maintenanceType != null && message.hasOwnProperty("maintenanceType")) {
                                 properties.subOperationDetails = 1;
@@ -16130,9 +16808,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.SqlSubOperationType} SqlSubOperationType
                          */
-                        SqlSubOperationType.fromObject = function fromObject(object) {
+                        SqlSubOperationType.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.SqlSubOperationType)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.SqlSubOperationType();
                             switch (object.maintenanceType) {
                             default:
@@ -16254,7 +16936,7 @@
                         function Operation(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -16509,9 +17191,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        Operation.decode = function decode(reader, length, error) {
+                        Operation.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.Operation();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -16535,23 +17221,23 @@
                                         break;
                                     }
                                 case 5: {
-                                        message.insertTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+                                        message.insertTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 6: {
-                                        message.startTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+                                        message.startTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 7: {
-                                        message.endTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+                                        message.endTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 8: {
-                                        message.error = $root.google.cloud.sql.v1.OperationErrors.decode(reader, reader.uint32());
+                                        message.error = $root.google.cloud.sql.v1.OperationErrors.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 19: {
-                                        message.apiWarning = $root.google.cloud.sql.v1.ApiWarning.decode(reader, reader.uint32());
+                                        message.apiWarning = $root.google.cloud.sql.v1.ApiWarning.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 9: {
@@ -16559,19 +17245,19 @@
                                         break;
                                     }
                                 case 10: {
-                                        message.importContext = $root.google.cloud.sql.v1.ImportContext.decode(reader, reader.uint32());
+                                        message.importContext = $root.google.cloud.sql.v1.ImportContext.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 11: {
-                                        message.exportContext = $root.google.cloud.sql.v1.ExportContext.decode(reader, reader.uint32());
+                                        message.exportContext = $root.google.cloud.sql.v1.ExportContext.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 17: {
-                                        message.backupContext = $root.google.cloud.sql.v1.BackupContext.decode(reader, reader.uint32());
+                                        message.backupContext = $root.google.cloud.sql.v1.BackupContext.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 50: {
-                                        message.preCheckMajorVersionUpgradeContext = $root.google.cloud.sql.v1.PreCheckMajorVersionUpgradeContext.decode(reader, reader.uint32());
+                                        message.preCheckMajorVersionUpgradeContext = $root.google.cloud.sql.v1.PreCheckMajorVersionUpgradeContext.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 12: {
@@ -16591,15 +17277,15 @@
                                         break;
                                     }
                                 case 20: {
-                                        message.acquireSsrsLeaseContext = $root.google.cloud.sql.v1.AcquireSsrsLeaseContext.decode(reader, reader.uint32());
+                                        message.acquireSsrsLeaseContext = $root.google.cloud.sql.v1.AcquireSsrsLeaseContext.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 48: {
-                                        message.subOperationType = $root.google.cloud.sql.v1.SqlSubOperationType.decode(reader, reader.uint32());
+                                        message.subOperationType = $root.google.cloud.sql.v1.SqlSubOperationType.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -16630,9 +17316,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        Operation.verify = function verify(message) {
+                        Operation.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.kind != null && message.hasOwnProperty("kind"))
                                 if (!$util.isString(message.kind))
                                     return "kind: string expected";
@@ -16653,27 +17343,27 @@
                                 if (!$util.isString(message.user))
                                     return "user: string expected";
                             if (message.insertTime != null && message.hasOwnProperty("insertTime")) {
-                                var error = $root.google.protobuf.Timestamp.verify(message.insertTime);
+                                var error = $root.google.protobuf.Timestamp.verify(message.insertTime, long + 1);
                                 if (error)
                                     return "insertTime." + error;
                             }
                             if (message.startTime != null && message.hasOwnProperty("startTime")) {
-                                var error = $root.google.protobuf.Timestamp.verify(message.startTime);
+                                var error = $root.google.protobuf.Timestamp.verify(message.startTime, long + 1);
                                 if (error)
                                     return "startTime." + error;
                             }
                             if (message.endTime != null && message.hasOwnProperty("endTime")) {
-                                var error = $root.google.protobuf.Timestamp.verify(message.endTime);
+                                var error = $root.google.protobuf.Timestamp.verify(message.endTime, long + 1);
                                 if (error)
                                     return "endTime." + error;
                             }
                             if (message.error != null && message.hasOwnProperty("error")) {
-                                var error = $root.google.cloud.sql.v1.OperationErrors.verify(message.error);
+                                var error = $root.google.cloud.sql.v1.OperationErrors.verify(message.error, long + 1);
                                 if (error)
                                     return "error." + error;
                             }
                             if (message.apiWarning != null && message.hasOwnProperty("apiWarning")) {
-                                var error = $root.google.cloud.sql.v1.ApiWarning.verify(message.apiWarning);
+                                var error = $root.google.cloud.sql.v1.ApiWarning.verify(message.apiWarning, long + 1);
                                 if (error)
                                     return "apiWarning." + error;
                             }
@@ -16733,25 +17423,26 @@
                                 case 51:
                                 case 52:
                                 case 53:
+                                case 54:
                                     break;
                                 }
                             if (message.importContext != null && message.hasOwnProperty("importContext")) {
-                                var error = $root.google.cloud.sql.v1.ImportContext.verify(message.importContext);
+                                var error = $root.google.cloud.sql.v1.ImportContext.verify(message.importContext, long + 1);
                                 if (error)
                                     return "importContext." + error;
                             }
                             if (message.exportContext != null && message.hasOwnProperty("exportContext")) {
-                                var error = $root.google.cloud.sql.v1.ExportContext.verify(message.exportContext);
+                                var error = $root.google.cloud.sql.v1.ExportContext.verify(message.exportContext, long + 1);
                                 if (error)
                                     return "exportContext." + error;
                             }
                             if (message.backupContext != null && message.hasOwnProperty("backupContext")) {
-                                var error = $root.google.cloud.sql.v1.BackupContext.verify(message.backupContext);
+                                var error = $root.google.cloud.sql.v1.BackupContext.verify(message.backupContext, long + 1);
                                 if (error)
                                     return "backupContext." + error;
                             }
                             if (message.preCheckMajorVersionUpgradeContext != null && message.hasOwnProperty("preCheckMajorVersionUpgradeContext")) {
-                                var error = $root.google.cloud.sql.v1.PreCheckMajorVersionUpgradeContext.verify(message.preCheckMajorVersionUpgradeContext);
+                                var error = $root.google.cloud.sql.v1.PreCheckMajorVersionUpgradeContext.verify(message.preCheckMajorVersionUpgradeContext, long + 1);
                                 if (error)
                                     return "preCheckMajorVersionUpgradeContext." + error;
                             }
@@ -16768,12 +17459,12 @@
                                 if (!$util.isString(message.targetProject))
                                     return "targetProject: string expected";
                             if (message.acquireSsrsLeaseContext != null && message.hasOwnProperty("acquireSsrsLeaseContext")) {
-                                var error = $root.google.cloud.sql.v1.AcquireSsrsLeaseContext.verify(message.acquireSsrsLeaseContext);
+                                var error = $root.google.cloud.sql.v1.AcquireSsrsLeaseContext.verify(message.acquireSsrsLeaseContext, long + 1);
                                 if (error)
                                     return "acquireSsrsLeaseContext." + error;
                             }
                             if (message.subOperationType != null && message.hasOwnProperty("subOperationType")) {
-                                var error = $root.google.cloud.sql.v1.SqlSubOperationType.verify(message.subOperationType);
+                                var error = $root.google.cloud.sql.v1.SqlSubOperationType.verify(message.subOperationType, long + 1);
                                 if (error)
                                     return "subOperationType." + error;
                             }
@@ -16788,9 +17479,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.Operation} Operation
                          */
-                        Operation.fromObject = function fromObject(object) {
+                        Operation.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.Operation)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.Operation();
                             if (object.kind != null)
                                 message.kind = String(object.kind);
@@ -16825,27 +17520,27 @@
                             if (object.insertTime != null) {
                                 if (typeof object.insertTime !== "object")
                                     throw TypeError(".google.cloud.sql.v1.Operation.insertTime: object expected");
-                                message.insertTime = $root.google.protobuf.Timestamp.fromObject(object.insertTime);
+                                message.insertTime = $root.google.protobuf.Timestamp.fromObject(object.insertTime, long + 1);
                             }
                             if (object.startTime != null) {
                                 if (typeof object.startTime !== "object")
                                     throw TypeError(".google.cloud.sql.v1.Operation.startTime: object expected");
-                                message.startTime = $root.google.protobuf.Timestamp.fromObject(object.startTime);
+                                message.startTime = $root.google.protobuf.Timestamp.fromObject(object.startTime, long + 1);
                             }
                             if (object.endTime != null) {
                                 if (typeof object.endTime !== "object")
                                     throw TypeError(".google.cloud.sql.v1.Operation.endTime: object expected");
-                                message.endTime = $root.google.protobuf.Timestamp.fromObject(object.endTime);
+                                message.endTime = $root.google.protobuf.Timestamp.fromObject(object.endTime, long + 1);
                             }
                             if (object.error != null) {
                                 if (typeof object.error !== "object")
                                     throw TypeError(".google.cloud.sql.v1.Operation.error: object expected");
-                                message.error = $root.google.cloud.sql.v1.OperationErrors.fromObject(object.error);
+                                message.error = $root.google.cloud.sql.v1.OperationErrors.fromObject(object.error, long + 1);
                             }
                             if (object.apiWarning != null) {
                                 if (typeof object.apiWarning !== "object")
                                     throw TypeError(".google.cloud.sql.v1.Operation.apiWarning: object expected");
-                                message.apiWarning = $root.google.cloud.sql.v1.ApiWarning.fromObject(object.apiWarning);
+                                message.apiWarning = $root.google.cloud.sql.v1.ApiWarning.fromObject(object.apiWarning, long + 1);
                             }
                             switch (object.operationType) {
                             default:
@@ -17062,26 +17757,30 @@
                             case 53:
                                 message.operationType = 53;
                                 break;
+                            case "PRE_CHECK_MAJOR_VERSION_UPGRADE":
+                            case 54:
+                                message.operationType = 54;
+                                break;
                             }
                             if (object.importContext != null) {
                                 if (typeof object.importContext !== "object")
                                     throw TypeError(".google.cloud.sql.v1.Operation.importContext: object expected");
-                                message.importContext = $root.google.cloud.sql.v1.ImportContext.fromObject(object.importContext);
+                                message.importContext = $root.google.cloud.sql.v1.ImportContext.fromObject(object.importContext, long + 1);
                             }
                             if (object.exportContext != null) {
                                 if (typeof object.exportContext !== "object")
                                     throw TypeError(".google.cloud.sql.v1.Operation.exportContext: object expected");
-                                message.exportContext = $root.google.cloud.sql.v1.ExportContext.fromObject(object.exportContext);
+                                message.exportContext = $root.google.cloud.sql.v1.ExportContext.fromObject(object.exportContext, long + 1);
                             }
                             if (object.backupContext != null) {
                                 if (typeof object.backupContext !== "object")
                                     throw TypeError(".google.cloud.sql.v1.Operation.backupContext: object expected");
-                                message.backupContext = $root.google.cloud.sql.v1.BackupContext.fromObject(object.backupContext);
+                                message.backupContext = $root.google.cloud.sql.v1.BackupContext.fromObject(object.backupContext, long + 1);
                             }
                             if (object.preCheckMajorVersionUpgradeContext != null) {
                                 if (typeof object.preCheckMajorVersionUpgradeContext !== "object")
                                     throw TypeError(".google.cloud.sql.v1.Operation.preCheckMajorVersionUpgradeContext: object expected");
-                                message.preCheckMajorVersionUpgradeContext = $root.google.cloud.sql.v1.PreCheckMajorVersionUpgradeContext.fromObject(object.preCheckMajorVersionUpgradeContext);
+                                message.preCheckMajorVersionUpgradeContext = $root.google.cloud.sql.v1.PreCheckMajorVersionUpgradeContext.fromObject(object.preCheckMajorVersionUpgradeContext, long + 1);
                             }
                             if (object.name != null)
                                 message.name = String(object.name);
@@ -17094,12 +17793,12 @@
                             if (object.acquireSsrsLeaseContext != null) {
                                 if (typeof object.acquireSsrsLeaseContext !== "object")
                                     throw TypeError(".google.cloud.sql.v1.Operation.acquireSsrsLeaseContext: object expected");
-                                message.acquireSsrsLeaseContext = $root.google.cloud.sql.v1.AcquireSsrsLeaseContext.fromObject(object.acquireSsrsLeaseContext);
+                                message.acquireSsrsLeaseContext = $root.google.cloud.sql.v1.AcquireSsrsLeaseContext.fromObject(object.acquireSsrsLeaseContext, long + 1);
                             }
                             if (object.subOperationType != null) {
                                 if (typeof object.subOperationType !== "object")
                                     throw TypeError(".google.cloud.sql.v1.Operation.subOperationType: object expected");
-                                message.subOperationType = $root.google.cloud.sql.v1.SqlSubOperationType.fromObject(object.subOperationType);
+                                message.subOperationType = $root.google.cloud.sql.v1.SqlSubOperationType.fromObject(object.subOperationType, long + 1);
                             }
                             return message;
                         };
@@ -17264,6 +17963,7 @@
                          * @property {number} ENHANCED_BACKUP=51 ENHANCED_BACKUP value
                          * @property {number} REPAIR_READ_POOL=52 REPAIR_READ_POOL value
                          * @property {number} CREATE_READ_POOL=53 CREATE_READ_POOL value
+                         * @property {number} PRE_CHECK_MAJOR_VERSION_UPGRADE=54 PRE_CHECK_MAJOR_VERSION_UPGRADE value
                          */
                         Operation.SqlOperationType = (function() {
                             var valuesById = {}, values = Object.create(valuesById);
@@ -17319,6 +18019,7 @@
                             values[valuesById[51] = "ENHANCED_BACKUP"] = 51;
                             values[valuesById[52] = "REPAIR_READ_POOL"] = 52;
                             values[valuesById[53] = "CREATE_READ_POOL"] = 53;
+                            values[valuesById[54] = "PRE_CHECK_MAJOR_VERSION_UPGRADE"] = 54;
                             return values;
                         })();
     
@@ -17365,7 +18066,7 @@
                         function OperationError(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -17450,9 +18151,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        OperationError.decode = function decode(reader, length, error) {
+                        OperationError.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.OperationError();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -17472,7 +18177,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -17503,9 +18208,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        OperationError.verify = function verify(message) {
+                        OperationError.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.kind != null && message.hasOwnProperty("kind"))
                                 if (!$util.isString(message.kind))
                                     return "kind: string expected";
@@ -17526,9 +18235,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.OperationError} OperationError
                          */
-                        OperationError.fromObject = function fromObject(object) {
+                        OperationError.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.OperationError)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.OperationError();
                             if (object.kind != null)
                                 message.kind = String(object.kind);
@@ -17617,7 +18330,7 @@
                             this.errors = [];
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -17693,9 +18406,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        OperationErrors.decode = function decode(reader, length, error) {
+                        OperationErrors.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.OperationErrors();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -17709,11 +18426,11 @@
                                 case 2: {
                                         if (!(message.errors && message.errors.length))
                                             message.errors = [];
-                                        message.errors.push($root.google.cloud.sql.v1.OperationError.decode(reader, reader.uint32()));
+                                        message.errors.push($root.google.cloud.sql.v1.OperationError.decode(reader, reader.uint32(), undefined, long + 1));
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -17744,9 +18461,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        OperationErrors.verify = function verify(message) {
+                        OperationErrors.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.kind != null && message.hasOwnProperty("kind"))
                                 if (!$util.isString(message.kind))
                                     return "kind: string expected";
@@ -17754,7 +18475,7 @@
                                 if (!Array.isArray(message.errors))
                                     return "errors: array expected";
                                 for (var i = 0; i < message.errors.length; ++i) {
-                                    var error = $root.google.cloud.sql.v1.OperationError.verify(message.errors[i]);
+                                    var error = $root.google.cloud.sql.v1.OperationError.verify(message.errors[i], long + 1);
                                     if (error)
                                         return "errors." + error;
                                 }
@@ -17770,9 +18491,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.OperationErrors} OperationErrors
                          */
-                        OperationErrors.fromObject = function fromObject(object) {
+                        OperationErrors.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.OperationErrors)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.OperationErrors();
                             if (object.kind != null)
                                 message.kind = String(object.kind);
@@ -17783,7 +18508,7 @@
                                 for (var i = 0; i < object.errors.length; ++i) {
                                     if (typeof object.errors[i] !== "object")
                                         throw TypeError(".google.cloud.sql.v1.OperationErrors.errors: object expected");
-                                    message.errors[i] = $root.google.cloud.sql.v1.OperationError.fromObject(object.errors[i]);
+                                    message.errors[i] = $root.google.cloud.sql.v1.OperationError.fromObject(object.errors[i], long + 1);
                                 }
                             }
                             return message;
@@ -17871,7 +18596,7 @@
                         function PasswordValidationPolicy(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -17996,9 +18721,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        PasswordValidationPolicy.decode = function decode(reader, length, error) {
+                        PasswordValidationPolicy.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.PasswordValidationPolicy();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -18006,7 +18735,7 @@
                                     break;
                                 switch (tag >>> 3) {
                                 case 1: {
-                                        message.minLength = $root.google.protobuf.Int32Value.decode(reader, reader.uint32());
+                                        message.minLength = $root.google.protobuf.Int32Value.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 2: {
@@ -18014,27 +18743,27 @@
                                         break;
                                     }
                                 case 3: {
-                                        message.reuseInterval = $root.google.protobuf.Int32Value.decode(reader, reader.uint32());
+                                        message.reuseInterval = $root.google.protobuf.Int32Value.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 4: {
-                                        message.disallowUsernameSubstring = $root.google.protobuf.BoolValue.decode(reader, reader.uint32());
+                                        message.disallowUsernameSubstring = $root.google.protobuf.BoolValue.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 5: {
-                                        message.passwordChangeInterval = $root.google.protobuf.Duration.decode(reader, reader.uint32());
+                                        message.passwordChangeInterval = $root.google.protobuf.Duration.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 6: {
-                                        message.enablePasswordPolicy = $root.google.protobuf.BoolValue.decode(reader, reader.uint32());
+                                        message.enablePasswordPolicy = $root.google.protobuf.BoolValue.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 7: {
-                                        message.disallowCompromisedCredentials = $root.google.protobuf.BoolValue.decode(reader, reader.uint32());
+                                        message.disallowCompromisedCredentials = $root.google.protobuf.BoolValue.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -18065,11 +18794,15 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        PasswordValidationPolicy.verify = function verify(message) {
+                        PasswordValidationPolicy.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.minLength != null && message.hasOwnProperty("minLength")) {
-                                var error = $root.google.protobuf.Int32Value.verify(message.minLength);
+                                var error = $root.google.protobuf.Int32Value.verify(message.minLength, long + 1);
                                 if (error)
                                     return "minLength." + error;
                             }
@@ -18082,27 +18815,27 @@
                                     break;
                                 }
                             if (message.reuseInterval != null && message.hasOwnProperty("reuseInterval")) {
-                                var error = $root.google.protobuf.Int32Value.verify(message.reuseInterval);
+                                var error = $root.google.protobuf.Int32Value.verify(message.reuseInterval, long + 1);
                                 if (error)
                                     return "reuseInterval." + error;
                             }
                             if (message.disallowUsernameSubstring != null && message.hasOwnProperty("disallowUsernameSubstring")) {
-                                var error = $root.google.protobuf.BoolValue.verify(message.disallowUsernameSubstring);
+                                var error = $root.google.protobuf.BoolValue.verify(message.disallowUsernameSubstring, long + 1);
                                 if (error)
                                     return "disallowUsernameSubstring." + error;
                             }
                             if (message.passwordChangeInterval != null && message.hasOwnProperty("passwordChangeInterval")) {
-                                var error = $root.google.protobuf.Duration.verify(message.passwordChangeInterval);
+                                var error = $root.google.protobuf.Duration.verify(message.passwordChangeInterval, long + 1);
                                 if (error)
                                     return "passwordChangeInterval." + error;
                             }
                             if (message.enablePasswordPolicy != null && message.hasOwnProperty("enablePasswordPolicy")) {
-                                var error = $root.google.protobuf.BoolValue.verify(message.enablePasswordPolicy);
+                                var error = $root.google.protobuf.BoolValue.verify(message.enablePasswordPolicy, long + 1);
                                 if (error)
                                     return "enablePasswordPolicy." + error;
                             }
                             if (message.disallowCompromisedCredentials != null && message.hasOwnProperty("disallowCompromisedCredentials")) {
-                                var error = $root.google.protobuf.BoolValue.verify(message.disallowCompromisedCredentials);
+                                var error = $root.google.protobuf.BoolValue.verify(message.disallowCompromisedCredentials, long + 1);
                                 if (error)
                                     return "disallowCompromisedCredentials." + error;
                             }
@@ -18117,14 +18850,18 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.PasswordValidationPolicy} PasswordValidationPolicy
                          */
-                        PasswordValidationPolicy.fromObject = function fromObject(object) {
+                        PasswordValidationPolicy.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.PasswordValidationPolicy)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.PasswordValidationPolicy();
                             if (object.minLength != null) {
                                 if (typeof object.minLength !== "object")
                                     throw TypeError(".google.cloud.sql.v1.PasswordValidationPolicy.minLength: object expected");
-                                message.minLength = $root.google.protobuf.Int32Value.fromObject(object.minLength);
+                                message.minLength = $root.google.protobuf.Int32Value.fromObject(object.minLength, long + 1);
                             }
                             switch (object.complexity) {
                             default:
@@ -18145,27 +18882,27 @@
                             if (object.reuseInterval != null) {
                                 if (typeof object.reuseInterval !== "object")
                                     throw TypeError(".google.cloud.sql.v1.PasswordValidationPolicy.reuseInterval: object expected");
-                                message.reuseInterval = $root.google.protobuf.Int32Value.fromObject(object.reuseInterval);
+                                message.reuseInterval = $root.google.protobuf.Int32Value.fromObject(object.reuseInterval, long + 1);
                             }
                             if (object.disallowUsernameSubstring != null) {
                                 if (typeof object.disallowUsernameSubstring !== "object")
                                     throw TypeError(".google.cloud.sql.v1.PasswordValidationPolicy.disallowUsernameSubstring: object expected");
-                                message.disallowUsernameSubstring = $root.google.protobuf.BoolValue.fromObject(object.disallowUsernameSubstring);
+                                message.disallowUsernameSubstring = $root.google.protobuf.BoolValue.fromObject(object.disallowUsernameSubstring, long + 1);
                             }
                             if (object.passwordChangeInterval != null) {
                                 if (typeof object.passwordChangeInterval !== "object")
                                     throw TypeError(".google.cloud.sql.v1.PasswordValidationPolicy.passwordChangeInterval: object expected");
-                                message.passwordChangeInterval = $root.google.protobuf.Duration.fromObject(object.passwordChangeInterval);
+                                message.passwordChangeInterval = $root.google.protobuf.Duration.fromObject(object.passwordChangeInterval, long + 1);
                             }
                             if (object.enablePasswordPolicy != null) {
                                 if (typeof object.enablePasswordPolicy !== "object")
                                     throw TypeError(".google.cloud.sql.v1.PasswordValidationPolicy.enablePasswordPolicy: object expected");
-                                message.enablePasswordPolicy = $root.google.protobuf.BoolValue.fromObject(object.enablePasswordPolicy);
+                                message.enablePasswordPolicy = $root.google.protobuf.BoolValue.fromObject(object.enablePasswordPolicy, long + 1);
                             }
                             if (object.disallowCompromisedCredentials != null) {
                                 if (typeof object.disallowCompromisedCredentials !== "object")
                                     throw TypeError(".google.cloud.sql.v1.PasswordValidationPolicy.disallowCompromisedCredentials: object expected");
-                                message.disallowCompromisedCredentials = $root.google.protobuf.BoolValue.fromObject(object.disallowCompromisedCredentials);
+                                message.disallowCompromisedCredentials = $root.google.protobuf.BoolValue.fromObject(object.disallowCompromisedCredentials, long + 1);
                             }
                             return message;
                         };
@@ -18272,7 +19009,7 @@
                         function DataCacheConfig(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -18337,9 +19074,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        DataCacheConfig.decode = function decode(reader, length, error) {
+                        DataCacheConfig.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.DataCacheConfig();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -18351,7 +19092,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -18382,9 +19123,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        DataCacheConfig.verify = function verify(message) {
+                        DataCacheConfig.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.dataCacheEnabled != null && message.hasOwnProperty("dataCacheEnabled"))
                                 if (typeof message.dataCacheEnabled !== "boolean")
                                     return "dataCacheEnabled: boolean expected";
@@ -18399,9 +19144,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.DataCacheConfig} DataCacheConfig
                          */
-                        DataCacheConfig.fromObject = function fromObject(object) {
+                        DataCacheConfig.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.DataCacheConfig)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.DataCacheConfig();
                             if (object.dataCacheEnabled != null)
                                 message.dataCacheEnabled = Boolean(object.dataCacheEnabled);
@@ -18478,7 +19227,7 @@
                         function FinalBackupConfig(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -18568,9 +19317,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        FinalBackupConfig.decode = function decode(reader, length, error) {
+                        FinalBackupConfig.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.FinalBackupConfig();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -18586,7 +19339,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -18617,9 +19370,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        FinalBackupConfig.verify = function verify(message) {
+                        FinalBackupConfig.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             var properties = {};
                             if (message.enabled != null && message.hasOwnProperty("enabled")) {
                                 properties._enabled = 1;
@@ -18642,9 +19399,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.FinalBackupConfig} FinalBackupConfig
                          */
-                        FinalBackupConfig.fromObject = function fromObject(object) {
+                        FinalBackupConfig.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.FinalBackupConfig)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.FinalBackupConfig();
                             if (object.enabled != null)
                                 message.enabled = Boolean(object.enabled);
@@ -18755,6 +19516,7 @@
                          * @property {google.cloud.sql.v1.IConnectionPoolConfig|null} [connectionPoolConfig] Settings connectionPoolConfig
                          * @property {google.cloud.sql.v1.IFinalBackupConfig|null} [finalBackupConfig] Settings finalBackupConfig
                          * @property {google.cloud.sql.v1.IReadPoolAutoScaleConfig|null} [readPoolAutoScaleConfig] Settings readPoolAutoScaleConfig
+                         * @property {google.protobuf.IBoolValue|null} [acceleratedReplicaMode] Settings acceleratedReplicaMode
                          * @property {boolean|null} [autoUpgradeEnabled] Settings autoUpgradeEnabled
                          * @property {google.cloud.sql.v1.ISqlServerEntraIdConfig|null} [entraidConfig] Settings entraidConfig
                          * @property {google.cloud.sql.v1.Settings.DataApiAccess|null} [dataApiAccess] Settings dataApiAccess
@@ -18776,7 +19538,7 @@
                             this.denyMaintenancePeriods = [];
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -19108,6 +19870,14 @@
                          */
                         Settings.prototype.readPoolAutoScaleConfig = null;
     
+                        /**
+                         * Settings acceleratedReplicaMode.
+                         * @member {google.protobuf.IBoolValue|null|undefined} acceleratedReplicaMode
+                         * @memberof google.cloud.sql.v1.Settings
+                         * @instance
+                         */
+                        Settings.prototype.acceleratedReplicaMode = null;
+    
                         /**
                          * Settings autoUpgradeEnabled.
                          * @member {boolean|null|undefined} autoUpgradeEnabled
@@ -19295,6 +20065,8 @@
                                 $root.google.cloud.sql.v1.FinalBackupConfig.encode(message.finalBackupConfig, writer.uint32(/* id 47, wireType 2 =*/378).fork()).ldelim();
                             if (message.readPoolAutoScaleConfig != null && Object.hasOwnProperty.call(message, "readPoolAutoScaleConfig"))
                                 $root.google.cloud.sql.v1.ReadPoolAutoScaleConfig.encode(message.readPoolAutoScaleConfig, writer.uint32(/* id 48, wireType 2 =*/386).fork()).ldelim();
+                            if (message.acceleratedReplicaMode != null && Object.hasOwnProperty.call(message, "acceleratedReplicaMode"))
+                                $root.google.protobuf.BoolValue.encode(message.acceleratedReplicaMode, writer.uint32(/* id 49, wireType 2 =*/394).fork()).ldelim();
                             if (message.autoUpgradeEnabled != null && Object.hasOwnProperty.call(message, "autoUpgradeEnabled"))
                                 writer.uint32(/* id 50, wireType 0 =*/400).bool(message.autoUpgradeEnabled);
                             if (message.entraidConfig != null && Object.hasOwnProperty.call(message, "entraidConfig"))
@@ -19330,9 +20102,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        Settings.decode = function decode(reader, length, error) {
+                        Settings.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.Settings(), key, value;
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -19340,7 +20116,7 @@
                                     break;
                                 switch (tag >>> 3) {
                                 case 1: {
-                                        message.settingsVersion = $root.google.protobuf.Int64Value.decode(reader, reader.uint32());
+                                        message.settingsVersion = $root.google.protobuf.Int64Value.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 2: {
@@ -19373,10 +20149,12 @@
                                                 value = reader.string();
                                                 break;
                                             default:
-                                                reader.skipType(tag2 & 7);
+                                                reader.skipType(tag2 & 7, long);
                                                 break;
                                             }
                                         }
+                                        if (key === "__proto__")
+                                            $util.makeProp(message.userLabels, key);
                                         message.userLabels[key] = value;
                                         break;
                                     }
@@ -19393,7 +20171,7 @@
                                         break;
                                     }
                                 case 9: {
-                                        message.storageAutoResizeLimit = $root.google.protobuf.Int64Value.decode(reader, reader.uint32());
+                                        message.storageAutoResizeLimit = $root.google.protobuf.Int64Value.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 10: {
@@ -19401,21 +20179,21 @@
                                         break;
                                     }
                                 case 11: {
-                                        message.ipConfiguration = $root.google.cloud.sql.v1.IpConfiguration.decode(reader, reader.uint32());
+                                        message.ipConfiguration = $root.google.cloud.sql.v1.IpConfiguration.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 12: {
-                                        message.storageAutoResize = $root.google.protobuf.BoolValue.decode(reader, reader.uint32());
+                                        message.storageAutoResize = $root.google.protobuf.BoolValue.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 13: {
-                                        message.locationPreference = $root.google.cloud.sql.v1.LocationPreference.decode(reader, reader.uint32());
+                                        message.locationPreference = $root.google.cloud.sql.v1.LocationPreference.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 14: {
                                         if (!(message.databaseFlags && message.databaseFlags.length))
                                             message.databaseFlags = [];
-                                        message.databaseFlags.push($root.google.cloud.sql.v1.DatabaseFlags.decode(reader, reader.uint32()));
+                                        message.databaseFlags.push($root.google.cloud.sql.v1.DatabaseFlags.decode(reader, reader.uint32(), undefined, long + 1));
                                         break;
                                     }
                                 case 15: {
@@ -19423,27 +20201,27 @@
                                         break;
                                     }
                                 case 16: {
-                                        message.maintenanceWindow = $root.google.cloud.sql.v1.MaintenanceWindow.decode(reader, reader.uint32());
+                                        message.maintenanceWindow = $root.google.cloud.sql.v1.MaintenanceWindow.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 17: {
-                                        message.backupConfiguration = $root.google.cloud.sql.v1.BackupConfiguration.decode(reader, reader.uint32());
+                                        message.backupConfiguration = $root.google.cloud.sql.v1.BackupConfiguration.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 18: {
-                                        message.databaseReplicationEnabled = $root.google.protobuf.BoolValue.decode(reader, reader.uint32());
+                                        message.databaseReplicationEnabled = $root.google.protobuf.BoolValue.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 19: {
-                                        message.crashSafeReplicationEnabled = $root.google.protobuf.BoolValue.decode(reader, reader.uint32());
+                                        message.crashSafeReplicationEnabled = $root.google.protobuf.BoolValue.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 20: {
-                                        message.dataDiskSizeGb = $root.google.protobuf.Int64Value.decode(reader, reader.uint32());
+                                        message.dataDiskSizeGb = $root.google.protobuf.Int64Value.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 22: {
-                                        message.activeDirectoryConfig = $root.google.cloud.sql.v1.SqlActiveDirectoryConfig.decode(reader, reader.uint32());
+                                        message.activeDirectoryConfig = $root.google.cloud.sql.v1.SqlActiveDirectoryConfig.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 23: {
@@ -19453,19 +20231,19 @@
                                 case 24: {
                                         if (!(message.denyMaintenancePeriods && message.denyMaintenancePeriods.length))
                                             message.denyMaintenancePeriods = [];
-                                        message.denyMaintenancePeriods.push($root.google.cloud.sql.v1.DenyMaintenancePeriod.decode(reader, reader.uint32()));
+                                        message.denyMaintenancePeriods.push($root.google.cloud.sql.v1.DenyMaintenancePeriod.decode(reader, reader.uint32(), undefined, long + 1));
                                         break;
                                     }
                                 case 25: {
-                                        message.insightsConfig = $root.google.cloud.sql.v1.InsightsConfig.decode(reader, reader.uint32());
+                                        message.insightsConfig = $root.google.cloud.sql.v1.InsightsConfig.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 27: {
-                                        message.passwordValidationPolicy = $root.google.cloud.sql.v1.PasswordValidationPolicy.decode(reader, reader.uint32());
+                                        message.passwordValidationPolicy = $root.google.cloud.sql.v1.PasswordValidationPolicy.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 29: {
-                                        message.sqlServerAuditConfig = $root.google.cloud.sql.v1.SqlServerAuditConfig.decode(reader, reader.uint32());
+                                        message.sqlServerAuditConfig = $root.google.cloud.sql.v1.SqlServerAuditConfig.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 38: {
@@ -19477,7 +20255,7 @@
                                         break;
                                     }
                                 case 33: {
-                                        message.deletionProtectionEnabled = $root.google.protobuf.BoolValue.decode(reader, reader.uint32());
+                                        message.deletionProtectionEnabled = $root.google.protobuf.BoolValue.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 34: {
@@ -19485,27 +20263,27 @@
                                         break;
                                     }
                                 case 35: {
-                                        message.advancedMachineFeatures = $root.google.cloud.sql.v1.AdvancedMachineFeatures.decode(reader, reader.uint32());
+                                        message.advancedMachineFeatures = $root.google.cloud.sql.v1.AdvancedMachineFeatures.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 37: {
-                                        message.dataCacheConfig = $root.google.cloud.sql.v1.DataCacheConfig.decode(reader, reader.uint32());
+                                        message.dataCacheConfig = $root.google.cloud.sql.v1.DataCacheConfig.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 39: {
-                                        message.replicationLagMaxSeconds = $root.google.protobuf.Int32Value.decode(reader, reader.uint32());
+                                        message.replicationLagMaxSeconds = $root.google.protobuf.Int32Value.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 40: {
-                                        message.enableGoogleMlIntegration = $root.google.protobuf.BoolValue.decode(reader, reader.uint32());
+                                        message.enableGoogleMlIntegration = $root.google.protobuf.BoolValue.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 41: {
-                                        message.enableDataplexIntegration = $root.google.protobuf.BoolValue.decode(reader, reader.uint32());
+                                        message.enableDataplexIntegration = $root.google.protobuf.BoolValue.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 42: {
-                                        message.retainBackupsOnDelete = $root.google.protobuf.BoolValue.decode(reader, reader.uint32());
+                                        message.retainBackupsOnDelete = $root.google.protobuf.BoolValue.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 43: {
@@ -19517,15 +20295,19 @@
                                         break;
                                     }
                                 case 45: {
-                                        message.connectionPoolConfig = $root.google.cloud.sql.v1.ConnectionPoolConfig.decode(reader, reader.uint32());
+                                        message.connectionPoolConfig = $root.google.cloud.sql.v1.ConnectionPoolConfig.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 47: {
-                                        message.finalBackupConfig = $root.google.cloud.sql.v1.FinalBackupConfig.decode(reader, reader.uint32());
+                                        message.finalBackupConfig = $root.google.cloud.sql.v1.FinalBackupConfig.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 48: {
-                                        message.readPoolAutoScaleConfig = $root.google.cloud.sql.v1.ReadPoolAutoScaleConfig.decode(reader, reader.uint32());
+                                        message.readPoolAutoScaleConfig = $root.google.cloud.sql.v1.ReadPoolAutoScaleConfig.decode(reader, reader.uint32(), undefined, long + 1);
+                                        break;
+                                    }
+                                case 49: {
+                                        message.acceleratedReplicaMode = $root.google.protobuf.BoolValue.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 50: {
@@ -19533,7 +20315,7 @@
                                         break;
                                     }
                                 case 52: {
-                                        message.entraidConfig = $root.google.cloud.sql.v1.SqlServerEntraIdConfig.decode(reader, reader.uint32());
+                                        message.entraidConfig = $root.google.cloud.sql.v1.SqlServerEntraIdConfig.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 53: {
@@ -19541,11 +20323,11 @@
                                         break;
                                     }
                                 case 54: {
-                                        message.performanceCaptureConfig = $root.google.cloud.sql.v1.PerformanceCaptureConfig.decode(reader, reader.uint32());
+                                        message.performanceCaptureConfig = $root.google.cloud.sql.v1.PerformanceCaptureConfig.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -19576,12 +20358,16 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        Settings.verify = function verify(message) {
+                        Settings.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             var properties = {};
                             if (message.settingsVersion != null && message.hasOwnProperty("settingsVersion")) {
-                                var error = $root.google.protobuf.Int64Value.verify(message.settingsVersion);
+                                var error = $root.google.protobuf.Int64Value.verify(message.settingsVersion, long + 1);
                                 if (error)
                                     return "settingsVersion." + error;
                             }
@@ -19634,7 +20420,7 @@
                                     break;
                                 }
                             if (message.storageAutoResizeLimit != null && message.hasOwnProperty("storageAutoResizeLimit")) {
-                                var error = $root.google.protobuf.Int64Value.verify(message.storageAutoResizeLimit);
+                                var error = $root.google.protobuf.Int64Value.verify(message.storageAutoResizeLimit, long + 1);
                                 if (error)
                                     return "storageAutoResizeLimit." + error;
                             }
@@ -19649,17 +20435,17 @@
                                     break;
                                 }
                             if (message.ipConfiguration != null && message.hasOwnProperty("ipConfiguration")) {
-                                var error = $root.google.cloud.sql.v1.IpConfiguration.verify(message.ipConfiguration);
+                                var error = $root.google.cloud.sql.v1.IpConfiguration.verify(message.ipConfiguration, long + 1);
                                 if (error)
                                     return "ipConfiguration." + error;
                             }
                             if (message.storageAutoResize != null && message.hasOwnProperty("storageAutoResize")) {
-                                var error = $root.google.protobuf.BoolValue.verify(message.storageAutoResize);
+                                var error = $root.google.protobuf.BoolValue.verify(message.storageAutoResize, long + 1);
                                 if (error)
                                     return "storageAutoResize." + error;
                             }
                             if (message.locationPreference != null && message.hasOwnProperty("locationPreference")) {
-                                var error = $root.google.cloud.sql.v1.LocationPreference.verify(message.locationPreference);
+                                var error = $root.google.cloud.sql.v1.LocationPreference.verify(message.locationPreference, long + 1);
                                 if (error)
                                     return "locationPreference." + error;
                             }
@@ -19667,7 +20453,7 @@
                                 if (!Array.isArray(message.databaseFlags))
                                     return "databaseFlags: array expected";
                                 for (var i = 0; i < message.databaseFlags.length; ++i) {
-                                    var error = $root.google.cloud.sql.v1.DatabaseFlags.verify(message.databaseFlags[i]);
+                                    var error = $root.google.cloud.sql.v1.DatabaseFlags.verify(message.databaseFlags[i], long + 1);
                                     if (error)
                                         return "databaseFlags." + error;
                                 }
@@ -19684,32 +20470,32 @@
                                     break;
                                 }
                             if (message.maintenanceWindow != null && message.hasOwnProperty("maintenanceWindow")) {
-                                var error = $root.google.cloud.sql.v1.MaintenanceWindow.verify(message.maintenanceWindow);
+                                var error = $root.google.cloud.sql.v1.MaintenanceWindow.verify(message.maintenanceWindow, long + 1);
                                 if (error)
                                     return "maintenanceWindow." + error;
                             }
                             if (message.backupConfiguration != null && message.hasOwnProperty("backupConfiguration")) {
-                                var error = $root.google.cloud.sql.v1.BackupConfiguration.verify(message.backupConfiguration);
+                                var error = $root.google.cloud.sql.v1.BackupConfiguration.verify(message.backupConfiguration, long + 1);
                                 if (error)
                                     return "backupConfiguration." + error;
                             }
                             if (message.databaseReplicationEnabled != null && message.hasOwnProperty("databaseReplicationEnabled")) {
-                                var error = $root.google.protobuf.BoolValue.verify(message.databaseReplicationEnabled);
+                                var error = $root.google.protobuf.BoolValue.verify(message.databaseReplicationEnabled, long + 1);
                                 if (error)
                                     return "databaseReplicationEnabled." + error;
                             }
                             if (message.crashSafeReplicationEnabled != null && message.hasOwnProperty("crashSafeReplicationEnabled")) {
-                                var error = $root.google.protobuf.BoolValue.verify(message.crashSafeReplicationEnabled);
+                                var error = $root.google.protobuf.BoolValue.verify(message.crashSafeReplicationEnabled, long + 1);
                                 if (error)
                                     return "crashSafeReplicationEnabled." + error;
                             }
                             if (message.dataDiskSizeGb != null && message.hasOwnProperty("dataDiskSizeGb")) {
-                                var error = $root.google.protobuf.Int64Value.verify(message.dataDiskSizeGb);
+                                var error = $root.google.protobuf.Int64Value.verify(message.dataDiskSizeGb, long + 1);
                                 if (error)
                                     return "dataDiskSizeGb." + error;
                             }
                             if (message.activeDirectoryConfig != null && message.hasOwnProperty("activeDirectoryConfig")) {
-                                var error = $root.google.cloud.sql.v1.SqlActiveDirectoryConfig.verify(message.activeDirectoryConfig);
+                                var error = $root.google.cloud.sql.v1.SqlActiveDirectoryConfig.verify(message.activeDirectoryConfig, long + 1);
                                 if (error)
                                     return "activeDirectoryConfig." + error;
                             }
@@ -19720,23 +20506,23 @@
                                 if (!Array.isArray(message.denyMaintenancePeriods))
                                     return "denyMaintenancePeriods: array expected";
                                 for (var i = 0; i < message.denyMaintenancePeriods.length; ++i) {
-                                    var error = $root.google.cloud.sql.v1.DenyMaintenancePeriod.verify(message.denyMaintenancePeriods[i]);
+                                    var error = $root.google.cloud.sql.v1.DenyMaintenancePeriod.verify(message.denyMaintenancePeriods[i], long + 1);
                                     if (error)
                                         return "denyMaintenancePeriods." + error;
                                 }
                             }
                             if (message.insightsConfig != null && message.hasOwnProperty("insightsConfig")) {
-                                var error = $root.google.cloud.sql.v1.InsightsConfig.verify(message.insightsConfig);
+                                var error = $root.google.cloud.sql.v1.InsightsConfig.verify(message.insightsConfig, long + 1);
                                 if (error)
                                     return "insightsConfig." + error;
                             }
                             if (message.passwordValidationPolicy != null && message.hasOwnProperty("passwordValidationPolicy")) {
-                                var error = $root.google.cloud.sql.v1.PasswordValidationPolicy.verify(message.passwordValidationPolicy);
+                                var error = $root.google.cloud.sql.v1.PasswordValidationPolicy.verify(message.passwordValidationPolicy, long + 1);
                                 if (error)
                                     return "passwordValidationPolicy." + error;
                             }
                             if (message.sqlServerAuditConfig != null && message.hasOwnProperty("sqlServerAuditConfig")) {
-                                var error = $root.google.cloud.sql.v1.SqlServerAuditConfig.verify(message.sqlServerAuditConfig);
+                                var error = $root.google.cloud.sql.v1.SqlServerAuditConfig.verify(message.sqlServerAuditConfig, long + 1);
                                 if (error)
                                     return "sqlServerAuditConfig." + error;
                             }
@@ -19759,7 +20545,7 @@
                                     break;
                                 }
                             if (message.deletionProtectionEnabled != null && message.hasOwnProperty("deletionProtectionEnabled")) {
-                                var error = $root.google.protobuf.BoolValue.verify(message.deletionProtectionEnabled);
+                                var error = $root.google.protobuf.BoolValue.verify(message.deletionProtectionEnabled, long + 1);
                                 if (error)
                                     return "deletionProtectionEnabled." + error;
                             }
@@ -19767,32 +20553,32 @@
                                 if (!$util.isString(message.timeZone))
                                     return "timeZone: string expected";
                             if (message.advancedMachineFeatures != null && message.hasOwnProperty("advancedMachineFeatures")) {
-                                var error = $root.google.cloud.sql.v1.AdvancedMachineFeatures.verify(message.advancedMachineFeatures);
+                                var error = $root.google.cloud.sql.v1.AdvancedMachineFeatures.verify(message.advancedMachineFeatures, long + 1);
                                 if (error)
                                     return "advancedMachineFeatures." + error;
                             }
                             if (message.dataCacheConfig != null && message.hasOwnProperty("dataCacheConfig")) {
-                                var error = $root.google.cloud.sql.v1.DataCacheConfig.verify(message.dataCacheConfig);
+                                var error = $root.google.cloud.sql.v1.DataCacheConfig.verify(message.dataCacheConfig, long + 1);
                                 if (error)
                                     return "dataCacheConfig." + error;
                             }
                             if (message.replicationLagMaxSeconds != null && message.hasOwnProperty("replicationLagMaxSeconds")) {
-                                var error = $root.google.protobuf.Int32Value.verify(message.replicationLagMaxSeconds);
+                                var error = $root.google.protobuf.Int32Value.verify(message.replicationLagMaxSeconds, long + 1);
                                 if (error)
                                     return "replicationLagMaxSeconds." + error;
                             }
                             if (message.enableGoogleMlIntegration != null && message.hasOwnProperty("enableGoogleMlIntegration")) {
-                                var error = $root.google.protobuf.BoolValue.verify(message.enableGoogleMlIntegration);
+                                var error = $root.google.protobuf.BoolValue.verify(message.enableGoogleMlIntegration, long + 1);
                                 if (error)
                                     return "enableGoogleMlIntegration." + error;
                             }
                             if (message.enableDataplexIntegration != null && message.hasOwnProperty("enableDataplexIntegration")) {
-                                var error = $root.google.protobuf.BoolValue.verify(message.enableDataplexIntegration);
+                                var error = $root.google.protobuf.BoolValue.verify(message.enableDataplexIntegration, long + 1);
                                 if (error)
                                     return "enableDataplexIntegration." + error;
                             }
                             if (message.retainBackupsOnDelete != null && message.hasOwnProperty("retainBackupsOnDelete")) {
-                                var error = $root.google.protobuf.BoolValue.verify(message.retainBackupsOnDelete);
+                                var error = $root.google.protobuf.BoolValue.verify(message.retainBackupsOnDelete, long + 1);
                                 if (error)
                                     return "retainBackupsOnDelete." + error;
                             }
@@ -19809,7 +20595,7 @@
                             if (message.connectionPoolConfig != null && message.hasOwnProperty("connectionPoolConfig")) {
                                 properties._connectionPoolConfig = 1;
                                 {
-                                    var error = $root.google.cloud.sql.v1.ConnectionPoolConfig.verify(message.connectionPoolConfig);
+                                    var error = $root.google.cloud.sql.v1.ConnectionPoolConfig.verify(message.connectionPoolConfig, long + 1);
                                     if (error)
                                         return "connectionPoolConfig." + error;
                                 }
@@ -19817,7 +20603,7 @@
                             if (message.finalBackupConfig != null && message.hasOwnProperty("finalBackupConfig")) {
                                 properties._finalBackupConfig = 1;
                                 {
-                                    var error = $root.google.cloud.sql.v1.FinalBackupConfig.verify(message.finalBackupConfig);
+                                    var error = $root.google.cloud.sql.v1.FinalBackupConfig.verify(message.finalBackupConfig, long + 1);
                                     if (error)
                                         return "finalBackupConfig." + error;
                                 }
@@ -19825,18 +20611,23 @@
                             if (message.readPoolAutoScaleConfig != null && message.hasOwnProperty("readPoolAutoScaleConfig")) {
                                 properties._readPoolAutoScaleConfig = 1;
                                 {
-                                    var error = $root.google.cloud.sql.v1.ReadPoolAutoScaleConfig.verify(message.readPoolAutoScaleConfig);
+                                    var error = $root.google.cloud.sql.v1.ReadPoolAutoScaleConfig.verify(message.readPoolAutoScaleConfig, long + 1);
                                     if (error)
                                         return "readPoolAutoScaleConfig." + error;
                                 }
                             }
+                            if (message.acceleratedReplicaMode != null && message.hasOwnProperty("acceleratedReplicaMode")) {
+                                var error = $root.google.protobuf.BoolValue.verify(message.acceleratedReplicaMode, long + 1);
+                                if (error)
+                                    return "acceleratedReplicaMode." + error;
+                            }
                             if (message.autoUpgradeEnabled != null && message.hasOwnProperty("autoUpgradeEnabled")) {
                                 properties._autoUpgradeEnabled = 1;
                                 if (typeof message.autoUpgradeEnabled !== "boolean")
                                     return "autoUpgradeEnabled: boolean expected";
                             }
                             if (message.entraidConfig != null && message.hasOwnProperty("entraidConfig")) {
-                                var error = $root.google.cloud.sql.v1.SqlServerEntraIdConfig.verify(message.entraidConfig);
+                                var error = $root.google.cloud.sql.v1.SqlServerEntraIdConfig.verify(message.entraidConfig, long + 1);
                                 if (error)
                                     return "entraidConfig." + error;
                             }
@@ -19852,7 +20643,7 @@
                                 }
                             }
                             if (message.performanceCaptureConfig != null && message.hasOwnProperty("performanceCaptureConfig")) {
-                                var error = $root.google.cloud.sql.v1.PerformanceCaptureConfig.verify(message.performanceCaptureConfig);
+                                var error = $root.google.cloud.sql.v1.PerformanceCaptureConfig.verify(message.performanceCaptureConfig, long + 1);
                                 if (error)
                                     return "performanceCaptureConfig." + error;
                             }
@@ -19867,14 +20658,18 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.Settings} Settings
                          */
-                        Settings.fromObject = function fromObject(object) {
+                        Settings.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.Settings)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.Settings();
                             if (object.settingsVersion != null) {
                                 if (typeof object.settingsVersion !== "object")
                                     throw TypeError(".google.cloud.sql.v1.Settings.settingsVersion: object expected");
-                                message.settingsVersion = $root.google.protobuf.Int64Value.fromObject(object.settingsVersion);
+                                message.settingsVersion = $root.google.protobuf.Int64Value.fromObject(object.settingsVersion, long + 1);
                             }
                             if (object.authorizedGaeApplications) {
                                 if (!Array.isArray(object.authorizedGaeApplications))
@@ -19891,8 +20686,11 @@
                                 if (typeof object.userLabels !== "object")
                                     throw TypeError(".google.cloud.sql.v1.Settings.userLabels: object expected");
                                 message.userLabels = {};
-                                for (var keys = Object.keys(object.userLabels), i = 0; i < keys.length; ++i)
+                                for (var keys = Object.keys(object.userLabels), i = 0; i < keys.length; ++i) {
+                                    if (keys[i] === "__proto__")
+                                        $util.makeProp(message.userLabels, keys[i]);
                                     message.userLabels[keys[i]] = String(object.userLabels[keys[i]]);
+                                }
                             }
                             switch (object.availabilityType) {
                             default:
@@ -19957,7 +20755,7 @@
                             if (object.storageAutoResizeLimit != null) {
                                 if (typeof object.storageAutoResizeLimit !== "object")
                                     throw TypeError(".google.cloud.sql.v1.Settings.storageAutoResizeLimit: object expected");
-                                message.storageAutoResizeLimit = $root.google.protobuf.Int64Value.fromObject(object.storageAutoResizeLimit);
+                                message.storageAutoResizeLimit = $root.google.protobuf.Int64Value.fromObject(object.storageAutoResizeLimit, long + 1);
                             }
                             switch (object.activationPolicy) {
                             default:
@@ -19986,17 +20784,17 @@
                             if (object.ipConfiguration != null) {
                                 if (typeof object.ipConfiguration !== "object")
                                     throw TypeError(".google.cloud.sql.v1.Settings.ipConfiguration: object expected");
-                                message.ipConfiguration = $root.google.cloud.sql.v1.IpConfiguration.fromObject(object.ipConfiguration);
+                                message.ipConfiguration = $root.google.cloud.sql.v1.IpConfiguration.fromObject(object.ipConfiguration, long + 1);
                             }
                             if (object.storageAutoResize != null) {
                                 if (typeof object.storageAutoResize !== "object")
                                     throw TypeError(".google.cloud.sql.v1.Settings.storageAutoResize: object expected");
-                                message.storageAutoResize = $root.google.protobuf.BoolValue.fromObject(object.storageAutoResize);
+                                message.storageAutoResize = $root.google.protobuf.BoolValue.fromObject(object.storageAutoResize, long + 1);
                             }
                             if (object.locationPreference != null) {
                                 if (typeof object.locationPreference !== "object")
                                     throw TypeError(".google.cloud.sql.v1.Settings.locationPreference: object expected");
-                                message.locationPreference = $root.google.cloud.sql.v1.LocationPreference.fromObject(object.locationPreference);
+                                message.locationPreference = $root.google.cloud.sql.v1.LocationPreference.fromObject(object.locationPreference, long + 1);
                             }
                             if (object.databaseFlags) {
                                 if (!Array.isArray(object.databaseFlags))
@@ -20005,7 +20803,7 @@
                                 for (var i = 0; i < object.databaseFlags.length; ++i) {
                                     if (typeof object.databaseFlags[i] !== "object")
                                         throw TypeError(".google.cloud.sql.v1.Settings.databaseFlags: object expected");
-                                    message.databaseFlags[i] = $root.google.cloud.sql.v1.DatabaseFlags.fromObject(object.databaseFlags[i]);
+                                    message.databaseFlags[i] = $root.google.cloud.sql.v1.DatabaseFlags.fromObject(object.databaseFlags[i], long + 1);
                                 }
                             }
                             switch (object.dataDiskType) {
@@ -20039,32 +20837,32 @@
                             if (object.maintenanceWindow != null) {
                                 if (typeof object.maintenanceWindow !== "object")
                                     throw TypeError(".google.cloud.sql.v1.Settings.maintenanceWindow: object expected");
-                                message.maintenanceWindow = $root.google.cloud.sql.v1.MaintenanceWindow.fromObject(object.maintenanceWindow);
+                                message.maintenanceWindow = $root.google.cloud.sql.v1.MaintenanceWindow.fromObject(object.maintenanceWindow, long + 1);
                             }
                             if (object.backupConfiguration != null) {
                                 if (typeof object.backupConfiguration !== "object")
                                     throw TypeError(".google.cloud.sql.v1.Settings.backupConfiguration: object expected");
-                                message.backupConfiguration = $root.google.cloud.sql.v1.BackupConfiguration.fromObject(object.backupConfiguration);
+                                message.backupConfiguration = $root.google.cloud.sql.v1.BackupConfiguration.fromObject(object.backupConfiguration, long + 1);
                             }
                             if (object.databaseReplicationEnabled != null) {
                                 if (typeof object.databaseReplicationEnabled !== "object")
                                     throw TypeError(".google.cloud.sql.v1.Settings.databaseReplicationEnabled: object expected");
-                                message.databaseReplicationEnabled = $root.google.protobuf.BoolValue.fromObject(object.databaseReplicationEnabled);
+                                message.databaseReplicationEnabled = $root.google.protobuf.BoolValue.fromObject(object.databaseReplicationEnabled, long + 1);
                             }
                             if (object.crashSafeReplicationEnabled != null) {
                                 if (typeof object.crashSafeReplicationEnabled !== "object")
                                     throw TypeError(".google.cloud.sql.v1.Settings.crashSafeReplicationEnabled: object expected");
-                                message.crashSafeReplicationEnabled = $root.google.protobuf.BoolValue.fromObject(object.crashSafeReplicationEnabled);
+                                message.crashSafeReplicationEnabled = $root.google.protobuf.BoolValue.fromObject(object.crashSafeReplicationEnabled, long + 1);
                             }
                             if (object.dataDiskSizeGb != null) {
                                 if (typeof object.dataDiskSizeGb !== "object")
                                     throw TypeError(".google.cloud.sql.v1.Settings.dataDiskSizeGb: object expected");
-                                message.dataDiskSizeGb = $root.google.protobuf.Int64Value.fromObject(object.dataDiskSizeGb);
+                                message.dataDiskSizeGb = $root.google.protobuf.Int64Value.fromObject(object.dataDiskSizeGb, long + 1);
                             }
                             if (object.activeDirectoryConfig != null) {
                                 if (typeof object.activeDirectoryConfig !== "object")
                                     throw TypeError(".google.cloud.sql.v1.Settings.activeDirectoryConfig: object expected");
-                                message.activeDirectoryConfig = $root.google.cloud.sql.v1.SqlActiveDirectoryConfig.fromObject(object.activeDirectoryConfig);
+                                message.activeDirectoryConfig = $root.google.cloud.sql.v1.SqlActiveDirectoryConfig.fromObject(object.activeDirectoryConfig, long + 1);
                             }
                             if (object.collation != null)
                                 message.collation = String(object.collation);
@@ -20075,23 +20873,23 @@
                                 for (var i = 0; i < object.denyMaintenancePeriods.length; ++i) {
                                     if (typeof object.denyMaintenancePeriods[i] !== "object")
                                         throw TypeError(".google.cloud.sql.v1.Settings.denyMaintenancePeriods: object expected");
-                                    message.denyMaintenancePeriods[i] = $root.google.cloud.sql.v1.DenyMaintenancePeriod.fromObject(object.denyMaintenancePeriods[i]);
+                                    message.denyMaintenancePeriods[i] = $root.google.cloud.sql.v1.DenyMaintenancePeriod.fromObject(object.denyMaintenancePeriods[i], long + 1);
                                 }
                             }
                             if (object.insightsConfig != null) {
                                 if (typeof object.insightsConfig !== "object")
                                     throw TypeError(".google.cloud.sql.v1.Settings.insightsConfig: object expected");
-                                message.insightsConfig = $root.google.cloud.sql.v1.InsightsConfig.fromObject(object.insightsConfig);
+                                message.insightsConfig = $root.google.cloud.sql.v1.InsightsConfig.fromObject(object.insightsConfig, long + 1);
                             }
                             if (object.passwordValidationPolicy != null) {
                                 if (typeof object.passwordValidationPolicy !== "object")
                                     throw TypeError(".google.cloud.sql.v1.Settings.passwordValidationPolicy: object expected");
-                                message.passwordValidationPolicy = $root.google.cloud.sql.v1.PasswordValidationPolicy.fromObject(object.passwordValidationPolicy);
+                                message.passwordValidationPolicy = $root.google.cloud.sql.v1.PasswordValidationPolicy.fromObject(object.passwordValidationPolicy, long + 1);
                             }
                             if (object.sqlServerAuditConfig != null) {
                                 if (typeof object.sqlServerAuditConfig !== "object")
                                     throw TypeError(".google.cloud.sql.v1.Settings.sqlServerAuditConfig: object expected");
-                                message.sqlServerAuditConfig = $root.google.cloud.sql.v1.SqlServerAuditConfig.fromObject(object.sqlServerAuditConfig);
+                                message.sqlServerAuditConfig = $root.google.cloud.sql.v1.SqlServerAuditConfig.fromObject(object.sqlServerAuditConfig, long + 1);
                             }
                             switch (object.edition) {
                             default:
@@ -20136,39 +20934,39 @@
                             if (object.deletionProtectionEnabled != null) {
                                 if (typeof object.deletionProtectionEnabled !== "object")
                                     throw TypeError(".google.cloud.sql.v1.Settings.deletionProtectionEnabled: object expected");
-                                message.deletionProtectionEnabled = $root.google.protobuf.BoolValue.fromObject(object.deletionProtectionEnabled);
+                                message.deletionProtectionEnabled = $root.google.protobuf.BoolValue.fromObject(object.deletionProtectionEnabled, long + 1);
                             }
                             if (object.timeZone != null)
                                 message.timeZone = String(object.timeZone);
                             if (object.advancedMachineFeatures != null) {
                                 if (typeof object.advancedMachineFeatures !== "object")
                                     throw TypeError(".google.cloud.sql.v1.Settings.advancedMachineFeatures: object expected");
-                                message.advancedMachineFeatures = $root.google.cloud.sql.v1.AdvancedMachineFeatures.fromObject(object.advancedMachineFeatures);
+                                message.advancedMachineFeatures = $root.google.cloud.sql.v1.AdvancedMachineFeatures.fromObject(object.advancedMachineFeatures, long + 1);
                             }
                             if (object.dataCacheConfig != null) {
                                 if (typeof object.dataCacheConfig !== "object")
                                     throw TypeError(".google.cloud.sql.v1.Settings.dataCacheConfig: object expected");
-                                message.dataCacheConfig = $root.google.cloud.sql.v1.DataCacheConfig.fromObject(object.dataCacheConfig);
+                                message.dataCacheConfig = $root.google.cloud.sql.v1.DataCacheConfig.fromObject(object.dataCacheConfig, long + 1);
                             }
                             if (object.replicationLagMaxSeconds != null) {
                                 if (typeof object.replicationLagMaxSeconds !== "object")
                                     throw TypeError(".google.cloud.sql.v1.Settings.replicationLagMaxSeconds: object expected");
-                                message.replicationLagMaxSeconds = $root.google.protobuf.Int32Value.fromObject(object.replicationLagMaxSeconds);
+                                message.replicationLagMaxSeconds = $root.google.protobuf.Int32Value.fromObject(object.replicationLagMaxSeconds, long + 1);
                             }
                             if (object.enableGoogleMlIntegration != null) {
                                 if (typeof object.enableGoogleMlIntegration !== "object")
                                     throw TypeError(".google.cloud.sql.v1.Settings.enableGoogleMlIntegration: object expected");
-                                message.enableGoogleMlIntegration = $root.google.protobuf.BoolValue.fromObject(object.enableGoogleMlIntegration);
+                                message.enableGoogleMlIntegration = $root.google.protobuf.BoolValue.fromObject(object.enableGoogleMlIntegration, long + 1);
                             }
                             if (object.enableDataplexIntegration != null) {
                                 if (typeof object.enableDataplexIntegration !== "object")
                                     throw TypeError(".google.cloud.sql.v1.Settings.enableDataplexIntegration: object expected");
-                                message.enableDataplexIntegration = $root.google.protobuf.BoolValue.fromObject(object.enableDataplexIntegration);
+                                message.enableDataplexIntegration = $root.google.protobuf.BoolValue.fromObject(object.enableDataplexIntegration, long + 1);
                             }
                             if (object.retainBackupsOnDelete != null) {
                                 if (typeof object.retainBackupsOnDelete !== "object")
                                     throw TypeError(".google.cloud.sql.v1.Settings.retainBackupsOnDelete: object expected");
-                                message.retainBackupsOnDelete = $root.google.protobuf.BoolValue.fromObject(object.retainBackupsOnDelete);
+                                message.retainBackupsOnDelete = $root.google.protobuf.BoolValue.fromObject(object.retainBackupsOnDelete, long + 1);
                             }
                             if (object.dataDiskProvisionedIops != null)
                                 if ($util.Long)
@@ -20191,24 +20989,29 @@
                             if (object.connectionPoolConfig != null) {
                                 if (typeof object.connectionPoolConfig !== "object")
                                     throw TypeError(".google.cloud.sql.v1.Settings.connectionPoolConfig: object expected");
-                                message.connectionPoolConfig = $root.google.cloud.sql.v1.ConnectionPoolConfig.fromObject(object.connectionPoolConfig);
+                                message.connectionPoolConfig = $root.google.cloud.sql.v1.ConnectionPoolConfig.fromObject(object.connectionPoolConfig, long + 1);
                             }
                             if (object.finalBackupConfig != null) {
                                 if (typeof object.finalBackupConfig !== "object")
                                     throw TypeError(".google.cloud.sql.v1.Settings.finalBackupConfig: object expected");
-                                message.finalBackupConfig = $root.google.cloud.sql.v1.FinalBackupConfig.fromObject(object.finalBackupConfig);
+                                message.finalBackupConfig = $root.google.cloud.sql.v1.FinalBackupConfig.fromObject(object.finalBackupConfig, long + 1);
                             }
                             if (object.readPoolAutoScaleConfig != null) {
                                 if (typeof object.readPoolAutoScaleConfig !== "object")
                                     throw TypeError(".google.cloud.sql.v1.Settings.readPoolAutoScaleConfig: object expected");
-                                message.readPoolAutoScaleConfig = $root.google.cloud.sql.v1.ReadPoolAutoScaleConfig.fromObject(object.readPoolAutoScaleConfig);
+                                message.readPoolAutoScaleConfig = $root.google.cloud.sql.v1.ReadPoolAutoScaleConfig.fromObject(object.readPoolAutoScaleConfig, long + 1);
+                            }
+                            if (object.acceleratedReplicaMode != null) {
+                                if (typeof object.acceleratedReplicaMode !== "object")
+                                    throw TypeError(".google.cloud.sql.v1.Settings.acceleratedReplicaMode: object expected");
+                                message.acceleratedReplicaMode = $root.google.protobuf.BoolValue.fromObject(object.acceleratedReplicaMode, long + 1);
                             }
                             if (object.autoUpgradeEnabled != null)
                                 message.autoUpgradeEnabled = Boolean(object.autoUpgradeEnabled);
                             if (object.entraidConfig != null) {
                                 if (typeof object.entraidConfig !== "object")
                                     throw TypeError(".google.cloud.sql.v1.Settings.entraidConfig: object expected");
-                                message.entraidConfig = $root.google.cloud.sql.v1.SqlServerEntraIdConfig.fromObject(object.entraidConfig);
+                                message.entraidConfig = $root.google.cloud.sql.v1.SqlServerEntraIdConfig.fromObject(object.entraidConfig, long + 1);
                             }
                             switch (object.dataApiAccess) {
                             default:
@@ -20233,7 +21036,7 @@
                             if (object.performanceCaptureConfig != null) {
                                 if (typeof object.performanceCaptureConfig !== "object")
                                     throw TypeError(".google.cloud.sql.v1.Settings.performanceCaptureConfig: object expected");
-                                message.performanceCaptureConfig = $root.google.cloud.sql.v1.PerformanceCaptureConfig.fromObject(object.performanceCaptureConfig);
+                                message.performanceCaptureConfig = $root.google.cloud.sql.v1.PerformanceCaptureConfig.fromObject(object.performanceCaptureConfig, long + 1);
                             }
                             return message;
                         };
@@ -20291,6 +21094,7 @@
                                 object.enableGoogleMlIntegration = null;
                                 object.enableDataplexIntegration = null;
                                 object.retainBackupsOnDelete = null;
+                                object.acceleratedReplicaMode = null;
                                 object.entraidConfig = null;
                                 object.performanceCaptureConfig = null;
                             }
@@ -20308,8 +21112,11 @@
                             var keys2;
                             if (message.userLabels && (keys2 = Object.keys(message.userLabels)).length) {
                                 object.userLabels = {};
-                                for (var j = 0; j < keys2.length; ++j)
+                                for (var j = 0; j < keys2.length; ++j) {
+                                    if (keys2[j] === "__proto__")
+                                        $util.makeProp(object.userLabels, keys2[j]);
                                     object.userLabels[keys2[j]] = message.userLabels[keys2[j]];
+                                }
                             }
                             if (message.availabilityType != null && message.hasOwnProperty("availabilityType"))
                                 object.availabilityType = options.enums === String ? $root.google.cloud.sql.v1.SqlAvailabilityType[message.availabilityType] === undefined ? message.availabilityType : $root.google.cloud.sql.v1.SqlAvailabilityType[message.availabilityType] : message.availabilityType;
@@ -20410,6 +21217,8 @@
                                 if (options.oneofs)
                                     object._readPoolAutoScaleConfig = "readPoolAutoScaleConfig";
                             }
+                            if (message.acceleratedReplicaMode != null && message.hasOwnProperty("acceleratedReplicaMode"))
+                                object.acceleratedReplicaMode = $root.google.protobuf.BoolValue.toObject(message.acceleratedReplicaMode, options);
                             if (message.autoUpgradeEnabled != null && message.hasOwnProperty("autoUpgradeEnabled")) {
                                 object.autoUpgradeEnabled = message.autoUpgradeEnabled;
                                 if (options.oneofs)
@@ -20547,7 +21356,7 @@
                         function PerformanceCaptureConfig(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -20701,9 +21510,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        PerformanceCaptureConfig.decode = function decode(reader, length, error) {
+                        PerformanceCaptureConfig.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.PerformanceCaptureConfig();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -20735,7 +21548,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -20766,9 +21579,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        PerformanceCaptureConfig.verify = function verify(message) {
+                        PerformanceCaptureConfig.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             var properties = {};
                             if (message.enabled != null && message.hasOwnProperty("enabled")) {
                                 properties._enabled = 1;
@@ -20811,9 +21628,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.PerformanceCaptureConfig} PerformanceCaptureConfig
                          */
-                        PerformanceCaptureConfig.fromObject = function fromObject(object) {
+                        PerformanceCaptureConfig.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.PerformanceCaptureConfig)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.PerformanceCaptureConfig();
                             if (object.enabled != null)
                                 message.enabled = Boolean(object.enabled);
@@ -20926,7 +21747,7 @@
                         function ConnectionPoolFlags(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -21001,9 +21822,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        ConnectionPoolFlags.decode = function decode(reader, length, error) {
+                        ConnectionPoolFlags.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.ConnectionPoolFlags();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -21019,7 +21844,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -21050,9 +21875,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        ConnectionPoolFlags.verify = function verify(message) {
+                        ConnectionPoolFlags.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.name != null && message.hasOwnProperty("name"))
                                 if (!$util.isString(message.name))
                                     return "name: string expected";
@@ -21070,9 +21899,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.ConnectionPoolFlags} ConnectionPoolFlags
                          */
-                        ConnectionPoolFlags.fromObject = function fromObject(object) {
+                        ConnectionPoolFlags.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.ConnectionPoolFlags)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.ConnectionPoolFlags();
                             if (object.name != null)
                                 message.name = String(object.name);
@@ -21157,7 +21990,7 @@
                             this.flags = [];
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -21258,9 +22091,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        ConnectionPoolConfig.decode = function decode(reader, length, error) {
+                        ConnectionPoolConfig.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.ConnectionPoolConfig();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -21274,7 +22111,7 @@
                                 case 8: {
                                         if (!(message.flags && message.flags.length))
                                             message.flags = [];
-                                        message.flags.push($root.google.cloud.sql.v1.ConnectionPoolFlags.decode(reader, reader.uint32()));
+                                        message.flags.push($root.google.cloud.sql.v1.ConnectionPoolFlags.decode(reader, reader.uint32(), undefined, long + 1));
                                         break;
                                     }
                                 case 9: {
@@ -21282,7 +22119,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -21313,9 +22150,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        ConnectionPoolConfig.verify = function verify(message) {
+                        ConnectionPoolConfig.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             var properties = {};
                             if (message.connectionPoolingEnabled != null && message.hasOwnProperty("connectionPoolingEnabled")) {
                                 properties._connectionPoolingEnabled = 1;
@@ -21326,7 +22167,7 @@
                                 if (!Array.isArray(message.flags))
                                     return "flags: array expected";
                                 for (var i = 0; i < message.flags.length; ++i) {
-                                    var error = $root.google.cloud.sql.v1.ConnectionPoolFlags.verify(message.flags[i]);
+                                    var error = $root.google.cloud.sql.v1.ConnectionPoolFlags.verify(message.flags[i], long + 1);
                                     if (error)
                                         return "flags." + error;
                                 }
@@ -21347,9 +22188,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.ConnectionPoolConfig} ConnectionPoolConfig
                          */
-                        ConnectionPoolConfig.fromObject = function fromObject(object) {
+                        ConnectionPoolConfig.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.ConnectionPoolConfig)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.ConnectionPoolConfig();
                             if (object.connectionPoolingEnabled != null)
                                 message.connectionPoolingEnabled = Boolean(object.connectionPoolingEnabled);
@@ -21360,7 +22205,7 @@
                                 for (var i = 0; i < object.flags.length; ++i) {
                                     if (typeof object.flags[i] !== "object")
                                         throw TypeError(".google.cloud.sql.v1.ConnectionPoolConfig.flags: object expected");
-                                    message.flags[i] = $root.google.cloud.sql.v1.ConnectionPoolFlags.fromObject(object.flags[i]);
+                                    message.flags[i] = $root.google.cloud.sql.v1.ConnectionPoolFlags.fromObject(object.flags[i], long + 1);
                                 }
                             }
                             if (object.poolerCount != null)
@@ -21457,7 +22302,7 @@
                             this.targetMetrics = [];
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -21622,9 +22467,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        ReadPoolAutoScaleConfig.decode = function decode(reader, length, error) {
+                        ReadPoolAutoScaleConfig.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.ReadPoolAutoScaleConfig();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -21646,7 +22495,7 @@
                                 case 4: {
                                         if (!(message.targetMetrics && message.targetMetrics.length))
                                             message.targetMetrics = [];
-                                        message.targetMetrics.push($root.google.cloud.sql.v1.ReadPoolAutoScaleConfig.TargetMetric.decode(reader, reader.uint32()));
+                                        message.targetMetrics.push($root.google.cloud.sql.v1.ReadPoolAutoScaleConfig.TargetMetric.decode(reader, reader.uint32(), undefined, long + 1));
                                         break;
                                     }
                                 case 5: {
@@ -21662,7 +22511,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -21693,9 +22542,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        ReadPoolAutoScaleConfig.verify = function verify(message) {
+                        ReadPoolAutoScaleConfig.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             var properties = {};
                             if (message.enabled != null && message.hasOwnProperty("enabled")) {
                                 properties._enabled = 1;
@@ -21716,7 +22569,7 @@
                                 if (!Array.isArray(message.targetMetrics))
                                     return "targetMetrics: array expected";
                                 for (var i = 0; i < message.targetMetrics.length; ++i) {
-                                    var error = $root.google.cloud.sql.v1.ReadPoolAutoScaleConfig.TargetMetric.verify(message.targetMetrics[i]);
+                                    var error = $root.google.cloud.sql.v1.ReadPoolAutoScaleConfig.TargetMetric.verify(message.targetMetrics[i], long + 1);
                                     if (error)
                                         return "targetMetrics." + error;
                                 }
@@ -21747,9 +22600,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.ReadPoolAutoScaleConfig} ReadPoolAutoScaleConfig
                          */
-                        ReadPoolAutoScaleConfig.fromObject = function fromObject(object) {
+                        ReadPoolAutoScaleConfig.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.ReadPoolAutoScaleConfig)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.ReadPoolAutoScaleConfig();
                             if (object.enabled != null)
                                 message.enabled = Boolean(object.enabled);
@@ -21764,7 +22621,7 @@
                                 for (var i = 0; i < object.targetMetrics.length; ++i) {
                                     if (typeof object.targetMetrics[i] !== "object")
                                         throw TypeError(".google.cloud.sql.v1.ReadPoolAutoScaleConfig.targetMetrics: object expected");
-                                    message.targetMetrics[i] = $root.google.cloud.sql.v1.ReadPoolAutoScaleConfig.TargetMetric.fromObject(object.targetMetrics[i]);
+                                    message.targetMetrics[i] = $root.google.cloud.sql.v1.ReadPoolAutoScaleConfig.TargetMetric.fromObject(object.targetMetrics[i], long + 1);
                                 }
                             }
                             if (object.disableScaleIn != null)
@@ -21876,7 +22733,7 @@
                             function TargetMetric(properties) {
                                 if (properties)
                                     for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                        if (properties[keys[i]] != null)
+                                        if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                             this[keys[i]] = properties[keys[i]];
                             }
     
@@ -21966,9 +22823,13 @@
                              * @throws {Error} If the payload is not a reader or valid buffer
                              * @throws {$protobuf.util.ProtocolError} If required fields are missing
                              */
-                            TargetMetric.decode = function decode(reader, length, error) {
+                            TargetMetric.decode = function decode(reader, length, error, long) {
                                 if (!(reader instanceof $Reader))
                                     reader = $Reader.create(reader);
+                                if (long === undefined)
+                                    long = 0;
+                                if (long > $Reader.recursionLimit)
+                                    throw Error("maximum nesting depth exceeded");
                                 var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.ReadPoolAutoScaleConfig.TargetMetric();
                                 while (reader.pos < end) {
                                     var tag = reader.uint32();
@@ -21984,7 +22845,7 @@
                                             break;
                                         }
                                     default:
-                                        reader.skipType(tag & 7);
+                                        reader.skipType(tag & 7, long);
                                         break;
                                     }
                                 }
@@ -22015,9 +22876,13 @@
                              * @param {Object.<string,*>} message Plain object to verify
                              * @returns {string|null} `null` if valid, otherwise the reason why it is not
                              */
-                            TargetMetric.verify = function verify(message) {
+                            TargetMetric.verify = function verify(message, long) {
                                 if (typeof message !== "object" || message === null)
                                     return "object expected";
+                                if (long === undefined)
+                                    long = 0;
+                                if (long > $util.recursionLimit)
+                                    return "maximum nesting depth exceeded";
                                 var properties = {};
                                 if (message.metric != null && message.hasOwnProperty("metric")) {
                                     properties._metric = 1;
@@ -22040,9 +22905,13 @@
                              * @param {Object.<string,*>} object Plain object
                              * @returns {google.cloud.sql.v1.ReadPoolAutoScaleConfig.TargetMetric} TargetMetric
                              */
-                            TargetMetric.fromObject = function fromObject(object) {
+                            TargetMetric.fromObject = function fromObject(object, long) {
                                 if (object instanceof $root.google.cloud.sql.v1.ReadPoolAutoScaleConfig.TargetMetric)
                                     return object;
+                                if (long === undefined)
+                                    long = 0;
+                                if (long > $util.recursionLimit)
+                                    throw Error("maximum nesting depth exceeded");
                                 var message = new $root.google.cloud.sql.v1.ReadPoolAutoScaleConfig.TargetMetric();
                                 if (object.metric != null)
                                     message.metric = String(object.metric);
@@ -22129,7 +22998,7 @@
                         function AdvancedMachineFeatures(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -22194,9 +23063,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        AdvancedMachineFeatures.decode = function decode(reader, length, error) {
+                        AdvancedMachineFeatures.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.AdvancedMachineFeatures();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -22208,7 +23081,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -22239,9 +23112,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        AdvancedMachineFeatures.verify = function verify(message) {
+                        AdvancedMachineFeatures.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.threadsPerCore != null && message.hasOwnProperty("threadsPerCore"))
                                 if (!$util.isInteger(message.threadsPerCore))
                                     return "threadsPerCore: integer expected";
@@ -22256,9 +23133,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.AdvancedMachineFeatures} AdvancedMachineFeatures
                          */
-                        AdvancedMachineFeatures.fromObject = function fromObject(object) {
+                        AdvancedMachineFeatures.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.AdvancedMachineFeatures)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.AdvancedMachineFeatures();
                             if (object.threadsPerCore != null)
                                 message.threadsPerCore = object.threadsPerCore | 0;
@@ -22342,7 +23223,7 @@
                         function SslCert(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -22487,9 +23368,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SslCert.decode = function decode(reader, length, error) {
+                        SslCert.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.SslCert();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -22509,7 +23394,7 @@
                                         break;
                                     }
                                 case 4: {
-                                        message.createTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+                                        message.createTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 5: {
@@ -22517,7 +23402,7 @@
                                         break;
                                     }
                                 case 6: {
-                                        message.expirationTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+                                        message.expirationTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 7: {
@@ -22533,7 +23418,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -22564,9 +23449,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SslCert.verify = function verify(message) {
+                        SslCert.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.kind != null && message.hasOwnProperty("kind"))
                                 if (!$util.isString(message.kind))
                                     return "kind: string expected";
@@ -22577,7 +23466,7 @@
                                 if (!$util.isString(message.cert))
                                     return "cert: string expected";
                             if (message.createTime != null && message.hasOwnProperty("createTime")) {
-                                var error = $root.google.protobuf.Timestamp.verify(message.createTime);
+                                var error = $root.google.protobuf.Timestamp.verify(message.createTime, long + 1);
                                 if (error)
                                     return "createTime." + error;
                             }
@@ -22585,7 +23474,7 @@
                                 if (!$util.isString(message.commonName))
                                     return "commonName: string expected";
                             if (message.expirationTime != null && message.hasOwnProperty("expirationTime")) {
-                                var error = $root.google.protobuf.Timestamp.verify(message.expirationTime);
+                                var error = $root.google.protobuf.Timestamp.verify(message.expirationTime, long + 1);
                                 if (error)
                                     return "expirationTime." + error;
                             }
@@ -22609,9 +23498,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.SslCert} SslCert
                          */
-                        SslCert.fromObject = function fromObject(object) {
+                        SslCert.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.SslCert)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.SslCert();
                             if (object.kind != null)
                                 message.kind = String(object.kind);
@@ -22622,14 +23515,14 @@
                             if (object.createTime != null) {
                                 if (typeof object.createTime !== "object")
                                     throw TypeError(".google.cloud.sql.v1.SslCert.createTime: object expected");
-                                message.createTime = $root.google.protobuf.Timestamp.fromObject(object.createTime);
+                                message.createTime = $root.google.protobuf.Timestamp.fromObject(object.createTime, long + 1);
                             }
                             if (object.commonName != null)
                                 message.commonName = String(object.commonName);
                             if (object.expirationTime != null) {
                                 if (typeof object.expirationTime !== "object")
                                     throw TypeError(".google.cloud.sql.v1.SslCert.expirationTime: object expected");
-                                message.expirationTime = $root.google.protobuf.Timestamp.fromObject(object.expirationTime);
+                                message.expirationTime = $root.google.protobuf.Timestamp.fromObject(object.expirationTime, long + 1);
                             }
                             if (object.sha1Fingerprint != null)
                                 message.sha1Fingerprint = String(object.sha1Fingerprint);
@@ -22735,7 +23628,7 @@
                         function SslCertDetail(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -22810,9 +23703,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SslCertDetail.decode = function decode(reader, length, error) {
+                        SslCertDetail.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.SslCertDetail();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -22820,7 +23717,7 @@
                                     break;
                                 switch (tag >>> 3) {
                                 case 1: {
-                                        message.certInfo = $root.google.cloud.sql.v1.SslCert.decode(reader, reader.uint32());
+                                        message.certInfo = $root.google.cloud.sql.v1.SslCert.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 2: {
@@ -22828,7 +23725,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -22859,11 +23756,15 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SslCertDetail.verify = function verify(message) {
+                        SslCertDetail.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.certInfo != null && message.hasOwnProperty("certInfo")) {
-                                var error = $root.google.cloud.sql.v1.SslCert.verify(message.certInfo);
+                                var error = $root.google.cloud.sql.v1.SslCert.verify(message.certInfo, long + 1);
                                 if (error)
                                     return "certInfo." + error;
                             }
@@ -22881,14 +23782,18 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.SslCertDetail} SslCertDetail
                          */
-                        SslCertDetail.fromObject = function fromObject(object) {
+                        SslCertDetail.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.SslCertDetail)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.SslCertDetail();
                             if (object.certInfo != null) {
                                 if (typeof object.certInfo !== "object")
                                     throw TypeError(".google.cloud.sql.v1.SslCertDetail.certInfo: object expected");
-                                message.certInfo = $root.google.cloud.sql.v1.SslCert.fromObject(object.certInfo);
+                                message.certInfo = $root.google.cloud.sql.v1.SslCert.fromObject(object.certInfo, long + 1);
                             }
                             if (object.certPrivateKey != null)
                                 message.certPrivateKey = String(object.certPrivateKey);
@@ -22974,7 +23879,7 @@
                             this.dnsServers = [];
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -23090,9 +23995,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlActiveDirectoryConfig.decode = function decode(reader, length, error) {
+                        SqlActiveDirectoryConfig.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.SqlActiveDirectoryConfig();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -23126,7 +24035,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -23157,9 +24066,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlActiveDirectoryConfig.verify = function verify(message) {
+                        SqlActiveDirectoryConfig.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.kind != null && message.hasOwnProperty("kind"))
                                 if (!$util.isString(message.kind))
                                     return "kind: string expected";
@@ -23200,9 +24113,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.SqlActiveDirectoryConfig} SqlActiveDirectoryConfig
                          */
-                        SqlActiveDirectoryConfig.fromObject = function fromObject(object) {
+                        SqlActiveDirectoryConfig.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.SqlActiveDirectoryConfig)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.SqlActiveDirectoryConfig();
                             if (object.kind != null)
                                 message.kind = String(object.kind);
@@ -23356,7 +24273,7 @@
                         function SqlServerAuditConfig(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -23451,9 +24368,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlServerAuditConfig.decode = function decode(reader, length, error) {
+                        SqlServerAuditConfig.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.SqlServerAuditConfig();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -23469,15 +24390,15 @@
                                         break;
                                     }
                                 case 3: {
-                                        message.retentionInterval = $root.google.protobuf.Duration.decode(reader, reader.uint32());
+                                        message.retentionInterval = $root.google.protobuf.Duration.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 4: {
-                                        message.uploadInterval = $root.google.protobuf.Duration.decode(reader, reader.uint32());
+                                        message.uploadInterval = $root.google.protobuf.Duration.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -23508,9 +24429,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlServerAuditConfig.verify = function verify(message) {
+                        SqlServerAuditConfig.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.kind != null && message.hasOwnProperty("kind"))
                                 if (!$util.isString(message.kind))
                                     return "kind: string expected";
@@ -23518,12 +24443,12 @@
                                 if (!$util.isString(message.bucket))
                                     return "bucket: string expected";
                             if (message.retentionInterval != null && message.hasOwnProperty("retentionInterval")) {
-                                var error = $root.google.protobuf.Duration.verify(message.retentionInterval);
+                                var error = $root.google.protobuf.Duration.verify(message.retentionInterval, long + 1);
                                 if (error)
                                     return "retentionInterval." + error;
                             }
                             if (message.uploadInterval != null && message.hasOwnProperty("uploadInterval")) {
-                                var error = $root.google.protobuf.Duration.verify(message.uploadInterval);
+                                var error = $root.google.protobuf.Duration.verify(message.uploadInterval, long + 1);
                                 if (error)
                                     return "uploadInterval." + error;
                             }
@@ -23538,9 +24463,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.SqlServerAuditConfig} SqlServerAuditConfig
                          */
-                        SqlServerAuditConfig.fromObject = function fromObject(object) {
+                        SqlServerAuditConfig.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.SqlServerAuditConfig)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.SqlServerAuditConfig();
                             if (object.kind != null)
                                 message.kind = String(object.kind);
@@ -23549,12 +24478,12 @@
                             if (object.retentionInterval != null) {
                                 if (typeof object.retentionInterval !== "object")
                                     throw TypeError(".google.cloud.sql.v1.SqlServerAuditConfig.retentionInterval: object expected");
-                                message.retentionInterval = $root.google.protobuf.Duration.fromObject(object.retentionInterval);
+                                message.retentionInterval = $root.google.protobuf.Duration.fromObject(object.retentionInterval, long + 1);
                             }
                             if (object.uploadInterval != null) {
                                 if (typeof object.uploadInterval !== "object")
                                     throw TypeError(".google.cloud.sql.v1.SqlServerAuditConfig.uploadInterval: object expected");
-                                message.uploadInterval = $root.google.protobuf.Duration.fromObject(object.uploadInterval);
+                                message.uploadInterval = $root.google.protobuf.Duration.fromObject(object.uploadInterval, long + 1);
                             }
                             return message;
                         };
@@ -23640,7 +24569,7 @@
                         function SqlServerEntraIdConfig(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -23725,9 +24654,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlServerEntraIdConfig.decode = function decode(reader, length, error) {
+                        SqlServerEntraIdConfig.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.SqlServerEntraIdConfig();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -23747,7 +24680,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -23778,9 +24711,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlServerEntraIdConfig.verify = function verify(message) {
+                        SqlServerEntraIdConfig.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.kind != null && message.hasOwnProperty("kind"))
                                 if (!$util.isString(message.kind))
                                     return "kind: string expected";
@@ -23801,9 +24738,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.SqlServerEntraIdConfig} SqlServerEntraIdConfig
                          */
-                        SqlServerEntraIdConfig.fromObject = function fromObject(object) {
+                        SqlServerEntraIdConfig.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.SqlServerEntraIdConfig)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.SqlServerEntraIdConfig();
                             if (object.kind != null)
                                 message.kind = String(object.kind);
@@ -23955,6 +24896,7 @@
                      * @property {number} POSTGRES_16=272 POSTGRES_16 value
                      * @property {number} POSTGRES_17=408 POSTGRES_17 value
                      * @property {number} POSTGRES_18=557 POSTGRES_18 value
+                     * @property {number} POSTGRES_19=684 POSTGRES_19 value
                      * @property {number} SQLSERVER_2019_STANDARD=26 SQLSERVER_2019_STANDARD value
                      * @property {number} SQLSERVER_2019_ENTERPRISE=27 SQLSERVER_2019_ENTERPRISE value
                      * @property {number} SQLSERVER_2019_EXPRESS=28 SQLSERVER_2019_EXPRESS value
@@ -23963,6 +24905,9 @@
                      * @property {number} SQLSERVER_2022_ENTERPRISE=200 SQLSERVER_2022_ENTERPRISE value
                      * @property {number} SQLSERVER_2022_EXPRESS=201 SQLSERVER_2022_EXPRESS value
                      * @property {number} SQLSERVER_2022_WEB=202 SQLSERVER_2022_WEB value
+                     * @property {number} SQLSERVER_2025_STANDARD=549 SQLSERVER_2025_STANDARD value
+                     * @property {number} SQLSERVER_2025_ENTERPRISE=550 SQLSERVER_2025_ENTERPRISE value
+                     * @property {number} SQLSERVER_2025_EXPRESS=551 SQLSERVER_2025_EXPRESS value
                      */
                     v1.SqlDatabaseVersion = (function() {
                         var valuesById = {}, values = Object.create(valuesById);
@@ -24009,6 +24954,7 @@
                         values[valuesById[272] = "POSTGRES_16"] = 272;
                         values[valuesById[408] = "POSTGRES_17"] = 408;
                         values[valuesById[557] = "POSTGRES_18"] = 557;
+                        values[valuesById[684] = "POSTGRES_19"] = 684;
                         values[valuesById[26] = "SQLSERVER_2019_STANDARD"] = 26;
                         values[valuesById[27] = "SQLSERVER_2019_ENTERPRISE"] = 27;
                         values[valuesById[28] = "SQLSERVER_2019_EXPRESS"] = 28;
@@ -24017,6 +24963,9 @@
                         values[valuesById[200] = "SQLSERVER_2022_ENTERPRISE"] = 200;
                         values[valuesById[201] = "SQLSERVER_2022_EXPRESS"] = 201;
                         values[valuesById[202] = "SQLSERVER_2022_WEB"] = 202;
+                        values[valuesById[549] = "SQLSERVER_2025_STANDARD"] = 549;
+                        values[valuesById[550] = "SQLSERVER_2025_ENTERPRISE"] = 550;
+                        values[valuesById[551] = "SQLSERVER_2025_EXPRESS"] = 551;
                         return values;
                     })();
     
@@ -24129,7 +25078,7 @@
                         function AcquireSsrsLeaseContext(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -24251,9 +25200,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        AcquireSsrsLeaseContext.decode = function decode(reader, length, error) {
+                        AcquireSsrsLeaseContext.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.AcquireSsrsLeaseContext();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -24273,11 +25226,11 @@
                                         break;
                                     }
                                 case 4: {
-                                        message.duration = $root.google.protobuf.Duration.decode(reader, reader.uint32());
+                                        message.duration = $root.google.protobuf.Duration.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -24308,9 +25261,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        AcquireSsrsLeaseContext.verify = function verify(message) {
+                        AcquireSsrsLeaseContext.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             var properties = {};
                             if (message.setupLogin != null && message.hasOwnProperty("setupLogin")) {
                                 properties._setupLogin = 1;
@@ -24330,7 +25287,7 @@
                             if (message.duration != null && message.hasOwnProperty("duration")) {
                                 properties._duration = 1;
                                 {
-                                    var error = $root.google.protobuf.Duration.verify(message.duration);
+                                    var error = $root.google.protobuf.Duration.verify(message.duration, long + 1);
                                     if (error)
                                         return "duration." + error;
                                 }
@@ -24346,9 +25303,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.AcquireSsrsLeaseContext} AcquireSsrsLeaseContext
                          */
-                        AcquireSsrsLeaseContext.fromObject = function fromObject(object) {
+                        AcquireSsrsLeaseContext.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.AcquireSsrsLeaseContext)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.AcquireSsrsLeaseContext();
                             if (object.setupLogin != null)
                                 message.setupLogin = String(object.setupLogin);
@@ -24359,7 +25320,7 @@
                             if (object.duration != null) {
                                 if (typeof object.duration !== "object")
                                     throw TypeError(".google.cloud.sql.v1.AcquireSsrsLeaseContext.duration: object expected");
-                                message.duration = $root.google.protobuf.Duration.fromObject(object.duration);
+                                message.duration = $root.google.protobuf.Duration.fromObject(object.duration, long + 1);
                             }
                             return message;
                         };
@@ -24452,7 +25413,7 @@
                         function DnsNameMapping(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -24547,9 +25508,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        DnsNameMapping.decode = function decode(reader, length, error) {
+                        DnsNameMapping.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.DnsNameMapping();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -24573,7 +25538,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -24604,9 +25569,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        DnsNameMapping.verify = function verify(message) {
+                        DnsNameMapping.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.name != null && message.hasOwnProperty("name"))
                                 if (!$util.isString(message.name))
                                     return "name: string expected";
@@ -24649,9 +25618,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.DnsNameMapping} DnsNameMapping
                          */
-                        DnsNameMapping.fromObject = function fromObject(object) {
+                        DnsNameMapping.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.DnsNameMapping)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.DnsNameMapping();
                             if (object.name != null)
                                 message.name = String(object.name);
@@ -25052,7 +26025,7 @@
                         function CreateBackupRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -25127,9 +26100,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        CreateBackupRequest.decode = function decode(reader, length, error) {
+                        CreateBackupRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.CreateBackupRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -25141,11 +26118,11 @@
                                         break;
                                     }
                                 case 2: {
-                                        message.backup = $root.google.cloud.sql.v1.Backup.decode(reader, reader.uint32());
+                                        message.backup = $root.google.cloud.sql.v1.Backup.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -25176,14 +26153,18 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        CreateBackupRequest.verify = function verify(message) {
+                        CreateBackupRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.parent != null && message.hasOwnProperty("parent"))
                                 if (!$util.isString(message.parent))
                                     return "parent: string expected";
                             if (message.backup != null && message.hasOwnProperty("backup")) {
-                                var error = $root.google.cloud.sql.v1.Backup.verify(message.backup);
+                                var error = $root.google.cloud.sql.v1.Backup.verify(message.backup, long + 1);
                                 if (error)
                                     return "backup." + error;
                             }
@@ -25198,16 +26179,20 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.CreateBackupRequest} CreateBackupRequest
                          */
-                        CreateBackupRequest.fromObject = function fromObject(object) {
+                        CreateBackupRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.CreateBackupRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.CreateBackupRequest();
                             if (object.parent != null)
                                 message.parent = String(object.parent);
                             if (object.backup != null) {
                                 if (typeof object.backup !== "object")
                                     throw TypeError(".google.cloud.sql.v1.CreateBackupRequest.backup: object expected");
-                                message.backup = $root.google.cloud.sql.v1.Backup.fromObject(object.backup);
+                                message.backup = $root.google.cloud.sql.v1.Backup.fromObject(object.backup, long + 1);
                             }
                             return message;
                         };
@@ -25285,7 +26270,7 @@
                         function GetBackupRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -25350,9 +26335,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        GetBackupRequest.decode = function decode(reader, length, error) {
+                        GetBackupRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.GetBackupRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -25364,7 +26353,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -25395,9 +26384,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        GetBackupRequest.verify = function verify(message) {
+                        GetBackupRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.name != null && message.hasOwnProperty("name"))
                                 if (!$util.isString(message.name))
                                     return "name: string expected";
@@ -25412,9 +26405,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.GetBackupRequest} GetBackupRequest
                          */
-                        GetBackupRequest.fromObject = function fromObject(object) {
+                        GetBackupRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.GetBackupRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.GetBackupRequest();
                             if (object.name != null)
                                 message.name = String(object.name);
@@ -25493,7 +26490,7 @@
                         function ListBackupsRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -25588,9 +26585,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        ListBackupsRequest.decode = function decode(reader, length, error) {
+                        ListBackupsRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.ListBackupsRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -25614,7 +26615,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -25645,9 +26646,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        ListBackupsRequest.verify = function verify(message) {
+                        ListBackupsRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.parent != null && message.hasOwnProperty("parent"))
                                 if (!$util.isString(message.parent))
                                     return "parent: string expected";
@@ -25671,9 +26676,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.ListBackupsRequest} ListBackupsRequest
                          */
-                        ListBackupsRequest.fromObject = function fromObject(object) {
+                        ListBackupsRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.ListBackupsRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.ListBackupsRequest();
                             if (object.parent != null)
                                 message.parent = String(object.parent);
@@ -25769,7 +26778,7 @@
                             this.warnings = [];
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -25856,9 +26865,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        ListBackupsResponse.decode = function decode(reader, length, error) {
+                        ListBackupsResponse.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.ListBackupsResponse();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -25868,7 +26881,7 @@
                                 case 1: {
                                         if (!(message.backups && message.backups.length))
                                             message.backups = [];
-                                        message.backups.push($root.google.cloud.sql.v1.Backup.decode(reader, reader.uint32()));
+                                        message.backups.push($root.google.cloud.sql.v1.Backup.decode(reader, reader.uint32(), undefined, long + 1));
                                         break;
                                     }
                                 case 2: {
@@ -25878,11 +26891,11 @@
                                 case 3: {
                                         if (!(message.warnings && message.warnings.length))
                                             message.warnings = [];
-                                        message.warnings.push($root.google.cloud.sql.v1.ApiWarning.decode(reader, reader.uint32()));
+                                        message.warnings.push($root.google.cloud.sql.v1.ApiWarning.decode(reader, reader.uint32(), undefined, long + 1));
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -25913,14 +26926,18 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        ListBackupsResponse.verify = function verify(message) {
+                        ListBackupsResponse.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.backups != null && message.hasOwnProperty("backups")) {
                                 if (!Array.isArray(message.backups))
                                     return "backups: array expected";
                                 for (var i = 0; i < message.backups.length; ++i) {
-                                    var error = $root.google.cloud.sql.v1.Backup.verify(message.backups[i]);
+                                    var error = $root.google.cloud.sql.v1.Backup.verify(message.backups[i], long + 1);
                                     if (error)
                                         return "backups." + error;
                                 }
@@ -25932,7 +26949,7 @@
                                 if (!Array.isArray(message.warnings))
                                     return "warnings: array expected";
                                 for (var i = 0; i < message.warnings.length; ++i) {
-                                    var error = $root.google.cloud.sql.v1.ApiWarning.verify(message.warnings[i]);
+                                    var error = $root.google.cloud.sql.v1.ApiWarning.verify(message.warnings[i], long + 1);
                                     if (error)
                                         return "warnings." + error;
                                 }
@@ -25948,9 +26965,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.ListBackupsResponse} ListBackupsResponse
                          */
-                        ListBackupsResponse.fromObject = function fromObject(object) {
+                        ListBackupsResponse.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.ListBackupsResponse)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.ListBackupsResponse();
                             if (object.backups) {
                                 if (!Array.isArray(object.backups))
@@ -25959,7 +26980,7 @@
                                 for (var i = 0; i < object.backups.length; ++i) {
                                     if (typeof object.backups[i] !== "object")
                                         throw TypeError(".google.cloud.sql.v1.ListBackupsResponse.backups: object expected");
-                                    message.backups[i] = $root.google.cloud.sql.v1.Backup.fromObject(object.backups[i]);
+                                    message.backups[i] = $root.google.cloud.sql.v1.Backup.fromObject(object.backups[i], long + 1);
                                 }
                             }
                             if (object.nextPageToken != null)
@@ -25971,7 +26992,7 @@
                                 for (var i = 0; i < object.warnings.length; ++i) {
                                     if (typeof object.warnings[i] !== "object")
                                         throw TypeError(".google.cloud.sql.v1.ListBackupsResponse.warnings: object expected");
-                                    message.warnings[i] = $root.google.cloud.sql.v1.ApiWarning.fromObject(object.warnings[i]);
+                                    message.warnings[i] = $root.google.cloud.sql.v1.ApiWarning.fromObject(object.warnings[i], long + 1);
                                 }
                             }
                             return message;
@@ -26061,7 +27082,7 @@
                         function UpdateBackupRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -26136,9 +27157,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        UpdateBackupRequest.decode = function decode(reader, length, error) {
+                        UpdateBackupRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.UpdateBackupRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -26146,15 +27171,15 @@
                                     break;
                                 switch (tag >>> 3) {
                                 case 1: {
-                                        message.backup = $root.google.cloud.sql.v1.Backup.decode(reader, reader.uint32());
+                                        message.backup = $root.google.cloud.sql.v1.Backup.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 2: {
-                                        message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32());
+                                        message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -26185,16 +27210,20 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        UpdateBackupRequest.verify = function verify(message) {
+                        UpdateBackupRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.backup != null && message.hasOwnProperty("backup")) {
-                                var error = $root.google.cloud.sql.v1.Backup.verify(message.backup);
+                                var error = $root.google.cloud.sql.v1.Backup.verify(message.backup, long + 1);
                                 if (error)
                                     return "backup." + error;
                             }
                             if (message.updateMask != null && message.hasOwnProperty("updateMask")) {
-                                var error = $root.google.protobuf.FieldMask.verify(message.updateMask);
+                                var error = $root.google.protobuf.FieldMask.verify(message.updateMask, long + 1);
                                 if (error)
                                     return "updateMask." + error;
                             }
@@ -26209,19 +27238,23 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.UpdateBackupRequest} UpdateBackupRequest
                          */
-                        UpdateBackupRequest.fromObject = function fromObject(object) {
+                        UpdateBackupRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.UpdateBackupRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.UpdateBackupRequest();
                             if (object.backup != null) {
                                 if (typeof object.backup !== "object")
                                     throw TypeError(".google.cloud.sql.v1.UpdateBackupRequest.backup: object expected");
-                                message.backup = $root.google.cloud.sql.v1.Backup.fromObject(object.backup);
+                                message.backup = $root.google.cloud.sql.v1.Backup.fromObject(object.backup, long + 1);
                             }
                             if (object.updateMask != null) {
                                 if (typeof object.updateMask !== "object")
                                     throw TypeError(".google.cloud.sql.v1.UpdateBackupRequest.updateMask: object expected");
-                                message.updateMask = $root.google.protobuf.FieldMask.fromObject(object.updateMask);
+                                message.updateMask = $root.google.protobuf.FieldMask.fromObject(object.updateMask, long + 1);
                             }
                             return message;
                         };
@@ -26299,7 +27332,7 @@
                         function DeleteBackupRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -26364,9 +27397,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        DeleteBackupRequest.decode = function decode(reader, length, error) {
+                        DeleteBackupRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.DeleteBackupRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -26378,7 +27415,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -26409,9 +27446,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        DeleteBackupRequest.verify = function verify(message) {
+                        DeleteBackupRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.name != null && message.hasOwnProperty("name"))
                                 if (!$util.isString(message.name))
                                     return "name: string expected";
@@ -26426,9 +27467,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.DeleteBackupRequest} DeleteBackupRequest
                          */
-                        DeleteBackupRequest.fromObject = function fromObject(object) {
+                        DeleteBackupRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.DeleteBackupRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.DeleteBackupRequest();
                             if (object.name != null)
                                 message.name = String(object.name);
@@ -26526,7 +27571,7 @@
                         function Backup(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -26831,9 +27876,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        Backup.decode = function decode(reader, length, error) {
+                        Backup.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.Backup();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -26869,7 +27918,7 @@
                                         break;
                                     }
                                 case 8: {
-                                        message.backupInterval = $root.google.type.Interval.decode(reader, reader.uint32());
+                                        message.backupInterval = $root.google.type.Interval.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 9: {
@@ -26877,7 +27926,7 @@
                                         break;
                                     }
                                 case 10: {
-                                        message.error = $root.google.cloud.sql.v1.OperationError.decode(reader, reader.uint32());
+                                        message.error = $root.google.cloud.sql.v1.OperationError.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 11: {
@@ -26901,7 +27950,7 @@
                                         break;
                                     }
                                 case 17: {
-                                        message.expiryTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+                                        message.expiryTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 20: {
@@ -26913,11 +27962,11 @@
                                         break;
                                     }
                                 case 24: {
-                                        message.instanceDeletionTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+                                        message.instanceDeletionTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 25: {
-                                        message.instanceSettings = $root.google.cloud.sql.v1.DatabaseInstance.decode(reader, reader.uint32());
+                                        message.instanceSettings = $root.google.cloud.sql.v1.DatabaseInstance.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 26: {
@@ -26925,15 +27974,15 @@
                                         break;
                                     }
                                 case 27: {
-                                        message.satisfiesPzs = $root.google.protobuf.BoolValue.decode(reader, reader.uint32());
+                                        message.satisfiesPzs = $root.google.protobuf.BoolValue.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 28: {
-                                        message.satisfiesPzi = $root.google.protobuf.BoolValue.decode(reader, reader.uint32());
+                                        message.satisfiesPzi = $root.google.protobuf.BoolValue.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -26964,9 +28013,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        Backup.verify = function verify(message) {
+                        Backup.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             var properties = {};
                             if (message.name != null && message.hasOwnProperty("name"))
                                 if (!$util.isString(message.name))
@@ -26997,7 +28050,7 @@
                                 if (!$util.isString(message.location))
                                     return "location: string expected";
                             if (message.backupInterval != null && message.hasOwnProperty("backupInterval")) {
-                                var error = $root.google.type.Interval.verify(message.backupInterval);
+                                var error = $root.google.type.Interval.verify(message.backupInterval, long + 1);
                                 if (error)
                                     return "backupInterval." + error;
                             }
@@ -27015,7 +28068,7 @@
                                     break;
                                 }
                             if (message.error != null && message.hasOwnProperty("error")) {
-                                var error = $root.google.cloud.sql.v1.OperationError.verify(message.error);
+                                var error = $root.google.cloud.sql.v1.OperationError.verify(message.error, long + 1);
                                 if (error)
                                     return "error." + error;
                             }
@@ -27047,7 +28100,7 @@
                                     return "expiration: multiple values";
                                 properties.expiration = 1;
                                 {
-                                    var error = $root.google.protobuf.Timestamp.verify(message.expiryTime);
+                                    var error = $root.google.protobuf.Timestamp.verify(message.expiryTime, long + 1);
                                     if (error)
                                         return "expiryTime." + error;
                                 }
@@ -27099,6 +28152,7 @@
                                 case 272:
                                 case 408:
                                 case 557:
+                                case 684:
                                 case 26:
                                 case 27:
                                 case 28:
@@ -27107,6 +28161,9 @@
                                 case 200:
                                 case 201:
                                 case 202:
+                                case 549:
+                                case 550:
+                                case 551:
                                     break;
                                 }
                             if (message.maxChargeableBytes != null && message.hasOwnProperty("maxChargeableBytes")) {
@@ -27115,12 +28172,12 @@
                                     return "maxChargeableBytes: integer|Long expected";
                             }
                             if (message.instanceDeletionTime != null && message.hasOwnProperty("instanceDeletionTime")) {
-                                var error = $root.google.protobuf.Timestamp.verify(message.instanceDeletionTime);
+                                var error = $root.google.protobuf.Timestamp.verify(message.instanceDeletionTime, long + 1);
                                 if (error)
                                     return "instanceDeletionTime." + error;
                             }
                             if (message.instanceSettings != null && message.hasOwnProperty("instanceSettings")) {
-                                var error = $root.google.cloud.sql.v1.DatabaseInstance.verify(message.instanceSettings);
+                                var error = $root.google.cloud.sql.v1.DatabaseInstance.verify(message.instanceSettings, long + 1);
                                 if (error)
                                     return "instanceSettings." + error;
                             }
@@ -27128,12 +28185,12 @@
                                 if (!$util.isString(message.backupRun))
                                     return "backupRun: string expected";
                             if (message.satisfiesPzs != null && message.hasOwnProperty("satisfiesPzs")) {
-                                var error = $root.google.protobuf.BoolValue.verify(message.satisfiesPzs);
+                                var error = $root.google.protobuf.BoolValue.verify(message.satisfiesPzs, long + 1);
                                 if (error)
                                     return "satisfiesPzs." + error;
                             }
                             if (message.satisfiesPzi != null && message.hasOwnProperty("satisfiesPzi")) {
-                                var error = $root.google.protobuf.BoolValue.verify(message.satisfiesPzi);
+                                var error = $root.google.protobuf.BoolValue.verify(message.satisfiesPzi, long + 1);
                                 if (error)
                                     return "satisfiesPzi." + error;
                             }
@@ -27148,9 +28205,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.Backup} Backup
                          */
-                        Backup.fromObject = function fromObject(object) {
+                        Backup.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.Backup)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.Backup();
                             if (object.name != null)
                                 message.name = String(object.name);
@@ -27191,7 +28252,7 @@
                             if (object.backupInterval != null) {
                                 if (typeof object.backupInterval !== "object")
                                     throw TypeError(".google.cloud.sql.v1.Backup.backupInterval: object expected");
-                                message.backupInterval = $root.google.type.Interval.fromObject(object.backupInterval);
+                                message.backupInterval = $root.google.type.Interval.fromObject(object.backupInterval, long + 1);
                             }
                             switch (object.state) {
                             default:
@@ -27232,7 +28293,7 @@
                             if (object.error != null) {
                                 if (typeof object.error !== "object")
                                     throw TypeError(".google.cloud.sql.v1.Backup.error: object expected");
-                                message.error = $root.google.cloud.sql.v1.OperationError.fromObject(object.error);
+                                message.error = $root.google.cloud.sql.v1.OperationError.fromObject(object.error, long + 1);
                             }
                             if (object.kmsKey != null)
                                 message.kmsKey = String(object.kmsKey);
@@ -27272,7 +28333,7 @@
                             if (object.expiryTime != null) {
                                 if (typeof object.expiryTime !== "object")
                                     throw TypeError(".google.cloud.sql.v1.Backup.expiryTime: object expected");
-                                message.expiryTime = $root.google.protobuf.Timestamp.fromObject(object.expiryTime);
+                                message.expiryTime = $root.google.protobuf.Timestamp.fromObject(object.expiryTime, long + 1);
                             }
                             switch (object.databaseVersion) {
                             default:
@@ -27453,6 +28514,10 @@
                             case 557:
                                 message.databaseVersion = 557;
                                 break;
+                            case "POSTGRES_19":
+                            case 684:
+                                message.databaseVersion = 684;
+                                break;
                             case "SQLSERVER_2019_STANDARD":
                             case 26:
                                 message.databaseVersion = 26;
@@ -27485,6 +28550,18 @@
                             case 202:
                                 message.databaseVersion = 202;
                                 break;
+                            case "SQLSERVER_2025_STANDARD":
+                            case 549:
+                                message.databaseVersion = 549;
+                                break;
+                            case "SQLSERVER_2025_ENTERPRISE":
+                            case 550:
+                                message.databaseVersion = 550;
+                                break;
+                            case "SQLSERVER_2025_EXPRESS":
+                            case 551:
+                                message.databaseVersion = 551;
+                                break;
                             }
                             if (object.maxChargeableBytes != null)
                                 if ($util.Long)
@@ -27498,24 +28575,24 @@
                             if (object.instanceDeletionTime != null) {
                                 if (typeof object.instanceDeletionTime !== "object")
                                     throw TypeError(".google.cloud.sql.v1.Backup.instanceDeletionTime: object expected");
-                                message.instanceDeletionTime = $root.google.protobuf.Timestamp.fromObject(object.instanceDeletionTime);
+                                message.instanceDeletionTime = $root.google.protobuf.Timestamp.fromObject(object.instanceDeletionTime, long + 1);
                             }
                             if (object.instanceSettings != null) {
                                 if (typeof object.instanceSettings !== "object")
                                     throw TypeError(".google.cloud.sql.v1.Backup.instanceSettings: object expected");
-                                message.instanceSettings = $root.google.cloud.sql.v1.DatabaseInstance.fromObject(object.instanceSettings);
+                                message.instanceSettings = $root.google.cloud.sql.v1.DatabaseInstance.fromObject(object.instanceSettings, long + 1);
                             }
                             if (object.backupRun != null)
                                 message.backupRun = String(object.backupRun);
                             if (object.satisfiesPzs != null) {
                                 if (typeof object.satisfiesPzs !== "object")
                                     throw TypeError(".google.cloud.sql.v1.Backup.satisfiesPzs: object expected");
-                                message.satisfiesPzs = $root.google.protobuf.BoolValue.fromObject(object.satisfiesPzs);
+                                message.satisfiesPzs = $root.google.protobuf.BoolValue.fromObject(object.satisfiesPzs, long + 1);
                             }
                             if (object.satisfiesPzi != null) {
                                 if (typeof object.satisfiesPzi !== "object")
                                     throw TypeError(".google.cloud.sql.v1.Backup.satisfiesPzi: object expected");
-                                message.satisfiesPzi = $root.google.protobuf.BoolValue.fromObject(object.satisfiesPzi);
+                                message.satisfiesPzi = $root.google.protobuf.BoolValue.fromObject(object.satisfiesPzi, long + 1);
                             }
                             return message;
                         };
@@ -29165,7 +30242,7 @@
                         function SqlInstancesAddServerCaRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -29240,9 +30317,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlInstancesAddServerCaRequest.decode = function decode(reader, length, error) {
+                        SqlInstancesAddServerCaRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.SqlInstancesAddServerCaRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -29258,7 +30339,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -29289,9 +30370,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlInstancesAddServerCaRequest.verify = function verify(message) {
+                        SqlInstancesAddServerCaRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.instance != null && message.hasOwnProperty("instance"))
                                 if (!$util.isString(message.instance))
                                     return "instance: string expected";
@@ -29309,9 +30394,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.SqlInstancesAddServerCaRequest} SqlInstancesAddServerCaRequest
                          */
-                        SqlInstancesAddServerCaRequest.fromObject = function fromObject(object) {
+                        SqlInstancesAddServerCaRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.SqlInstancesAddServerCaRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.SqlInstancesAddServerCaRequest();
                             if (object.instance != null)
                                 message.instance = String(object.instance);
@@ -29394,7 +30483,7 @@
                         function SqlInstancesAddServerCertificateRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -29469,9 +30558,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlInstancesAddServerCertificateRequest.decode = function decode(reader, length, error) {
+                        SqlInstancesAddServerCertificateRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.SqlInstancesAddServerCertificateRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -29487,7 +30580,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -29518,9 +30611,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlInstancesAddServerCertificateRequest.verify = function verify(message) {
+                        SqlInstancesAddServerCertificateRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.instance != null && message.hasOwnProperty("instance"))
                                 if (!$util.isString(message.instance))
                                     return "instance: string expected";
@@ -29538,9 +30635,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.SqlInstancesAddServerCertificateRequest} SqlInstancesAddServerCertificateRequest
                          */
-                        SqlInstancesAddServerCertificateRequest.fromObject = function fromObject(object) {
+                        SqlInstancesAddServerCertificateRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.SqlInstancesAddServerCertificateRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.SqlInstancesAddServerCertificateRequest();
                             if (object.instance != null)
                                 message.instance = String(object.instance);
@@ -29623,7 +30724,7 @@
                         function SqlInstancesAddEntraIdCertificateRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -29698,9 +30799,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlInstancesAddEntraIdCertificateRequest.decode = function decode(reader, length, error) {
+                        SqlInstancesAddEntraIdCertificateRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.SqlInstancesAddEntraIdCertificateRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -29716,7 +30821,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -29747,9 +30852,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlInstancesAddEntraIdCertificateRequest.verify = function verify(message) {
+                        SqlInstancesAddEntraIdCertificateRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.instance != null && message.hasOwnProperty("instance"))
                                 if (!$util.isString(message.instance))
                                     return "instance: string expected";
@@ -29767,9 +30876,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.SqlInstancesAddEntraIdCertificateRequest} SqlInstancesAddEntraIdCertificateRequest
                          */
-                        SqlInstancesAddEntraIdCertificateRequest.fromObject = function fromObject(object) {
+                        SqlInstancesAddEntraIdCertificateRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.SqlInstancesAddEntraIdCertificateRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.SqlInstancesAddEntraIdCertificateRequest();
                             if (object.instance != null)
                                 message.instance = String(object.instance);
@@ -29853,7 +30966,7 @@
                         function SqlInstancesCloneRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -29938,9 +31051,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlInstancesCloneRequest.decode = function decode(reader, length, error) {
+                        SqlInstancesCloneRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.SqlInstancesCloneRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -29956,11 +31073,11 @@
                                         break;
                                     }
                                 case 100: {
-                                        message.body = $root.google.cloud.sql.v1.InstancesCloneRequest.decode(reader, reader.uint32());
+                                        message.body = $root.google.cloud.sql.v1.InstancesCloneRequest.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -29991,9 +31108,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlInstancesCloneRequest.verify = function verify(message) {
+                        SqlInstancesCloneRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.instance != null && message.hasOwnProperty("instance"))
                                 if (!$util.isString(message.instance))
                                     return "instance: string expected";
@@ -30001,7 +31122,7 @@
                                 if (!$util.isString(message.project))
                                     return "project: string expected";
                             if (message.body != null && message.hasOwnProperty("body")) {
-                                var error = $root.google.cloud.sql.v1.InstancesCloneRequest.verify(message.body);
+                                var error = $root.google.cloud.sql.v1.InstancesCloneRequest.verify(message.body, long + 1);
                                 if (error)
                                     return "body." + error;
                             }
@@ -30016,9 +31137,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.SqlInstancesCloneRequest} SqlInstancesCloneRequest
                          */
-                        SqlInstancesCloneRequest.fromObject = function fromObject(object) {
+                        SqlInstancesCloneRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.SqlInstancesCloneRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.SqlInstancesCloneRequest();
                             if (object.instance != null)
                                 message.instance = String(object.instance);
@@ -30027,7 +31152,7 @@
                             if (object.body != null) {
                                 if (typeof object.body !== "object")
                                     throw TypeError(".google.cloud.sql.v1.SqlInstancesCloneRequest.body: object expected");
-                                message.body = $root.google.cloud.sql.v1.InstancesCloneRequest.fromObject(object.body);
+                                message.body = $root.google.cloud.sql.v1.InstancesCloneRequest.fromObject(object.body, long + 1);
                             }
                             return message;
                         };
@@ -30113,7 +31238,7 @@
                         function SqlInstancesDeleteRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -30248,9 +31373,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlInstancesDeleteRequest.decode = function decode(reader, length, error) {
+                        SqlInstancesDeleteRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.SqlInstancesDeleteRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -30274,7 +31403,7 @@
                                         break;
                                     }
                                 case 6: {
-                                        message.finalBackupExpiryTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+                                        message.finalBackupExpiryTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 5: {
@@ -30282,7 +31411,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -30313,9 +31442,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlInstancesDeleteRequest.verify = function verify(message) {
+                        SqlInstancesDeleteRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             var properties = {};
                             if (message.instance != null && message.hasOwnProperty("instance"))
                                 if (!$util.isString(message.instance))
@@ -30338,7 +31471,7 @@
                                     return "expiration: multiple values";
                                 properties.expiration = 1;
                                 {
-                                    var error = $root.google.protobuf.Timestamp.verify(message.finalBackupExpiryTime);
+                                    var error = $root.google.protobuf.Timestamp.verify(message.finalBackupExpiryTime, long + 1);
                                     if (error)
                                         return "finalBackupExpiryTime." + error;
                                 }
@@ -30357,9 +31490,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.SqlInstancesDeleteRequest} SqlInstancesDeleteRequest
                          */
-                        SqlInstancesDeleteRequest.fromObject = function fromObject(object) {
+                        SqlInstancesDeleteRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.SqlInstancesDeleteRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.SqlInstancesDeleteRequest();
                             if (object.instance != null)
                                 message.instance = String(object.instance);
@@ -30379,7 +31516,7 @@
                             if (object.finalBackupExpiryTime != null) {
                                 if (typeof object.finalBackupExpiryTime !== "object")
                                     throw TypeError(".google.cloud.sql.v1.SqlInstancesDeleteRequest.finalBackupExpiryTime: object expected");
-                                message.finalBackupExpiryTime = $root.google.protobuf.Timestamp.fromObject(object.finalBackupExpiryTime);
+                                message.finalBackupExpiryTime = $root.google.protobuf.Timestamp.fromObject(object.finalBackupExpiryTime, long + 1);
                             }
                             if (object.finalBackupDescription != null)
                                 message.finalBackupDescription = String(object.finalBackupDescription);
@@ -30482,7 +31619,7 @@
                         function SqlInstancesDemoteMasterRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -30567,9 +31704,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlInstancesDemoteMasterRequest.decode = function decode(reader, length, error) {
+                        SqlInstancesDemoteMasterRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.SqlInstancesDemoteMasterRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -30585,11 +31726,11 @@
                                         break;
                                     }
                                 case 100: {
-                                        message.body = $root.google.cloud.sql.v1.InstancesDemoteMasterRequest.decode(reader, reader.uint32());
+                                        message.body = $root.google.cloud.sql.v1.InstancesDemoteMasterRequest.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -30620,9 +31761,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlInstancesDemoteMasterRequest.verify = function verify(message) {
+                        SqlInstancesDemoteMasterRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.instance != null && message.hasOwnProperty("instance"))
                                 if (!$util.isString(message.instance))
                                     return "instance: string expected";
@@ -30630,7 +31775,7 @@
                                 if (!$util.isString(message.project))
                                     return "project: string expected";
                             if (message.body != null && message.hasOwnProperty("body")) {
-                                var error = $root.google.cloud.sql.v1.InstancesDemoteMasterRequest.verify(message.body);
+                                var error = $root.google.cloud.sql.v1.InstancesDemoteMasterRequest.verify(message.body, long + 1);
                                 if (error)
                                     return "body." + error;
                             }
@@ -30645,9 +31790,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.SqlInstancesDemoteMasterRequest} SqlInstancesDemoteMasterRequest
                          */
-                        SqlInstancesDemoteMasterRequest.fromObject = function fromObject(object) {
+                        SqlInstancesDemoteMasterRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.SqlInstancesDemoteMasterRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.SqlInstancesDemoteMasterRequest();
                             if (object.instance != null)
                                 message.instance = String(object.instance);
@@ -30656,7 +31805,7 @@
                             if (object.body != null) {
                                 if (typeof object.body !== "object")
                                     throw TypeError(".google.cloud.sql.v1.SqlInstancesDemoteMasterRequest.body: object expected");
-                                message.body = $root.google.cloud.sql.v1.InstancesDemoteMasterRequest.fromObject(object.body);
+                                message.body = $root.google.cloud.sql.v1.InstancesDemoteMasterRequest.fromObject(object.body, long + 1);
                             }
                             return message;
                         };
@@ -30739,7 +31888,7 @@
                         function SqlInstancesDemoteRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -30824,9 +31973,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlInstancesDemoteRequest.decode = function decode(reader, length, error) {
+                        SqlInstancesDemoteRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.SqlInstancesDemoteRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -30842,11 +31995,11 @@
                                         break;
                                     }
                                 case 100: {
-                                        message.body = $root.google.cloud.sql.v1.InstancesDemoteRequest.decode(reader, reader.uint32());
+                                        message.body = $root.google.cloud.sql.v1.InstancesDemoteRequest.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -30877,9 +32030,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlInstancesDemoteRequest.verify = function verify(message) {
+                        SqlInstancesDemoteRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.instance != null && message.hasOwnProperty("instance"))
                                 if (!$util.isString(message.instance))
                                     return "instance: string expected";
@@ -30887,7 +32044,7 @@
                                 if (!$util.isString(message.project))
                                     return "project: string expected";
                             if (message.body != null && message.hasOwnProperty("body")) {
-                                var error = $root.google.cloud.sql.v1.InstancesDemoteRequest.verify(message.body);
+                                var error = $root.google.cloud.sql.v1.InstancesDemoteRequest.verify(message.body, long + 1);
                                 if (error)
                                     return "body." + error;
                             }
@@ -30902,9 +32059,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.SqlInstancesDemoteRequest} SqlInstancesDemoteRequest
                          */
-                        SqlInstancesDemoteRequest.fromObject = function fromObject(object) {
+                        SqlInstancesDemoteRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.SqlInstancesDemoteRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.SqlInstancesDemoteRequest();
                             if (object.instance != null)
                                 message.instance = String(object.instance);
@@ -30913,7 +32074,7 @@
                             if (object.body != null) {
                                 if (typeof object.body !== "object")
                                     throw TypeError(".google.cloud.sql.v1.SqlInstancesDemoteRequest.body: object expected");
-                                message.body = $root.google.cloud.sql.v1.InstancesDemoteRequest.fromObject(object.body);
+                                message.body = $root.google.cloud.sql.v1.InstancesDemoteRequest.fromObject(object.body, long + 1);
                             }
                             return message;
                         };
@@ -30996,7 +32157,7 @@
                         function SqlInstancesExportRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -31081,9 +32242,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlInstancesExportRequest.decode = function decode(reader, length, error) {
+                        SqlInstancesExportRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.SqlInstancesExportRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -31099,11 +32264,11 @@
                                         break;
                                     }
                                 case 100: {
-                                        message.body = $root.google.cloud.sql.v1.InstancesExportRequest.decode(reader, reader.uint32());
+                                        message.body = $root.google.cloud.sql.v1.InstancesExportRequest.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -31134,9 +32299,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlInstancesExportRequest.verify = function verify(message) {
+                        SqlInstancesExportRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.instance != null && message.hasOwnProperty("instance"))
                                 if (!$util.isString(message.instance))
                                     return "instance: string expected";
@@ -31144,7 +32313,7 @@
                                 if (!$util.isString(message.project))
                                     return "project: string expected";
                             if (message.body != null && message.hasOwnProperty("body")) {
-                                var error = $root.google.cloud.sql.v1.InstancesExportRequest.verify(message.body);
+                                var error = $root.google.cloud.sql.v1.InstancesExportRequest.verify(message.body, long + 1);
                                 if (error)
                                     return "body." + error;
                             }
@@ -31159,9 +32328,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.SqlInstancesExportRequest} SqlInstancesExportRequest
                          */
-                        SqlInstancesExportRequest.fromObject = function fromObject(object) {
+                        SqlInstancesExportRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.SqlInstancesExportRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.SqlInstancesExportRequest();
                             if (object.instance != null)
                                 message.instance = String(object.instance);
@@ -31170,7 +32343,7 @@
                             if (object.body != null) {
                                 if (typeof object.body !== "object")
                                     throw TypeError(".google.cloud.sql.v1.SqlInstancesExportRequest.body: object expected");
-                                message.body = $root.google.cloud.sql.v1.InstancesExportRequest.fromObject(object.body);
+                                message.body = $root.google.cloud.sql.v1.InstancesExportRequest.fromObject(object.body, long + 1);
                             }
                             return message;
                         };
@@ -31253,7 +32426,7 @@
                         function SqlInstancesFailoverRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -31338,9 +32511,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlInstancesFailoverRequest.decode = function decode(reader, length, error) {
+                        SqlInstancesFailoverRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.SqlInstancesFailoverRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -31356,11 +32533,11 @@
                                         break;
                                     }
                                 case 100: {
-                                        message.body = $root.google.cloud.sql.v1.InstancesFailoverRequest.decode(reader, reader.uint32());
+                                        message.body = $root.google.cloud.sql.v1.InstancesFailoverRequest.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -31391,9 +32568,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlInstancesFailoverRequest.verify = function verify(message) {
+                        SqlInstancesFailoverRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.instance != null && message.hasOwnProperty("instance"))
                                 if (!$util.isString(message.instance))
                                     return "instance: string expected";
@@ -31401,7 +32582,7 @@
                                 if (!$util.isString(message.project))
                                     return "project: string expected";
                             if (message.body != null && message.hasOwnProperty("body")) {
-                                var error = $root.google.cloud.sql.v1.InstancesFailoverRequest.verify(message.body);
+                                var error = $root.google.cloud.sql.v1.InstancesFailoverRequest.verify(message.body, long + 1);
                                 if (error)
                                     return "body." + error;
                             }
@@ -31416,9 +32597,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.SqlInstancesFailoverRequest} SqlInstancesFailoverRequest
                          */
-                        SqlInstancesFailoverRequest.fromObject = function fromObject(object) {
+                        SqlInstancesFailoverRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.SqlInstancesFailoverRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.SqlInstancesFailoverRequest();
                             if (object.instance != null)
                                 message.instance = String(object.instance);
@@ -31427,7 +32612,7 @@
                             if (object.body != null) {
                                 if (typeof object.body !== "object")
                                     throw TypeError(".google.cloud.sql.v1.SqlInstancesFailoverRequest.body: object expected");
-                                message.body = $root.google.cloud.sql.v1.InstancesFailoverRequest.fromObject(object.body);
+                                message.body = $root.google.cloud.sql.v1.InstancesFailoverRequest.fromObject(object.body, long + 1);
                             }
                             return message;
                         };
@@ -31509,7 +32694,7 @@
                         function SqlInstancesGetRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -31584,9 +32769,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlInstancesGetRequest.decode = function decode(reader, length, error) {
+                        SqlInstancesGetRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.SqlInstancesGetRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -31602,7 +32791,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -31633,9 +32822,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlInstancesGetRequest.verify = function verify(message) {
+                        SqlInstancesGetRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.instance != null && message.hasOwnProperty("instance"))
                                 if (!$util.isString(message.instance))
                                     return "instance: string expected";
@@ -31653,9 +32846,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.SqlInstancesGetRequest} SqlInstancesGetRequest
                          */
-                        SqlInstancesGetRequest.fromObject = function fromObject(object) {
+                        SqlInstancesGetRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.SqlInstancesGetRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.SqlInstancesGetRequest();
                             if (object.instance != null)
                                 message.instance = String(object.instance);
@@ -31739,7 +32936,7 @@
                         function SqlInstancesImportRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -31824,9 +33021,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlInstancesImportRequest.decode = function decode(reader, length, error) {
+                        SqlInstancesImportRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.SqlInstancesImportRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -31842,11 +33043,11 @@
                                         break;
                                     }
                                 case 100: {
-                                        message.body = $root.google.cloud.sql.v1.InstancesImportRequest.decode(reader, reader.uint32());
+                                        message.body = $root.google.cloud.sql.v1.InstancesImportRequest.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -31877,9 +33078,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlInstancesImportRequest.verify = function verify(message) {
+                        SqlInstancesImportRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.instance != null && message.hasOwnProperty("instance"))
                                 if (!$util.isString(message.instance))
                                     return "instance: string expected";
@@ -31887,7 +33092,7 @@
                                 if (!$util.isString(message.project))
                                     return "project: string expected";
                             if (message.body != null && message.hasOwnProperty("body")) {
-                                var error = $root.google.cloud.sql.v1.InstancesImportRequest.verify(message.body);
+                                var error = $root.google.cloud.sql.v1.InstancesImportRequest.verify(message.body, long + 1);
                                 if (error)
                                     return "body." + error;
                             }
@@ -31902,9 +33107,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.SqlInstancesImportRequest} SqlInstancesImportRequest
                          */
-                        SqlInstancesImportRequest.fromObject = function fromObject(object) {
+                        SqlInstancesImportRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.SqlInstancesImportRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.SqlInstancesImportRequest();
                             if (object.instance != null)
                                 message.instance = String(object.instance);
@@ -31913,7 +33122,7 @@
                             if (object.body != null) {
                                 if (typeof object.body !== "object")
                                     throw TypeError(".google.cloud.sql.v1.SqlInstancesImportRequest.body: object expected");
-                                message.body = $root.google.cloud.sql.v1.InstancesImportRequest.fromObject(object.body);
+                                message.body = $root.google.cloud.sql.v1.InstancesImportRequest.fromObject(object.body, long + 1);
                             }
                             return message;
                         };
@@ -31995,7 +33204,7 @@
                         function SqlInstancesInsertRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -32070,9 +33279,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlInstancesInsertRequest.decode = function decode(reader, length, error) {
+                        SqlInstancesInsertRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.SqlInstancesInsertRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -32084,11 +33297,11 @@
                                         break;
                                     }
                                 case 100: {
-                                        message.body = $root.google.cloud.sql.v1.DatabaseInstance.decode(reader, reader.uint32());
+                                        message.body = $root.google.cloud.sql.v1.DatabaseInstance.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -32119,14 +33332,18 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlInstancesInsertRequest.verify = function verify(message) {
+                        SqlInstancesInsertRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.project != null && message.hasOwnProperty("project"))
                                 if (!$util.isString(message.project))
                                     return "project: string expected";
                             if (message.body != null && message.hasOwnProperty("body")) {
-                                var error = $root.google.cloud.sql.v1.DatabaseInstance.verify(message.body);
+                                var error = $root.google.cloud.sql.v1.DatabaseInstance.verify(message.body, long + 1);
                                 if (error)
                                     return "body." + error;
                             }
@@ -32141,16 +33358,20 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.SqlInstancesInsertRequest} SqlInstancesInsertRequest
                          */
-                        SqlInstancesInsertRequest.fromObject = function fromObject(object) {
+                        SqlInstancesInsertRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.SqlInstancesInsertRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.SqlInstancesInsertRequest();
                             if (object.project != null)
                                 message.project = String(object.project);
                             if (object.body != null) {
                                 if (typeof object.body !== "object")
                                     throw TypeError(".google.cloud.sql.v1.SqlInstancesInsertRequest.body: object expected");
-                                message.body = $root.google.cloud.sql.v1.DatabaseInstance.fromObject(object.body);
+                                message.body = $root.google.cloud.sql.v1.DatabaseInstance.fromObject(object.body, long + 1);
                             }
                             return message;
                         };
@@ -32231,7 +33452,7 @@
                         function SqlInstancesListRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -32326,9 +33547,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlInstancesListRequest.decode = function decode(reader, length, error) {
+                        SqlInstancesListRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.SqlInstancesListRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -32352,7 +33577,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -32383,9 +33608,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlInstancesListRequest.verify = function verify(message) {
+                        SqlInstancesListRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.filter != null && message.hasOwnProperty("filter"))
                                 if (!$util.isString(message.filter))
                                     return "filter: string expected";
@@ -32409,9 +33638,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.SqlInstancesListRequest} SqlInstancesListRequest
                          */
-                        SqlInstancesListRequest.fromObject = function fromObject(object) {
+                        SqlInstancesListRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.SqlInstancesListRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.SqlInstancesListRequest();
                             if (object.filter != null)
                                 message.filter = String(object.filter);
@@ -32504,7 +33737,7 @@
                         function SqlInstancesListServerCasRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -32579,9 +33812,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlInstancesListServerCasRequest.decode = function decode(reader, length, error) {
+                        SqlInstancesListServerCasRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.SqlInstancesListServerCasRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -32597,7 +33834,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -32628,9 +33865,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlInstancesListServerCasRequest.verify = function verify(message) {
+                        SqlInstancesListServerCasRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.instance != null && message.hasOwnProperty("instance"))
                                 if (!$util.isString(message.instance))
                                     return "instance: string expected";
@@ -32648,9 +33889,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.SqlInstancesListServerCasRequest} SqlInstancesListServerCasRequest
                          */
-                        SqlInstancesListServerCasRequest.fromObject = function fromObject(object) {
+                        SqlInstancesListServerCasRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.SqlInstancesListServerCasRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.SqlInstancesListServerCasRequest();
                             if (object.instance != null)
                                 message.instance = String(object.instance);
@@ -32733,7 +33978,7 @@
                         function SqlInstancesListServerCertificatesRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -32808,9 +34053,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlInstancesListServerCertificatesRequest.decode = function decode(reader, length, error) {
+                        SqlInstancesListServerCertificatesRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.SqlInstancesListServerCertificatesRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -32826,7 +34075,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -32857,9 +34106,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlInstancesListServerCertificatesRequest.verify = function verify(message) {
+                        SqlInstancesListServerCertificatesRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.instance != null && message.hasOwnProperty("instance"))
                                 if (!$util.isString(message.instance))
                                     return "instance: string expected";
@@ -32877,9 +34130,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.SqlInstancesListServerCertificatesRequest} SqlInstancesListServerCertificatesRequest
                          */
-                        SqlInstancesListServerCertificatesRequest.fromObject = function fromObject(object) {
+                        SqlInstancesListServerCertificatesRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.SqlInstancesListServerCertificatesRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.SqlInstancesListServerCertificatesRequest();
                             if (object.instance != null)
                                 message.instance = String(object.instance);
@@ -32962,7 +34219,7 @@
                         function SqlInstancesListEntraIdCertificatesRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -33037,9 +34294,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlInstancesListEntraIdCertificatesRequest.decode = function decode(reader, length, error) {
+                        SqlInstancesListEntraIdCertificatesRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.SqlInstancesListEntraIdCertificatesRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -33055,7 +34316,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -33086,9 +34347,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlInstancesListEntraIdCertificatesRequest.verify = function verify(message) {
+                        SqlInstancesListEntraIdCertificatesRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.instance != null && message.hasOwnProperty("instance"))
                                 if (!$util.isString(message.instance))
                                     return "instance: string expected";
@@ -33106,9 +34371,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.SqlInstancesListEntraIdCertificatesRequest} SqlInstancesListEntraIdCertificatesRequest
                          */
-                        SqlInstancesListEntraIdCertificatesRequest.fromObject = function fromObject(object) {
+                        SqlInstancesListEntraIdCertificatesRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.SqlInstancesListEntraIdCertificatesRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.SqlInstancesListEntraIdCertificatesRequest();
                             if (object.instance != null)
                                 message.instance = String(object.instance);
@@ -33192,7 +34461,7 @@
                         function SqlInstancesPatchRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -33277,9 +34546,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlInstancesPatchRequest.decode = function decode(reader, length, error) {
+                        SqlInstancesPatchRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.SqlInstancesPatchRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -33295,11 +34568,11 @@
                                         break;
                                     }
                                 case 100: {
-                                        message.body = $root.google.cloud.sql.v1.DatabaseInstance.decode(reader, reader.uint32());
+                                        message.body = $root.google.cloud.sql.v1.DatabaseInstance.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -33330,9 +34603,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlInstancesPatchRequest.verify = function verify(message) {
+                        SqlInstancesPatchRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.instance != null && message.hasOwnProperty("instance"))
                                 if (!$util.isString(message.instance))
                                     return "instance: string expected";
@@ -33340,7 +34617,7 @@
                                 if (!$util.isString(message.project))
                                     return "project: string expected";
                             if (message.body != null && message.hasOwnProperty("body")) {
-                                var error = $root.google.cloud.sql.v1.DatabaseInstance.verify(message.body);
+                                var error = $root.google.cloud.sql.v1.DatabaseInstance.verify(message.body, long + 1);
                                 if (error)
                                     return "body." + error;
                             }
@@ -33355,9 +34632,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.SqlInstancesPatchRequest} SqlInstancesPatchRequest
                          */
-                        SqlInstancesPatchRequest.fromObject = function fromObject(object) {
+                        SqlInstancesPatchRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.SqlInstancesPatchRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.SqlInstancesPatchRequest();
                             if (object.instance != null)
                                 message.instance = String(object.instance);
@@ -33366,7 +34647,7 @@
                             if (object.body != null) {
                                 if (typeof object.body !== "object")
                                     throw TypeError(".google.cloud.sql.v1.SqlInstancesPatchRequest.body: object expected");
-                                message.body = $root.google.cloud.sql.v1.DatabaseInstance.fromObject(object.body);
+                                message.body = $root.google.cloud.sql.v1.DatabaseInstance.fromObject(object.body, long + 1);
                             }
                             return message;
                         };
@@ -33449,7 +34730,7 @@
                         function SqlInstancesPromoteReplicaRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -33534,9 +34815,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlInstancesPromoteReplicaRequest.decode = function decode(reader, length, error) {
+                        SqlInstancesPromoteReplicaRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.SqlInstancesPromoteReplicaRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -33556,7 +34841,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -33587,9 +34872,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlInstancesPromoteReplicaRequest.verify = function verify(message) {
+                        SqlInstancesPromoteReplicaRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.instance != null && message.hasOwnProperty("instance"))
                                 if (!$util.isString(message.instance))
                                     return "instance: string expected";
@@ -33610,9 +34899,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.SqlInstancesPromoteReplicaRequest} SqlInstancesPromoteReplicaRequest
                          */
-                        SqlInstancesPromoteReplicaRequest.fromObject = function fromObject(object) {
+                        SqlInstancesPromoteReplicaRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.SqlInstancesPromoteReplicaRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.SqlInstancesPromoteReplicaRequest();
                             if (object.instance != null)
                                 message.instance = String(object.instance);
@@ -33701,7 +34994,7 @@
                         function SqlInstancesSwitchoverRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -33786,9 +35079,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlInstancesSwitchoverRequest.decode = function decode(reader, length, error) {
+                        SqlInstancesSwitchoverRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.SqlInstancesSwitchoverRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -33804,11 +35101,11 @@
                                         break;
                                     }
                                 case 3: {
-                                        message.dbTimeout = $root.google.protobuf.Duration.decode(reader, reader.uint32());
+                                        message.dbTimeout = $root.google.protobuf.Duration.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -33839,9 +35136,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlInstancesSwitchoverRequest.verify = function verify(message) {
+                        SqlInstancesSwitchoverRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.instance != null && message.hasOwnProperty("instance"))
                                 if (!$util.isString(message.instance))
                                     return "instance: string expected";
@@ -33849,7 +35150,7 @@
                                 if (!$util.isString(message.project))
                                     return "project: string expected";
                             if (message.dbTimeout != null && message.hasOwnProperty("dbTimeout")) {
-                                var error = $root.google.protobuf.Duration.verify(message.dbTimeout);
+                                var error = $root.google.protobuf.Duration.verify(message.dbTimeout, long + 1);
                                 if (error)
                                     return "dbTimeout." + error;
                             }
@@ -33864,9 +35165,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.SqlInstancesSwitchoverRequest} SqlInstancesSwitchoverRequest
                          */
-                        SqlInstancesSwitchoverRequest.fromObject = function fromObject(object) {
+                        SqlInstancesSwitchoverRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.SqlInstancesSwitchoverRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.SqlInstancesSwitchoverRequest();
                             if (object.instance != null)
                                 message.instance = String(object.instance);
@@ -33875,7 +35180,7 @@
                             if (object.dbTimeout != null) {
                                 if (typeof object.dbTimeout !== "object")
                                     throw TypeError(".google.cloud.sql.v1.SqlInstancesSwitchoverRequest.dbTimeout: object expected");
-                                message.dbTimeout = $root.google.protobuf.Duration.fromObject(object.dbTimeout);
+                                message.dbTimeout = $root.google.protobuf.Duration.fromObject(object.dbTimeout, long + 1);
                             }
                             return message;
                         };
@@ -33958,7 +35263,7 @@
                         function SqlInstancesResetSslConfigRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -34043,9 +35348,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlInstancesResetSslConfigRequest.decode = function decode(reader, length, error) {
+                        SqlInstancesResetSslConfigRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.SqlInstancesResetSslConfigRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -34065,7 +35374,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -34096,9 +35405,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlInstancesResetSslConfigRequest.verify = function verify(message) {
+                        SqlInstancesResetSslConfigRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.instance != null && message.hasOwnProperty("instance"))
                                 if (!$util.isString(message.instance))
                                     return "instance: string expected";
@@ -34125,9 +35438,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.SqlInstancesResetSslConfigRequest} SqlInstancesResetSslConfigRequest
                          */
-                        SqlInstancesResetSslConfigRequest.fromObject = function fromObject(object) {
+                        SqlInstancesResetSslConfigRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.SqlInstancesResetSslConfigRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.SqlInstancesResetSslConfigRequest();
                             if (object.instance != null)
                                 message.instance = String(object.instance);
@@ -34249,7 +35566,7 @@
                         function SqlInstancesRestartRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -34324,9 +35641,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlInstancesRestartRequest.decode = function decode(reader, length, error) {
+                        SqlInstancesRestartRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.SqlInstancesRestartRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -34342,7 +35663,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -34373,9 +35694,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlInstancesRestartRequest.verify = function verify(message) {
+                        SqlInstancesRestartRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.instance != null && message.hasOwnProperty("instance"))
                                 if (!$util.isString(message.instance))
                                     return "instance: string expected";
@@ -34393,9 +35718,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.SqlInstancesRestartRequest} SqlInstancesRestartRequest
                          */
-                        SqlInstancesRestartRequest.fromObject = function fromObject(object) {
+                        SqlInstancesRestartRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.SqlInstancesRestartRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.SqlInstancesRestartRequest();
                             if (object.instance != null)
                                 message.instance = String(object.instance);
@@ -34479,7 +35808,7 @@
                         function SqlInstancesRestoreBackupRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -34564,9 +35893,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlInstancesRestoreBackupRequest.decode = function decode(reader, length, error) {
+                        SqlInstancesRestoreBackupRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.SqlInstancesRestoreBackupRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -34582,11 +35915,11 @@
                                         break;
                                     }
                                 case 100: {
-                                        message.body = $root.google.cloud.sql.v1.InstancesRestoreBackupRequest.decode(reader, reader.uint32());
+                                        message.body = $root.google.cloud.sql.v1.InstancesRestoreBackupRequest.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -34617,9 +35950,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlInstancesRestoreBackupRequest.verify = function verify(message) {
+                        SqlInstancesRestoreBackupRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.instance != null && message.hasOwnProperty("instance"))
                                 if (!$util.isString(message.instance))
                                     return "instance: string expected";
@@ -34627,7 +35964,7 @@
                                 if (!$util.isString(message.project))
                                     return "project: string expected";
                             if (message.body != null && message.hasOwnProperty("body")) {
-                                var error = $root.google.cloud.sql.v1.InstancesRestoreBackupRequest.verify(message.body);
+                                var error = $root.google.cloud.sql.v1.InstancesRestoreBackupRequest.verify(message.body, long + 1);
                                 if (error)
                                     return "body." + error;
                             }
@@ -34642,9 +35979,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.SqlInstancesRestoreBackupRequest} SqlInstancesRestoreBackupRequest
                          */
-                        SqlInstancesRestoreBackupRequest.fromObject = function fromObject(object) {
+                        SqlInstancesRestoreBackupRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.SqlInstancesRestoreBackupRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.SqlInstancesRestoreBackupRequest();
                             if (object.instance != null)
                                 message.instance = String(object.instance);
@@ -34653,7 +35994,7 @@
                             if (object.body != null) {
                                 if (typeof object.body !== "object")
                                     throw TypeError(".google.cloud.sql.v1.SqlInstancesRestoreBackupRequest.body: object expected");
-                                message.body = $root.google.cloud.sql.v1.InstancesRestoreBackupRequest.fromObject(object.body);
+                                message.body = $root.google.cloud.sql.v1.InstancesRestoreBackupRequest.fromObject(object.body, long + 1);
                             }
                             return message;
                         };
@@ -34736,7 +36077,7 @@
                         function SqlInstancesRotateServerCaRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -34821,9 +36162,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlInstancesRotateServerCaRequest.decode = function decode(reader, length, error) {
+                        SqlInstancesRotateServerCaRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.SqlInstancesRotateServerCaRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -34839,11 +36184,11 @@
                                         break;
                                     }
                                 case 100: {
-                                        message.body = $root.google.cloud.sql.v1.InstancesRotateServerCaRequest.decode(reader, reader.uint32());
+                                        message.body = $root.google.cloud.sql.v1.InstancesRotateServerCaRequest.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -34874,9 +36219,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlInstancesRotateServerCaRequest.verify = function verify(message) {
+                        SqlInstancesRotateServerCaRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.instance != null && message.hasOwnProperty("instance"))
                                 if (!$util.isString(message.instance))
                                     return "instance: string expected";
@@ -34884,7 +36233,7 @@
                                 if (!$util.isString(message.project))
                                     return "project: string expected";
                             if (message.body != null && message.hasOwnProperty("body")) {
-                                var error = $root.google.cloud.sql.v1.InstancesRotateServerCaRequest.verify(message.body);
+                                var error = $root.google.cloud.sql.v1.InstancesRotateServerCaRequest.verify(message.body, long + 1);
                                 if (error)
                                     return "body." + error;
                             }
@@ -34899,9 +36248,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.SqlInstancesRotateServerCaRequest} SqlInstancesRotateServerCaRequest
                          */
-                        SqlInstancesRotateServerCaRequest.fromObject = function fromObject(object) {
+                        SqlInstancesRotateServerCaRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.SqlInstancesRotateServerCaRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.SqlInstancesRotateServerCaRequest();
                             if (object.instance != null)
                                 message.instance = String(object.instance);
@@ -34910,7 +36263,7 @@
                             if (object.body != null) {
                                 if (typeof object.body !== "object")
                                     throw TypeError(".google.cloud.sql.v1.SqlInstancesRotateServerCaRequest.body: object expected");
-                                message.body = $root.google.cloud.sql.v1.InstancesRotateServerCaRequest.fromObject(object.body);
+                                message.body = $root.google.cloud.sql.v1.InstancesRotateServerCaRequest.fromObject(object.body, long + 1);
                             }
                             return message;
                         };
@@ -34993,7 +36346,7 @@
                         function SqlInstancesRotateServerCertificateRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -35078,9 +36431,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlInstancesRotateServerCertificateRequest.decode = function decode(reader, length, error) {
+                        SqlInstancesRotateServerCertificateRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.SqlInstancesRotateServerCertificateRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -35096,11 +36453,11 @@
                                         break;
                                     }
                                 case 100: {
-                                        message.body = $root.google.cloud.sql.v1.InstancesRotateServerCertificateRequest.decode(reader, reader.uint32());
+                                        message.body = $root.google.cloud.sql.v1.InstancesRotateServerCertificateRequest.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -35131,9 +36488,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlInstancesRotateServerCertificateRequest.verify = function verify(message) {
+                        SqlInstancesRotateServerCertificateRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.instance != null && message.hasOwnProperty("instance"))
                                 if (!$util.isString(message.instance))
                                     return "instance: string expected";
@@ -35141,7 +36502,7 @@
                                 if (!$util.isString(message.project))
                                     return "project: string expected";
                             if (message.body != null && message.hasOwnProperty("body")) {
-                                var error = $root.google.cloud.sql.v1.InstancesRotateServerCertificateRequest.verify(message.body);
+                                var error = $root.google.cloud.sql.v1.InstancesRotateServerCertificateRequest.verify(message.body, long + 1);
                                 if (error)
                                     return "body." + error;
                             }
@@ -35156,9 +36517,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.SqlInstancesRotateServerCertificateRequest} SqlInstancesRotateServerCertificateRequest
                          */
-                        SqlInstancesRotateServerCertificateRequest.fromObject = function fromObject(object) {
+                        SqlInstancesRotateServerCertificateRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.SqlInstancesRotateServerCertificateRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.SqlInstancesRotateServerCertificateRequest();
                             if (object.instance != null)
                                 message.instance = String(object.instance);
@@ -35167,7 +36532,7 @@
                             if (object.body != null) {
                                 if (typeof object.body !== "object")
                                     throw TypeError(".google.cloud.sql.v1.SqlInstancesRotateServerCertificateRequest.body: object expected");
-                                message.body = $root.google.cloud.sql.v1.InstancesRotateServerCertificateRequest.fromObject(object.body);
+                                message.body = $root.google.cloud.sql.v1.InstancesRotateServerCertificateRequest.fromObject(object.body, long + 1);
                             }
                             return message;
                         };
@@ -35250,7 +36615,7 @@
                         function SqlInstancesRotateEntraIdCertificateRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -35335,9 +36700,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlInstancesRotateEntraIdCertificateRequest.decode = function decode(reader, length, error) {
+                        SqlInstancesRotateEntraIdCertificateRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.SqlInstancesRotateEntraIdCertificateRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -35353,11 +36722,11 @@
                                         break;
                                     }
                                 case 100: {
-                                        message.body = $root.google.cloud.sql.v1.InstancesRotateEntraIdCertificateRequest.decode(reader, reader.uint32());
+                                        message.body = $root.google.cloud.sql.v1.InstancesRotateEntraIdCertificateRequest.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -35388,9 +36757,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlInstancesRotateEntraIdCertificateRequest.verify = function verify(message) {
+                        SqlInstancesRotateEntraIdCertificateRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.instance != null && message.hasOwnProperty("instance"))
                                 if (!$util.isString(message.instance))
                                     return "instance: string expected";
@@ -35398,7 +36771,7 @@
                                 if (!$util.isString(message.project))
                                     return "project: string expected";
                             if (message.body != null && message.hasOwnProperty("body")) {
-                                var error = $root.google.cloud.sql.v1.InstancesRotateEntraIdCertificateRequest.verify(message.body);
+                                var error = $root.google.cloud.sql.v1.InstancesRotateEntraIdCertificateRequest.verify(message.body, long + 1);
                                 if (error)
                                     return "body." + error;
                             }
@@ -35413,9 +36786,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.SqlInstancesRotateEntraIdCertificateRequest} SqlInstancesRotateEntraIdCertificateRequest
                          */
-                        SqlInstancesRotateEntraIdCertificateRequest.fromObject = function fromObject(object) {
+                        SqlInstancesRotateEntraIdCertificateRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.SqlInstancesRotateEntraIdCertificateRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.SqlInstancesRotateEntraIdCertificateRequest();
                             if (object.instance != null)
                                 message.instance = String(object.instance);
@@ -35424,7 +36801,7 @@
                             if (object.body != null) {
                                 if (typeof object.body !== "object")
                                     throw TypeError(".google.cloud.sql.v1.SqlInstancesRotateEntraIdCertificateRequest.body: object expected");
-                                message.body = $root.google.cloud.sql.v1.InstancesRotateEntraIdCertificateRequest.fromObject(object.body);
+                                message.body = $root.google.cloud.sql.v1.InstancesRotateEntraIdCertificateRequest.fromObject(object.body, long + 1);
                             }
                             return message;
                         };
@@ -35506,7 +36883,7 @@
                         function SqlInstancesStartReplicaRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -35581,9 +36958,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlInstancesStartReplicaRequest.decode = function decode(reader, length, error) {
+                        SqlInstancesStartReplicaRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.SqlInstancesStartReplicaRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -35599,7 +36980,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -35630,9 +37011,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlInstancesStartReplicaRequest.verify = function verify(message) {
+                        SqlInstancesStartReplicaRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.instance != null && message.hasOwnProperty("instance"))
                                 if (!$util.isString(message.instance))
                                     return "instance: string expected";
@@ -35650,9 +37035,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.SqlInstancesStartReplicaRequest} SqlInstancesStartReplicaRequest
                          */
-                        SqlInstancesStartReplicaRequest.fromObject = function fromObject(object) {
+                        SqlInstancesStartReplicaRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.SqlInstancesStartReplicaRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.SqlInstancesStartReplicaRequest();
                             if (object.instance != null)
                                 message.instance = String(object.instance);
@@ -35735,7 +37124,7 @@
                         function SqlInstancesStopReplicaRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -35810,9 +37199,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlInstancesStopReplicaRequest.decode = function decode(reader, length, error) {
+                        SqlInstancesStopReplicaRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.SqlInstancesStopReplicaRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -35828,7 +37221,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -35859,9 +37252,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlInstancesStopReplicaRequest.verify = function verify(message) {
+                        SqlInstancesStopReplicaRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.instance != null && message.hasOwnProperty("instance"))
                                 if (!$util.isString(message.instance))
                                     return "instance: string expected";
@@ -35879,9 +37276,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.SqlInstancesStopReplicaRequest} SqlInstancesStopReplicaRequest
                          */
-                        SqlInstancesStopReplicaRequest.fromObject = function fromObject(object) {
+                        SqlInstancesStopReplicaRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.SqlInstancesStopReplicaRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.SqlInstancesStopReplicaRequest();
                             if (object.instance != null)
                                 message.instance = String(object.instance);
@@ -35965,7 +37366,7 @@
                         function SqlInstancesTruncateLogRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -36050,9 +37451,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlInstancesTruncateLogRequest.decode = function decode(reader, length, error) {
+                        SqlInstancesTruncateLogRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.SqlInstancesTruncateLogRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -36068,11 +37473,11 @@
                                         break;
                                     }
                                 case 100: {
-                                        message.body = $root.google.cloud.sql.v1.InstancesTruncateLogRequest.decode(reader, reader.uint32());
+                                        message.body = $root.google.cloud.sql.v1.InstancesTruncateLogRequest.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -36103,9 +37508,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlInstancesTruncateLogRequest.verify = function verify(message) {
+                        SqlInstancesTruncateLogRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.instance != null && message.hasOwnProperty("instance"))
                                 if (!$util.isString(message.instance))
                                     return "instance: string expected";
@@ -36113,7 +37522,7 @@
                                 if (!$util.isString(message.project))
                                     return "project: string expected";
                             if (message.body != null && message.hasOwnProperty("body")) {
-                                var error = $root.google.cloud.sql.v1.InstancesTruncateLogRequest.verify(message.body);
+                                var error = $root.google.cloud.sql.v1.InstancesTruncateLogRequest.verify(message.body, long + 1);
                                 if (error)
                                     return "body." + error;
                             }
@@ -36128,9 +37537,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.SqlInstancesTruncateLogRequest} SqlInstancesTruncateLogRequest
                          */
-                        SqlInstancesTruncateLogRequest.fromObject = function fromObject(object) {
+                        SqlInstancesTruncateLogRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.SqlInstancesTruncateLogRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.SqlInstancesTruncateLogRequest();
                             if (object.instance != null)
                                 message.instance = String(object.instance);
@@ -36139,7 +37552,7 @@
                             if (object.body != null) {
                                 if (typeof object.body !== "object")
                                     throw TypeError(".google.cloud.sql.v1.SqlInstancesTruncateLogRequest.body: object expected");
-                                message.body = $root.google.cloud.sql.v1.InstancesTruncateLogRequest.fromObject(object.body);
+                                message.body = $root.google.cloud.sql.v1.InstancesTruncateLogRequest.fromObject(object.body, long + 1);
                             }
                             return message;
                         };
@@ -36222,7 +37635,7 @@
                         function SqlInstancesPerformDiskShrinkRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -36307,9 +37720,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlInstancesPerformDiskShrinkRequest.decode = function decode(reader, length, error) {
+                        SqlInstancesPerformDiskShrinkRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.SqlInstancesPerformDiskShrinkRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -36325,11 +37742,11 @@
                                         break;
                                     }
                                 case 100: {
-                                        message.body = $root.google.cloud.sql.v1.PerformDiskShrinkContext.decode(reader, reader.uint32());
+                                        message.body = $root.google.cloud.sql.v1.PerformDiskShrinkContext.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -36360,9 +37777,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlInstancesPerformDiskShrinkRequest.verify = function verify(message) {
+                        SqlInstancesPerformDiskShrinkRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.instance != null && message.hasOwnProperty("instance"))
                                 if (!$util.isString(message.instance))
                                     return "instance: string expected";
@@ -36370,7 +37791,7 @@
                                 if (!$util.isString(message.project))
                                     return "project: string expected";
                             if (message.body != null && message.hasOwnProperty("body")) {
-                                var error = $root.google.cloud.sql.v1.PerformDiskShrinkContext.verify(message.body);
+                                var error = $root.google.cloud.sql.v1.PerformDiskShrinkContext.verify(message.body, long + 1);
                                 if (error)
                                     return "body." + error;
                             }
@@ -36385,9 +37806,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.SqlInstancesPerformDiskShrinkRequest} SqlInstancesPerformDiskShrinkRequest
                          */
-                        SqlInstancesPerformDiskShrinkRequest.fromObject = function fromObject(object) {
+                        SqlInstancesPerformDiskShrinkRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.SqlInstancesPerformDiskShrinkRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.SqlInstancesPerformDiskShrinkRequest();
                             if (object.instance != null)
                                 message.instance = String(object.instance);
@@ -36396,7 +37821,7 @@
                             if (object.body != null) {
                                 if (typeof object.body !== "object")
                                     throw TypeError(".google.cloud.sql.v1.SqlInstancesPerformDiskShrinkRequest.body: object expected");
-                                message.body = $root.google.cloud.sql.v1.PerformDiskShrinkContext.fromObject(object.body);
+                                message.body = $root.google.cloud.sql.v1.PerformDiskShrinkContext.fromObject(object.body, long + 1);
                             }
                             return message;
                         };
@@ -36479,7 +37904,7 @@
                         function SqlInstancesUpdateRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -36564,9 +37989,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlInstancesUpdateRequest.decode = function decode(reader, length, error) {
+                        SqlInstancesUpdateRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.SqlInstancesUpdateRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -36582,11 +38011,11 @@
                                         break;
                                     }
                                 case 100: {
-                                        message.body = $root.google.cloud.sql.v1.DatabaseInstance.decode(reader, reader.uint32());
+                                        message.body = $root.google.cloud.sql.v1.DatabaseInstance.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -36617,9 +38046,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlInstancesUpdateRequest.verify = function verify(message) {
+                        SqlInstancesUpdateRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.instance != null && message.hasOwnProperty("instance"))
                                 if (!$util.isString(message.instance))
                                     return "instance: string expected";
@@ -36627,7 +38060,7 @@
                                 if (!$util.isString(message.project))
                                     return "project: string expected";
                             if (message.body != null && message.hasOwnProperty("body")) {
-                                var error = $root.google.cloud.sql.v1.DatabaseInstance.verify(message.body);
+                                var error = $root.google.cloud.sql.v1.DatabaseInstance.verify(message.body, long + 1);
                                 if (error)
                                     return "body." + error;
                             }
@@ -36642,9 +38075,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.SqlInstancesUpdateRequest} SqlInstancesUpdateRequest
                          */
-                        SqlInstancesUpdateRequest.fromObject = function fromObject(object) {
+                        SqlInstancesUpdateRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.SqlInstancesUpdateRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.SqlInstancesUpdateRequest();
                             if (object.instance != null)
                                 message.instance = String(object.instance);
@@ -36653,7 +38090,7 @@
                             if (object.body != null) {
                                 if (typeof object.body !== "object")
                                     throw TypeError(".google.cloud.sql.v1.SqlInstancesUpdateRequest.body: object expected");
-                                message.body = $root.google.cloud.sql.v1.DatabaseInstance.fromObject(object.body);
+                                message.body = $root.google.cloud.sql.v1.DatabaseInstance.fromObject(object.body, long + 1);
                             }
                             return message;
                         };
@@ -36736,7 +38173,7 @@
                         function SqlInstancesRescheduleMaintenanceRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -36821,9 +38258,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlInstancesRescheduleMaintenanceRequest.decode = function decode(reader, length, error) {
+                        SqlInstancesRescheduleMaintenanceRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.SqlInstancesRescheduleMaintenanceRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -36839,11 +38280,11 @@
                                         break;
                                     }
                                 case 100: {
-                                        message.body = $root.google.cloud.sql.v1.SqlInstancesRescheduleMaintenanceRequestBody.decode(reader, reader.uint32());
+                                        message.body = $root.google.cloud.sql.v1.SqlInstancesRescheduleMaintenanceRequestBody.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -36874,9 +38315,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlInstancesRescheduleMaintenanceRequest.verify = function verify(message) {
+                        SqlInstancesRescheduleMaintenanceRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.instance != null && message.hasOwnProperty("instance"))
                                 if (!$util.isString(message.instance))
                                     return "instance: string expected";
@@ -36884,7 +38329,7 @@
                                 if (!$util.isString(message.project))
                                     return "project: string expected";
                             if (message.body != null && message.hasOwnProperty("body")) {
-                                var error = $root.google.cloud.sql.v1.SqlInstancesRescheduleMaintenanceRequestBody.verify(message.body);
+                                var error = $root.google.cloud.sql.v1.SqlInstancesRescheduleMaintenanceRequestBody.verify(message.body, long + 1);
                                 if (error)
                                     return "body." + error;
                             }
@@ -36899,9 +38344,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.SqlInstancesRescheduleMaintenanceRequest} SqlInstancesRescheduleMaintenanceRequest
                          */
-                        SqlInstancesRescheduleMaintenanceRequest.fromObject = function fromObject(object) {
+                        SqlInstancesRescheduleMaintenanceRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.SqlInstancesRescheduleMaintenanceRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.SqlInstancesRescheduleMaintenanceRequest();
                             if (object.instance != null)
                                 message.instance = String(object.instance);
@@ -36910,7 +38359,7 @@
                             if (object.body != null) {
                                 if (typeof object.body !== "object")
                                     throw TypeError(".google.cloud.sql.v1.SqlInstancesRescheduleMaintenanceRequest.body: object expected");
-                                message.body = $root.google.cloud.sql.v1.SqlInstancesRescheduleMaintenanceRequestBody.fromObject(object.body);
+                                message.body = $root.google.cloud.sql.v1.SqlInstancesRescheduleMaintenanceRequestBody.fromObject(object.body, long + 1);
                             }
                             return message;
                         };
@@ -36993,7 +38442,7 @@
                         function SqlInstancesReencryptRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -37078,9 +38527,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlInstancesReencryptRequest.decode = function decode(reader, length, error) {
+                        SqlInstancesReencryptRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.SqlInstancesReencryptRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -37096,11 +38549,11 @@
                                         break;
                                     }
                                 case 3: {
-                                        message.body = $root.google.cloud.sql.v1.InstancesReencryptRequest.decode(reader, reader.uint32());
+                                        message.body = $root.google.cloud.sql.v1.InstancesReencryptRequest.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -37131,9 +38584,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlInstancesReencryptRequest.verify = function verify(message) {
+                        SqlInstancesReencryptRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.instance != null && message.hasOwnProperty("instance"))
                                 if (!$util.isString(message.instance))
                                     return "instance: string expected";
@@ -37141,7 +38598,7 @@
                                 if (!$util.isString(message.project))
                                     return "project: string expected";
                             if (message.body != null && message.hasOwnProperty("body")) {
-                                var error = $root.google.cloud.sql.v1.InstancesReencryptRequest.verify(message.body);
+                                var error = $root.google.cloud.sql.v1.InstancesReencryptRequest.verify(message.body, long + 1);
                                 if (error)
                                     return "body." + error;
                             }
@@ -37156,9 +38613,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.SqlInstancesReencryptRequest} SqlInstancesReencryptRequest
                          */
-                        SqlInstancesReencryptRequest.fromObject = function fromObject(object) {
+                        SqlInstancesReencryptRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.SqlInstancesReencryptRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.SqlInstancesReencryptRequest();
                             if (object.instance != null)
                                 message.instance = String(object.instance);
@@ -37167,7 +38628,7 @@
                             if (object.body != null) {
                                 if (typeof object.body !== "object")
                                     throw TypeError(".google.cloud.sql.v1.SqlInstancesReencryptRequest.body: object expected");
-                                message.body = $root.google.cloud.sql.v1.InstancesReencryptRequest.fromObject(object.body);
+                                message.body = $root.google.cloud.sql.v1.InstancesReencryptRequest.fromObject(object.body, long + 1);
                             }
                             return message;
                         };
@@ -37248,7 +38709,7 @@
                         function InstancesReencryptRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -37322,9 +38783,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        InstancesReencryptRequest.decode = function decode(reader, length, error) {
+                        InstancesReencryptRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.InstancesReencryptRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -37332,11 +38797,11 @@
                                     break;
                                 switch (tag >>> 3) {
                                 case 1: {
-                                        message.backupReencryptionConfig = $root.google.cloud.sql.v1.BackupReencryptionConfig.decode(reader, reader.uint32());
+                                        message.backupReencryptionConfig = $root.google.cloud.sql.v1.BackupReencryptionConfig.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -37367,14 +38832,18 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        InstancesReencryptRequest.verify = function verify(message) {
+                        InstancesReencryptRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             var properties = {};
                             if (message.backupReencryptionConfig != null && message.hasOwnProperty("backupReencryptionConfig")) {
                                 properties._backupReencryptionConfig = 1;
                                 {
-                                    var error = $root.google.cloud.sql.v1.BackupReencryptionConfig.verify(message.backupReencryptionConfig);
+                                    var error = $root.google.cloud.sql.v1.BackupReencryptionConfig.verify(message.backupReencryptionConfig, long + 1);
                                     if (error)
                                         return "backupReencryptionConfig." + error;
                                 }
@@ -37390,14 +38859,18 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.InstancesReencryptRequest} InstancesReencryptRequest
                          */
-                        InstancesReencryptRequest.fromObject = function fromObject(object) {
+                        InstancesReencryptRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.InstancesReencryptRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.InstancesReencryptRequest();
                             if (object.backupReencryptionConfig != null) {
                                 if (typeof object.backupReencryptionConfig !== "object")
                                     throw TypeError(".google.cloud.sql.v1.InstancesReencryptRequest.backupReencryptionConfig: object expected");
-                                message.backupReencryptionConfig = $root.google.cloud.sql.v1.BackupReencryptionConfig.fromObject(object.backupReencryptionConfig);
+                                message.backupReencryptionConfig = $root.google.cloud.sql.v1.BackupReencryptionConfig.fromObject(object.backupReencryptionConfig, long + 1);
                             }
                             return message;
                         };
@@ -37473,7 +38946,7 @@
                         function BackupReencryptionConfig(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -37563,9 +39036,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        BackupReencryptionConfig.decode = function decode(reader, length, error) {
+                        BackupReencryptionConfig.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.BackupReencryptionConfig();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -37581,7 +39058,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -37612,9 +39089,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        BackupReencryptionConfig.verify = function verify(message) {
+                        BackupReencryptionConfig.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             var properties = {};
                             if (message.backupLimit != null && message.hasOwnProperty("backupLimit")) {
                                 properties._backupLimit = 1;
@@ -37643,9 +39124,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.BackupReencryptionConfig} BackupReencryptionConfig
                          */
-                        BackupReencryptionConfig.fromObject = function fromObject(object) {
+                        BackupReencryptionConfig.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.BackupReencryptionConfig)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.BackupReencryptionConfig();
                             if (object.backupLimit != null)
                                 message.backupLimit = object.backupLimit | 0;
@@ -37781,7 +39266,7 @@
                         function ExternalSyncSelectedObject(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -37846,9 +39331,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        ExternalSyncSelectedObject.decode = function decode(reader, length, error) {
+                        ExternalSyncSelectedObject.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.ExternalSyncSelectedObject();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -37860,7 +39349,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -37891,9 +39380,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        ExternalSyncSelectedObject.verify = function verify(message) {
+                        ExternalSyncSelectedObject.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.database != null && message.hasOwnProperty("database"))
                                 if (!$util.isString(message.database))
                                     return "database: string expected";
@@ -37908,9 +39401,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.ExternalSyncSelectedObject} ExternalSyncSelectedObject
                          */
-                        ExternalSyncSelectedObject.fromObject = function fromObject(object) {
+                        ExternalSyncSelectedObject.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.ExternalSyncSelectedObject)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.ExternalSyncSelectedObject();
                             if (object.database != null)
                                 message.database = String(object.database);
@@ -37987,7 +39484,7 @@
                         function SqlInstancesGetDiskShrinkConfigRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -38062,9 +39559,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlInstancesGetDiskShrinkConfigRequest.decode = function decode(reader, length, error) {
+                        SqlInstancesGetDiskShrinkConfigRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.SqlInstancesGetDiskShrinkConfigRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -38080,7 +39581,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -38111,9 +39612,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlInstancesGetDiskShrinkConfigRequest.verify = function verify(message) {
+                        SqlInstancesGetDiskShrinkConfigRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.instance != null && message.hasOwnProperty("instance"))
                                 if (!$util.isString(message.instance))
                                     return "instance: string expected";
@@ -38131,9 +39636,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.SqlInstancesGetDiskShrinkConfigRequest} SqlInstancesGetDiskShrinkConfigRequest
                          */
-                        SqlInstancesGetDiskShrinkConfigRequest.fromObject = function fromObject(object) {
+                        SqlInstancesGetDiskShrinkConfigRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.SqlInstancesGetDiskShrinkConfigRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.SqlInstancesGetDiskShrinkConfigRequest();
                             if (object.instance != null)
                                 message.instance = String(object.instance);
@@ -38224,7 +39733,7 @@
                             this.selectedObjects = [];
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -38384,9 +39893,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlInstancesVerifyExternalSyncSettingsRequest.decode = function decode(reader, length, error) {
+                        SqlInstancesVerifyExternalSyncSettingsRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.SqlInstancesVerifyExternalSyncSettingsRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -38414,7 +39927,7 @@
                                         break;
                                     }
                                 case 6: {
-                                        message.mysqlSyncConfig = $root.google.cloud.sql.v1.MySqlSyncConfig.decode(reader, reader.uint32());
+                                        message.mysqlSyncConfig = $root.google.cloud.sql.v1.MySqlSyncConfig.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 7: {
@@ -38428,11 +39941,11 @@
                                 case 9: {
                                         if (!(message.selectedObjects && message.selectedObjects.length))
                                             message.selectedObjects = [];
-                                        message.selectedObjects.push($root.google.cloud.sql.v1.ExternalSyncSelectedObject.decode(reader, reader.uint32()));
+                                        message.selectedObjects.push($root.google.cloud.sql.v1.ExternalSyncSelectedObject.decode(reader, reader.uint32(), undefined, long + 1));
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -38463,9 +39976,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlInstancesVerifyExternalSyncSettingsRequest.verify = function verify(message) {
+                        SqlInstancesVerifyExternalSyncSettingsRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             var properties = {};
                             if (message.instance != null && message.hasOwnProperty("instance"))
                                 if (!$util.isString(message.instance))
@@ -38491,7 +40008,7 @@
                             if (message.mysqlSyncConfig != null && message.hasOwnProperty("mysqlSyncConfig")) {
                                 properties.syncConfig = 1;
                                 {
-                                    var error = $root.google.cloud.sql.v1.MySqlSyncConfig.verify(message.mysqlSyncConfig);
+                                    var error = $root.google.cloud.sql.v1.MySqlSyncConfig.verify(message.mysqlSyncConfig, long + 1);
                                     if (error)
                                         return "mysqlSyncConfig." + error;
                                 }
@@ -38519,7 +40036,7 @@
                                 if (!Array.isArray(message.selectedObjects))
                                     return "selectedObjects: array expected";
                                 for (var i = 0; i < message.selectedObjects.length; ++i) {
-                                    var error = $root.google.cloud.sql.v1.ExternalSyncSelectedObject.verify(message.selectedObjects[i]);
+                                    var error = $root.google.cloud.sql.v1.ExternalSyncSelectedObject.verify(message.selectedObjects[i], long + 1);
                                     if (error)
                                         return "selectedObjects." + error;
                                 }
@@ -38535,9 +40052,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.SqlInstancesVerifyExternalSyncSettingsRequest} SqlInstancesVerifyExternalSyncSettingsRequest
                          */
-                        SqlInstancesVerifyExternalSyncSettingsRequest.fromObject = function fromObject(object) {
+                        SqlInstancesVerifyExternalSyncSettingsRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.SqlInstancesVerifyExternalSyncSettingsRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.SqlInstancesVerifyExternalSyncSettingsRequest();
                             if (object.instance != null)
                                 message.instance = String(object.instance);
@@ -38570,7 +40091,7 @@
                             if (object.mysqlSyncConfig != null) {
                                 if (typeof object.mysqlSyncConfig !== "object")
                                     throw TypeError(".google.cloud.sql.v1.SqlInstancesVerifyExternalSyncSettingsRequest.mysqlSyncConfig: object expected");
-                                message.mysqlSyncConfig = $root.google.cloud.sql.v1.MySqlSyncConfig.fromObject(object.mysqlSyncConfig);
+                                message.mysqlSyncConfig = $root.google.cloud.sql.v1.MySqlSyncConfig.fromObject(object.mysqlSyncConfig, long + 1);
                             }
                             switch (object.migrationType) {
                             default:
@@ -38623,7 +40144,7 @@
                                 for (var i = 0; i < object.selectedObjects.length; ++i) {
                                     if (typeof object.selectedObjects[i] !== "object")
                                         throw TypeError(".google.cloud.sql.v1.SqlInstancesVerifyExternalSyncSettingsRequest.selectedObjects: object expected");
-                                    message.selectedObjects[i] = $root.google.cloud.sql.v1.ExternalSyncSelectedObject.fromObject(object.selectedObjects[i]);
+                                    message.selectedObjects[i] = $root.google.cloud.sql.v1.ExternalSyncSelectedObject.fromObject(object.selectedObjects[i], long + 1);
                                 }
                             }
                             return message;
@@ -38768,7 +40289,7 @@
                         function SqlInstancesStartExternalSyncRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -38917,9 +40438,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlInstancesStartExternalSyncRequest.decode = function decode(reader, length, error) {
+                        SqlInstancesStartExternalSyncRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.SqlInstancesStartExternalSyncRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -38943,7 +40468,7 @@
                                         break;
                                     }
                                 case 6: {
-                                        message.mysqlSyncConfig = $root.google.cloud.sql.v1.MySqlSyncConfig.decode(reader, reader.uint32());
+                                        message.mysqlSyncConfig = $root.google.cloud.sql.v1.MySqlSyncConfig.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 7: {
@@ -38959,7 +40484,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -38990,9 +40515,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlInstancesStartExternalSyncRequest.verify = function verify(message) {
+                        SqlInstancesStartExternalSyncRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             var properties = {};
                             if (message.instance != null && message.hasOwnProperty("instance"))
                                 if (!$util.isString(message.instance))
@@ -39015,7 +40544,7 @@
                             if (message.mysqlSyncConfig != null && message.hasOwnProperty("mysqlSyncConfig")) {
                                 properties.syncConfig = 1;
                                 {
-                                    var error = $root.google.cloud.sql.v1.MySqlSyncConfig.verify(message.mysqlSyncConfig);
+                                    var error = $root.google.cloud.sql.v1.MySqlSyncConfig.verify(message.mysqlSyncConfig, long + 1);
                                     if (error)
                                         return "mysqlSyncConfig." + error;
                                 }
@@ -39053,9 +40582,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.SqlInstancesStartExternalSyncRequest} SqlInstancesStartExternalSyncRequest
                          */
-                        SqlInstancesStartExternalSyncRequest.fromObject = function fromObject(object) {
+                        SqlInstancesStartExternalSyncRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.SqlInstancesStartExternalSyncRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.SqlInstancesStartExternalSyncRequest();
                             if (object.instance != null)
                                 message.instance = String(object.instance);
@@ -39086,7 +40619,7 @@
                             if (object.mysqlSyncConfig != null) {
                                 if (typeof object.mysqlSyncConfig !== "object")
                                     throw TypeError(".google.cloud.sql.v1.SqlInstancesStartExternalSyncRequest.mysqlSyncConfig: object expected");
-                                message.mysqlSyncConfig = $root.google.cloud.sql.v1.MySqlSyncConfig.fromObject(object.mysqlSyncConfig);
+                                message.mysqlSyncConfig = $root.google.cloud.sql.v1.MySqlSyncConfig.fromObject(object.mysqlSyncConfig, long + 1);
                             }
                             switch (object.syncParallelLevel) {
                             default:
@@ -39231,7 +40764,7 @@
                         function SqlInstancesResetReplicaSizeRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -39306,9 +40839,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlInstancesResetReplicaSizeRequest.decode = function decode(reader, length, error) {
+                        SqlInstancesResetReplicaSizeRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.SqlInstancesResetReplicaSizeRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -39324,7 +40861,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -39355,9 +40892,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlInstancesResetReplicaSizeRequest.verify = function verify(message) {
+                        SqlInstancesResetReplicaSizeRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.instance != null && message.hasOwnProperty("instance"))
                                 if (!$util.isString(message.instance))
                                     return "instance: string expected";
@@ -39375,9 +40916,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.SqlInstancesResetReplicaSizeRequest} SqlInstancesResetReplicaSizeRequest
                          */
-                        SqlInstancesResetReplicaSizeRequest.fromObject = function fromObject(object) {
+                        SqlInstancesResetReplicaSizeRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.SqlInstancesResetReplicaSizeRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.SqlInstancesResetReplicaSizeRequest();
                             if (object.instance != null)
                                 message.instance = String(object.instance);
@@ -39461,7 +41006,7 @@
                         function SqlInstancesCreateEphemeralCertRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -39546,9 +41091,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlInstancesCreateEphemeralCertRequest.decode = function decode(reader, length, error) {
+                        SqlInstancesCreateEphemeralCertRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.SqlInstancesCreateEphemeralCertRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -39564,11 +41113,11 @@
                                         break;
                                     }
                                 case 100: {
-                                        message.body = $root.google.cloud.sql.v1.SslCertsCreateEphemeralRequest.decode(reader, reader.uint32());
+                                        message.body = $root.google.cloud.sql.v1.SslCertsCreateEphemeralRequest.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -39599,9 +41148,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlInstancesCreateEphemeralCertRequest.verify = function verify(message) {
+                        SqlInstancesCreateEphemeralCertRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.instance != null && message.hasOwnProperty("instance"))
                                 if (!$util.isString(message.instance))
                                     return "instance: string expected";
@@ -39609,7 +41162,7 @@
                                 if (!$util.isString(message.project))
                                     return "project: string expected";
                             if (message.body != null && message.hasOwnProperty("body")) {
-                                var error = $root.google.cloud.sql.v1.SslCertsCreateEphemeralRequest.verify(message.body);
+                                var error = $root.google.cloud.sql.v1.SslCertsCreateEphemeralRequest.verify(message.body, long + 1);
                                 if (error)
                                     return "body." + error;
                             }
@@ -39624,9 +41177,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.SqlInstancesCreateEphemeralCertRequest} SqlInstancesCreateEphemeralCertRequest
                          */
-                        SqlInstancesCreateEphemeralCertRequest.fromObject = function fromObject(object) {
+                        SqlInstancesCreateEphemeralCertRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.SqlInstancesCreateEphemeralCertRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.SqlInstancesCreateEphemeralCertRequest();
                             if (object.instance != null)
                                 message.instance = String(object.instance);
@@ -39635,7 +41192,7 @@
                             if (object.body != null) {
                                 if (typeof object.body !== "object")
                                     throw TypeError(".google.cloud.sql.v1.SqlInstancesCreateEphemeralCertRequest.body: object expected");
-                                message.body = $root.google.cloud.sql.v1.SslCertsCreateEphemeralRequest.fromObject(object.body);
+                                message.body = $root.google.cloud.sql.v1.SslCertsCreateEphemeralRequest.fromObject(object.body, long + 1);
                             }
                             return message;
                         };
@@ -39716,7 +41273,7 @@
                         function InstancesCloneRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -39781,9 +41338,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        InstancesCloneRequest.decode = function decode(reader, length, error) {
+                        InstancesCloneRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.InstancesCloneRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -39791,11 +41352,11 @@
                                     break;
                                 switch (tag >>> 3) {
                                 case 1: {
-                                        message.cloneContext = $root.google.cloud.sql.v1.CloneContext.decode(reader, reader.uint32());
+                                        message.cloneContext = $root.google.cloud.sql.v1.CloneContext.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -39826,11 +41387,15 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        InstancesCloneRequest.verify = function verify(message) {
+                        InstancesCloneRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.cloneContext != null && message.hasOwnProperty("cloneContext")) {
-                                var error = $root.google.cloud.sql.v1.CloneContext.verify(message.cloneContext);
+                                var error = $root.google.cloud.sql.v1.CloneContext.verify(message.cloneContext, long + 1);
                                 if (error)
                                     return "cloneContext." + error;
                             }
@@ -39845,14 +41410,18 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.InstancesCloneRequest} InstancesCloneRequest
                          */
-                        InstancesCloneRequest.fromObject = function fromObject(object) {
+                        InstancesCloneRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.InstancesCloneRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.InstancesCloneRequest();
                             if (object.cloneContext != null) {
                                 if (typeof object.cloneContext !== "object")
                                     throw TypeError(".google.cloud.sql.v1.InstancesCloneRequest.cloneContext: object expected");
-                                message.cloneContext = $root.google.cloud.sql.v1.CloneContext.fromObject(object.cloneContext);
+                                message.cloneContext = $root.google.cloud.sql.v1.CloneContext.fromObject(object.cloneContext, long + 1);
                             }
                             return message;
                         };
@@ -39926,7 +41495,7 @@
                         function InstancesDemoteMasterRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -39991,9 +41560,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        InstancesDemoteMasterRequest.decode = function decode(reader, length, error) {
+                        InstancesDemoteMasterRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.InstancesDemoteMasterRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -40001,11 +41574,11 @@
                                     break;
                                 switch (tag >>> 3) {
                                 case 1: {
-                                        message.demoteMasterContext = $root.google.cloud.sql.v1.DemoteMasterContext.decode(reader, reader.uint32());
+                                        message.demoteMasterContext = $root.google.cloud.sql.v1.DemoteMasterContext.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -40036,11 +41609,15 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        InstancesDemoteMasterRequest.verify = function verify(message) {
+                        InstancesDemoteMasterRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.demoteMasterContext != null && message.hasOwnProperty("demoteMasterContext")) {
-                                var error = $root.google.cloud.sql.v1.DemoteMasterContext.verify(message.demoteMasterContext);
+                                var error = $root.google.cloud.sql.v1.DemoteMasterContext.verify(message.demoteMasterContext, long + 1);
                                 if (error)
                                     return "demoteMasterContext." + error;
                             }
@@ -40055,14 +41632,18 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.InstancesDemoteMasterRequest} InstancesDemoteMasterRequest
                          */
-                        InstancesDemoteMasterRequest.fromObject = function fromObject(object) {
+                        InstancesDemoteMasterRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.InstancesDemoteMasterRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.InstancesDemoteMasterRequest();
                             if (object.demoteMasterContext != null) {
                                 if (typeof object.demoteMasterContext !== "object")
                                     throw TypeError(".google.cloud.sql.v1.InstancesDemoteMasterRequest.demoteMasterContext: object expected");
-                                message.demoteMasterContext = $root.google.cloud.sql.v1.DemoteMasterContext.fromObject(object.demoteMasterContext);
+                                message.demoteMasterContext = $root.google.cloud.sql.v1.DemoteMasterContext.fromObject(object.demoteMasterContext, long + 1);
                             }
                             return message;
                         };
@@ -40136,7 +41717,7 @@
                         function InstancesDemoteRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -40201,9 +41782,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        InstancesDemoteRequest.decode = function decode(reader, length, error) {
+                        InstancesDemoteRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.InstancesDemoteRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -40211,11 +41796,11 @@
                                     break;
                                 switch (tag >>> 3) {
                                 case 1: {
-                                        message.demoteContext = $root.google.cloud.sql.v1.DemoteContext.decode(reader, reader.uint32());
+                                        message.demoteContext = $root.google.cloud.sql.v1.DemoteContext.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -40246,11 +41831,15 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        InstancesDemoteRequest.verify = function verify(message) {
+                        InstancesDemoteRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.demoteContext != null && message.hasOwnProperty("demoteContext")) {
-                                var error = $root.google.cloud.sql.v1.DemoteContext.verify(message.demoteContext);
+                                var error = $root.google.cloud.sql.v1.DemoteContext.verify(message.demoteContext, long + 1);
                                 if (error)
                                     return "demoteContext." + error;
                             }
@@ -40265,14 +41854,18 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.InstancesDemoteRequest} InstancesDemoteRequest
                          */
-                        InstancesDemoteRequest.fromObject = function fromObject(object) {
+                        InstancesDemoteRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.InstancesDemoteRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.InstancesDemoteRequest();
                             if (object.demoteContext != null) {
                                 if (typeof object.demoteContext !== "object")
                                     throw TypeError(".google.cloud.sql.v1.InstancesDemoteRequest.demoteContext: object expected");
-                                message.demoteContext = $root.google.cloud.sql.v1.DemoteContext.fromObject(object.demoteContext);
+                                message.demoteContext = $root.google.cloud.sql.v1.DemoteContext.fromObject(object.demoteContext, long + 1);
                             }
                             return message;
                         };
@@ -40346,7 +41939,7 @@
                         function InstancesExportRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -40411,9 +42004,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        InstancesExportRequest.decode = function decode(reader, length, error) {
+                        InstancesExportRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.InstancesExportRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -40421,11 +42018,11 @@
                                     break;
                                 switch (tag >>> 3) {
                                 case 1: {
-                                        message.exportContext = $root.google.cloud.sql.v1.ExportContext.decode(reader, reader.uint32());
+                                        message.exportContext = $root.google.cloud.sql.v1.ExportContext.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -40456,11 +42053,15 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        InstancesExportRequest.verify = function verify(message) {
+                        InstancesExportRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.exportContext != null && message.hasOwnProperty("exportContext")) {
-                                var error = $root.google.cloud.sql.v1.ExportContext.verify(message.exportContext);
+                                var error = $root.google.cloud.sql.v1.ExportContext.verify(message.exportContext, long + 1);
                                 if (error)
                                     return "exportContext." + error;
                             }
@@ -40475,14 +42076,18 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.InstancesExportRequest} InstancesExportRequest
                          */
-                        InstancesExportRequest.fromObject = function fromObject(object) {
+                        InstancesExportRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.InstancesExportRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.InstancesExportRequest();
                             if (object.exportContext != null) {
                                 if (typeof object.exportContext !== "object")
                                     throw TypeError(".google.cloud.sql.v1.InstancesExportRequest.exportContext: object expected");
-                                message.exportContext = $root.google.cloud.sql.v1.ExportContext.fromObject(object.exportContext);
+                                message.exportContext = $root.google.cloud.sql.v1.ExportContext.fromObject(object.exportContext, long + 1);
                             }
                             return message;
                         };
@@ -40556,7 +42161,7 @@
                         function InstancesFailoverRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -40621,9 +42226,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        InstancesFailoverRequest.decode = function decode(reader, length, error) {
+                        InstancesFailoverRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.InstancesFailoverRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -40631,11 +42240,11 @@
                                     break;
                                 switch (tag >>> 3) {
                                 case 1: {
-                                        message.failoverContext = $root.google.cloud.sql.v1.FailoverContext.decode(reader, reader.uint32());
+                                        message.failoverContext = $root.google.cloud.sql.v1.FailoverContext.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -40666,11 +42275,15 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        InstancesFailoverRequest.verify = function verify(message) {
+                        InstancesFailoverRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.failoverContext != null && message.hasOwnProperty("failoverContext")) {
-                                var error = $root.google.cloud.sql.v1.FailoverContext.verify(message.failoverContext);
+                                var error = $root.google.cloud.sql.v1.FailoverContext.verify(message.failoverContext, long + 1);
                                 if (error)
                                     return "failoverContext." + error;
                             }
@@ -40685,14 +42298,18 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.InstancesFailoverRequest} InstancesFailoverRequest
                          */
-                        InstancesFailoverRequest.fromObject = function fromObject(object) {
+                        InstancesFailoverRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.InstancesFailoverRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.InstancesFailoverRequest();
                             if (object.failoverContext != null) {
                                 if (typeof object.failoverContext !== "object")
                                     throw TypeError(".google.cloud.sql.v1.InstancesFailoverRequest.failoverContext: object expected");
-                                message.failoverContext = $root.google.cloud.sql.v1.FailoverContext.fromObject(object.failoverContext);
+                                message.failoverContext = $root.google.cloud.sql.v1.FailoverContext.fromObject(object.failoverContext, long + 1);
                             }
                             return message;
                         };
@@ -40767,7 +42384,7 @@
                         function SslCertsCreateEphemeralRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -40842,9 +42459,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SslCertsCreateEphemeralRequest.decode = function decode(reader, length, error) {
+                        SslCertsCreateEphemeralRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.SslCertsCreateEphemeralRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -40860,7 +42481,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -40891,9 +42512,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SslCertsCreateEphemeralRequest.verify = function verify(message) {
+                        SslCertsCreateEphemeralRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.publicKey != null && message.hasOwnProperty("publicKey"))
                                 if (!$util.isString(message.publicKey))
                                     return "publicKey: string expected";
@@ -40911,9 +42536,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.SslCertsCreateEphemeralRequest} SslCertsCreateEphemeralRequest
                          */
-                        SslCertsCreateEphemeralRequest.fromObject = function fromObject(object) {
+                        SslCertsCreateEphemeralRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.SslCertsCreateEphemeralRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.SslCertsCreateEphemeralRequest();
                             if (object.publicKey != null)
                                 message.publicKey = String(object.publicKey);
@@ -40995,7 +42624,7 @@
                         function InstancesImportRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -41060,9 +42689,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        InstancesImportRequest.decode = function decode(reader, length, error) {
+                        InstancesImportRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.InstancesImportRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -41070,11 +42703,11 @@
                                     break;
                                 switch (tag >>> 3) {
                                 case 1: {
-                                        message.importContext = $root.google.cloud.sql.v1.ImportContext.decode(reader, reader.uint32());
+                                        message.importContext = $root.google.cloud.sql.v1.ImportContext.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -41105,11 +42738,15 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        InstancesImportRequest.verify = function verify(message) {
+                        InstancesImportRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.importContext != null && message.hasOwnProperty("importContext")) {
-                                var error = $root.google.cloud.sql.v1.ImportContext.verify(message.importContext);
+                                var error = $root.google.cloud.sql.v1.ImportContext.verify(message.importContext, long + 1);
                                 if (error)
                                     return "importContext." + error;
                             }
@@ -41124,14 +42761,18 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.InstancesImportRequest} InstancesImportRequest
                          */
-                        InstancesImportRequest.fromObject = function fromObject(object) {
+                        InstancesImportRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.InstancesImportRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.InstancesImportRequest();
                             if (object.importContext != null) {
                                 if (typeof object.importContext !== "object")
                                     throw TypeError(".google.cloud.sql.v1.InstancesImportRequest.importContext: object expected");
-                                message.importContext = $root.google.cloud.sql.v1.ImportContext.fromObject(object.importContext);
+                                message.importContext = $root.google.cloud.sql.v1.ImportContext.fromObject(object.importContext, long + 1);
                             }
                             return message;
                         };
@@ -41205,7 +42846,7 @@
                         function InstancesPreCheckMajorVersionUpgradeRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -41270,9 +42911,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        InstancesPreCheckMajorVersionUpgradeRequest.decode = function decode(reader, length, error) {
+                        InstancesPreCheckMajorVersionUpgradeRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.InstancesPreCheckMajorVersionUpgradeRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -41280,11 +42925,11 @@
                                     break;
                                 switch (tag >>> 3) {
                                 case 1: {
-                                        message.preCheckMajorVersionUpgradeContext = $root.google.cloud.sql.v1.PreCheckMajorVersionUpgradeContext.decode(reader, reader.uint32());
+                                        message.preCheckMajorVersionUpgradeContext = $root.google.cloud.sql.v1.PreCheckMajorVersionUpgradeContext.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -41315,11 +42960,15 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        InstancesPreCheckMajorVersionUpgradeRequest.verify = function verify(message) {
+                        InstancesPreCheckMajorVersionUpgradeRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.preCheckMajorVersionUpgradeContext != null && message.hasOwnProperty("preCheckMajorVersionUpgradeContext")) {
-                                var error = $root.google.cloud.sql.v1.PreCheckMajorVersionUpgradeContext.verify(message.preCheckMajorVersionUpgradeContext);
+                                var error = $root.google.cloud.sql.v1.PreCheckMajorVersionUpgradeContext.verify(message.preCheckMajorVersionUpgradeContext, long + 1);
                                 if (error)
                                     return "preCheckMajorVersionUpgradeContext." + error;
                             }
@@ -41334,14 +42983,18 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.InstancesPreCheckMajorVersionUpgradeRequest} InstancesPreCheckMajorVersionUpgradeRequest
                          */
-                        InstancesPreCheckMajorVersionUpgradeRequest.fromObject = function fromObject(object) {
+                        InstancesPreCheckMajorVersionUpgradeRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.InstancesPreCheckMajorVersionUpgradeRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.InstancesPreCheckMajorVersionUpgradeRequest();
                             if (object.preCheckMajorVersionUpgradeContext != null) {
                                 if (typeof object.preCheckMajorVersionUpgradeContext !== "object")
                                     throw TypeError(".google.cloud.sql.v1.InstancesPreCheckMajorVersionUpgradeRequest.preCheckMajorVersionUpgradeContext: object expected");
-                                message.preCheckMajorVersionUpgradeContext = $root.google.cloud.sql.v1.PreCheckMajorVersionUpgradeContext.fromObject(object.preCheckMajorVersionUpgradeContext);
+                                message.preCheckMajorVersionUpgradeContext = $root.google.cloud.sql.v1.PreCheckMajorVersionUpgradeContext.fromObject(object.preCheckMajorVersionUpgradeContext, long + 1);
                             }
                             return message;
                         };
@@ -41420,7 +43073,7 @@
                             this.items = [];
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -41517,9 +43170,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        InstancesListResponse.decode = function decode(reader, length, error) {
+                        InstancesListResponse.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.InstancesListResponse();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -41533,13 +43190,13 @@
                                 case 2: {
                                         if (!(message.warnings && message.warnings.length))
                                             message.warnings = [];
-                                        message.warnings.push($root.google.cloud.sql.v1.ApiWarning.decode(reader, reader.uint32()));
+                                        message.warnings.push($root.google.cloud.sql.v1.ApiWarning.decode(reader, reader.uint32(), undefined, long + 1));
                                         break;
                                     }
                                 case 3: {
                                         if (!(message.items && message.items.length))
                                             message.items = [];
-                                        message.items.push($root.google.cloud.sql.v1.DatabaseInstance.decode(reader, reader.uint32()));
+                                        message.items.push($root.google.cloud.sql.v1.DatabaseInstance.decode(reader, reader.uint32(), undefined, long + 1));
                                         break;
                                     }
                                 case 4: {
@@ -41547,7 +43204,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -41578,9 +43235,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        InstancesListResponse.verify = function verify(message) {
+                        InstancesListResponse.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.kind != null && message.hasOwnProperty("kind"))
                                 if (!$util.isString(message.kind))
                                     return "kind: string expected";
@@ -41588,7 +43249,7 @@
                                 if (!Array.isArray(message.warnings))
                                     return "warnings: array expected";
                                 for (var i = 0; i < message.warnings.length; ++i) {
-                                    var error = $root.google.cloud.sql.v1.ApiWarning.verify(message.warnings[i]);
+                                    var error = $root.google.cloud.sql.v1.ApiWarning.verify(message.warnings[i], long + 1);
                                     if (error)
                                         return "warnings." + error;
                                 }
@@ -41597,7 +43258,7 @@
                                 if (!Array.isArray(message.items))
                                     return "items: array expected";
                                 for (var i = 0; i < message.items.length; ++i) {
-                                    var error = $root.google.cloud.sql.v1.DatabaseInstance.verify(message.items[i]);
+                                    var error = $root.google.cloud.sql.v1.DatabaseInstance.verify(message.items[i], long + 1);
                                     if (error)
                                         return "items." + error;
                                 }
@@ -41616,9 +43277,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.InstancesListResponse} InstancesListResponse
                          */
-                        InstancesListResponse.fromObject = function fromObject(object) {
+                        InstancesListResponse.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.InstancesListResponse)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.InstancesListResponse();
                             if (object.kind != null)
                                 message.kind = String(object.kind);
@@ -41629,7 +43294,7 @@
                                 for (var i = 0; i < object.warnings.length; ++i) {
                                     if (typeof object.warnings[i] !== "object")
                                         throw TypeError(".google.cloud.sql.v1.InstancesListResponse.warnings: object expected");
-                                    message.warnings[i] = $root.google.cloud.sql.v1.ApiWarning.fromObject(object.warnings[i]);
+                                    message.warnings[i] = $root.google.cloud.sql.v1.ApiWarning.fromObject(object.warnings[i], long + 1);
                                 }
                             }
                             if (object.items) {
@@ -41639,7 +43304,7 @@
                                 for (var i = 0; i < object.items.length; ++i) {
                                     if (typeof object.items[i] !== "object")
                                         throw TypeError(".google.cloud.sql.v1.InstancesListResponse.items: object expected");
-                                    message.items[i] = $root.google.cloud.sql.v1.DatabaseInstance.fromObject(object.items[i]);
+                                    message.items[i] = $root.google.cloud.sql.v1.DatabaseInstance.fromObject(object.items[i], long + 1);
                                 }
                             }
                             if (object.nextPageToken != null)
@@ -41737,7 +43402,7 @@
                             this.certs = [];
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -41823,9 +43488,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        InstancesListServerCasResponse.decode = function decode(reader, length, error) {
+                        InstancesListServerCasResponse.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.InstancesListServerCasResponse();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -41835,7 +43504,7 @@
                                 case 1: {
                                         if (!(message.certs && message.certs.length))
                                             message.certs = [];
-                                        message.certs.push($root.google.cloud.sql.v1.SslCert.decode(reader, reader.uint32()));
+                                        message.certs.push($root.google.cloud.sql.v1.SslCert.decode(reader, reader.uint32(), undefined, long + 1));
                                         break;
                                     }
                                 case 2: {
@@ -41847,7 +43516,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -41878,14 +43547,18 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        InstancesListServerCasResponse.verify = function verify(message) {
+                        InstancesListServerCasResponse.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.certs != null && message.hasOwnProperty("certs")) {
                                 if (!Array.isArray(message.certs))
                                     return "certs: array expected";
                                 for (var i = 0; i < message.certs.length; ++i) {
-                                    var error = $root.google.cloud.sql.v1.SslCert.verify(message.certs[i]);
+                                    var error = $root.google.cloud.sql.v1.SslCert.verify(message.certs[i], long + 1);
                                     if (error)
                                         return "certs." + error;
                                 }
@@ -41907,9 +43580,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.InstancesListServerCasResponse} InstancesListServerCasResponse
                          */
-                        InstancesListServerCasResponse.fromObject = function fromObject(object) {
+                        InstancesListServerCasResponse.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.InstancesListServerCasResponse)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.InstancesListServerCasResponse();
                             if (object.certs) {
                                 if (!Array.isArray(object.certs))
@@ -41918,7 +43595,7 @@
                                 for (var i = 0; i < object.certs.length; ++i) {
                                     if (typeof object.certs[i] !== "object")
                                         throw TypeError(".google.cloud.sql.v1.InstancesListServerCasResponse.certs: object expected");
-                                    message.certs[i] = $root.google.cloud.sql.v1.SslCert.fromObject(object.certs[i]);
+                                    message.certs[i] = $root.google.cloud.sql.v1.SslCert.fromObject(object.certs[i], long + 1);
                                 }
                             }
                             if (object.activeVersion != null)
@@ -42013,7 +43690,7 @@
                             this.serverCerts = [];
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -42110,9 +43787,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        InstancesListServerCertificatesResponse.decode = function decode(reader, length, error) {
+                        InstancesListServerCertificatesResponse.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.InstancesListServerCertificatesResponse();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -42122,13 +43803,13 @@
                                 case 1: {
                                         if (!(message.caCerts && message.caCerts.length))
                                             message.caCerts = [];
-                                        message.caCerts.push($root.google.cloud.sql.v1.SslCert.decode(reader, reader.uint32()));
+                                        message.caCerts.push($root.google.cloud.sql.v1.SslCert.decode(reader, reader.uint32(), undefined, long + 1));
                                         break;
                                     }
                                 case 2: {
                                         if (!(message.serverCerts && message.serverCerts.length))
                                             message.serverCerts = [];
-                                        message.serverCerts.push($root.google.cloud.sql.v1.SslCert.decode(reader, reader.uint32()));
+                                        message.serverCerts.push($root.google.cloud.sql.v1.SslCert.decode(reader, reader.uint32(), undefined, long + 1));
                                         break;
                                     }
                                 case 3: {
@@ -42140,7 +43821,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -42171,14 +43852,18 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        InstancesListServerCertificatesResponse.verify = function verify(message) {
+                        InstancesListServerCertificatesResponse.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.caCerts != null && message.hasOwnProperty("caCerts")) {
                                 if (!Array.isArray(message.caCerts))
                                     return "caCerts: array expected";
                                 for (var i = 0; i < message.caCerts.length; ++i) {
-                                    var error = $root.google.cloud.sql.v1.SslCert.verify(message.caCerts[i]);
+                                    var error = $root.google.cloud.sql.v1.SslCert.verify(message.caCerts[i], long + 1);
                                     if (error)
                                         return "caCerts." + error;
                                 }
@@ -42187,7 +43872,7 @@
                                 if (!Array.isArray(message.serverCerts))
                                     return "serverCerts: array expected";
                                 for (var i = 0; i < message.serverCerts.length; ++i) {
-                                    var error = $root.google.cloud.sql.v1.SslCert.verify(message.serverCerts[i]);
+                                    var error = $root.google.cloud.sql.v1.SslCert.verify(message.serverCerts[i], long + 1);
                                     if (error)
                                         return "serverCerts." + error;
                                 }
@@ -42209,9 +43894,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.InstancesListServerCertificatesResponse} InstancesListServerCertificatesResponse
                          */
-                        InstancesListServerCertificatesResponse.fromObject = function fromObject(object) {
+                        InstancesListServerCertificatesResponse.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.InstancesListServerCertificatesResponse)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.InstancesListServerCertificatesResponse();
                             if (object.caCerts) {
                                 if (!Array.isArray(object.caCerts))
@@ -42220,7 +43909,7 @@
                                 for (var i = 0; i < object.caCerts.length; ++i) {
                                     if (typeof object.caCerts[i] !== "object")
                                         throw TypeError(".google.cloud.sql.v1.InstancesListServerCertificatesResponse.caCerts: object expected");
-                                    message.caCerts[i] = $root.google.cloud.sql.v1.SslCert.fromObject(object.caCerts[i]);
+                                    message.caCerts[i] = $root.google.cloud.sql.v1.SslCert.fromObject(object.caCerts[i], long + 1);
                                 }
                             }
                             if (object.serverCerts) {
@@ -42230,7 +43919,7 @@
                                 for (var i = 0; i < object.serverCerts.length; ++i) {
                                     if (typeof object.serverCerts[i] !== "object")
                                         throw TypeError(".google.cloud.sql.v1.InstancesListServerCertificatesResponse.serverCerts: object expected");
-                                    message.serverCerts[i] = $root.google.cloud.sql.v1.SslCert.fromObject(object.serverCerts[i]);
+                                    message.serverCerts[i] = $root.google.cloud.sql.v1.SslCert.fromObject(object.serverCerts[i], long + 1);
                                 }
                             }
                             if (object.activeVersion != null)
@@ -42330,7 +44019,7 @@
                             this.certs = [];
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -42416,9 +44105,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        InstancesListEntraIdCertificatesResponse.decode = function decode(reader, length, error) {
+                        InstancesListEntraIdCertificatesResponse.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.InstancesListEntraIdCertificatesResponse();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -42428,7 +44121,7 @@
                                 case 1: {
                                         if (!(message.certs && message.certs.length))
                                             message.certs = [];
-                                        message.certs.push($root.google.cloud.sql.v1.SslCert.decode(reader, reader.uint32()));
+                                        message.certs.push($root.google.cloud.sql.v1.SslCert.decode(reader, reader.uint32(), undefined, long + 1));
                                         break;
                                     }
                                 case 2: {
@@ -42440,7 +44133,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -42471,14 +44164,18 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        InstancesListEntraIdCertificatesResponse.verify = function verify(message) {
+                        InstancesListEntraIdCertificatesResponse.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.certs != null && message.hasOwnProperty("certs")) {
                                 if (!Array.isArray(message.certs))
                                     return "certs: array expected";
                                 for (var i = 0; i < message.certs.length; ++i) {
-                                    var error = $root.google.cloud.sql.v1.SslCert.verify(message.certs[i]);
+                                    var error = $root.google.cloud.sql.v1.SslCert.verify(message.certs[i], long + 1);
                                     if (error)
                                         return "certs." + error;
                                 }
@@ -42500,9 +44197,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.InstancesListEntraIdCertificatesResponse} InstancesListEntraIdCertificatesResponse
                          */
-                        InstancesListEntraIdCertificatesResponse.fromObject = function fromObject(object) {
+                        InstancesListEntraIdCertificatesResponse.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.InstancesListEntraIdCertificatesResponse)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.InstancesListEntraIdCertificatesResponse();
                             if (object.certs) {
                                 if (!Array.isArray(object.certs))
@@ -42511,7 +44212,7 @@
                                 for (var i = 0; i < object.certs.length; ++i) {
                                     if (typeof object.certs[i] !== "object")
                                         throw TypeError(".google.cloud.sql.v1.InstancesListEntraIdCertificatesResponse.certs: object expected");
-                                    message.certs[i] = $root.google.cloud.sql.v1.SslCert.fromObject(object.certs[i]);
+                                    message.certs[i] = $root.google.cloud.sql.v1.SslCert.fromObject(object.certs[i], long + 1);
                                 }
                             }
                             if (object.activeVersion != null)
@@ -42606,7 +44307,7 @@
                             this.restoreInstanceClearOverridesFieldNames = [];
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -42712,9 +44413,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        InstancesRestoreBackupRequest.decode = function decode(reader, length, error) {
+                        InstancesRestoreBackupRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.InstancesRestoreBackupRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -42722,7 +44427,7 @@
                                     break;
                                 switch (tag >>> 3) {
                                 case 1: {
-                                        message.restoreBackupContext = $root.google.cloud.sql.v1.RestoreBackupContext.decode(reader, reader.uint32());
+                                        message.restoreBackupContext = $root.google.cloud.sql.v1.RestoreBackupContext.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 2: {
@@ -42734,7 +44439,7 @@
                                         break;
                                     }
                                 case 3: {
-                                        message.restoreInstanceSettings = $root.google.cloud.sql.v1.DatabaseInstance.decode(reader, reader.uint32());
+                                        message.restoreInstanceSettings = $root.google.cloud.sql.v1.DatabaseInstance.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 5: {
@@ -42744,7 +44449,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -42775,11 +44480,15 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        InstancesRestoreBackupRequest.verify = function verify(message) {
+                        InstancesRestoreBackupRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.restoreBackupContext != null && message.hasOwnProperty("restoreBackupContext")) {
-                                var error = $root.google.cloud.sql.v1.RestoreBackupContext.verify(message.restoreBackupContext);
+                                var error = $root.google.cloud.sql.v1.RestoreBackupContext.verify(message.restoreBackupContext, long + 1);
                                 if (error)
                                     return "restoreBackupContext." + error;
                             }
@@ -42790,7 +44499,7 @@
                                 if (!$util.isString(message.backupdrBackup))
                                     return "backupdrBackup: string expected";
                             if (message.restoreInstanceSettings != null && message.hasOwnProperty("restoreInstanceSettings")) {
-                                var error = $root.google.cloud.sql.v1.DatabaseInstance.verify(message.restoreInstanceSettings);
+                                var error = $root.google.cloud.sql.v1.DatabaseInstance.verify(message.restoreInstanceSettings, long + 1);
                                 if (error)
                                     return "restoreInstanceSettings." + error;
                             }
@@ -42812,14 +44521,18 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.InstancesRestoreBackupRequest} InstancesRestoreBackupRequest
                          */
-                        InstancesRestoreBackupRequest.fromObject = function fromObject(object) {
+                        InstancesRestoreBackupRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.InstancesRestoreBackupRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.InstancesRestoreBackupRequest();
                             if (object.restoreBackupContext != null) {
                                 if (typeof object.restoreBackupContext !== "object")
                                     throw TypeError(".google.cloud.sql.v1.InstancesRestoreBackupRequest.restoreBackupContext: object expected");
-                                message.restoreBackupContext = $root.google.cloud.sql.v1.RestoreBackupContext.fromObject(object.restoreBackupContext);
+                                message.restoreBackupContext = $root.google.cloud.sql.v1.RestoreBackupContext.fromObject(object.restoreBackupContext, long + 1);
                             }
                             if (object.backup != null)
                                 message.backup = String(object.backup);
@@ -42828,7 +44541,7 @@
                             if (object.restoreInstanceSettings != null) {
                                 if (typeof object.restoreInstanceSettings !== "object")
                                     throw TypeError(".google.cloud.sql.v1.InstancesRestoreBackupRequest.restoreInstanceSettings: object expected");
-                                message.restoreInstanceSettings = $root.google.cloud.sql.v1.DatabaseInstance.fromObject(object.restoreInstanceSettings);
+                                message.restoreInstanceSettings = $root.google.cloud.sql.v1.DatabaseInstance.fromObject(object.restoreInstanceSettings, long + 1);
                             }
                             if (object.restoreInstanceClearOverridesFieldNames) {
                                 if (!Array.isArray(object.restoreInstanceClearOverridesFieldNames))
@@ -42926,7 +44639,7 @@
                         function InstancesRotateServerCaRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -42991,9 +44704,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        InstancesRotateServerCaRequest.decode = function decode(reader, length, error) {
+                        InstancesRotateServerCaRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.InstancesRotateServerCaRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -43001,11 +44718,11 @@
                                     break;
                                 switch (tag >>> 3) {
                                 case 1: {
-                                        message.rotateServerCaContext = $root.google.cloud.sql.v1.RotateServerCaContext.decode(reader, reader.uint32());
+                                        message.rotateServerCaContext = $root.google.cloud.sql.v1.RotateServerCaContext.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -43036,11 +44753,15 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        InstancesRotateServerCaRequest.verify = function verify(message) {
+                        InstancesRotateServerCaRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.rotateServerCaContext != null && message.hasOwnProperty("rotateServerCaContext")) {
-                                var error = $root.google.cloud.sql.v1.RotateServerCaContext.verify(message.rotateServerCaContext);
+                                var error = $root.google.cloud.sql.v1.RotateServerCaContext.verify(message.rotateServerCaContext, long + 1);
                                 if (error)
                                     return "rotateServerCaContext." + error;
                             }
@@ -43055,14 +44776,18 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.InstancesRotateServerCaRequest} InstancesRotateServerCaRequest
                          */
-                        InstancesRotateServerCaRequest.fromObject = function fromObject(object) {
+                        InstancesRotateServerCaRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.InstancesRotateServerCaRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.InstancesRotateServerCaRequest();
                             if (object.rotateServerCaContext != null) {
                                 if (typeof object.rotateServerCaContext !== "object")
                                     throw TypeError(".google.cloud.sql.v1.InstancesRotateServerCaRequest.rotateServerCaContext: object expected");
-                                message.rotateServerCaContext = $root.google.cloud.sql.v1.RotateServerCaContext.fromObject(object.rotateServerCaContext);
+                                message.rotateServerCaContext = $root.google.cloud.sql.v1.RotateServerCaContext.fromObject(object.rotateServerCaContext, long + 1);
                             }
                             return message;
                         };
@@ -43136,7 +44861,7 @@
                         function InstancesRotateServerCertificateRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -43201,9 +44926,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        InstancesRotateServerCertificateRequest.decode = function decode(reader, length, error) {
+                        InstancesRotateServerCertificateRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.InstancesRotateServerCertificateRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -43211,11 +44940,11 @@
                                     break;
                                 switch (tag >>> 3) {
                                 case 1: {
-                                        message.rotateServerCertificateContext = $root.google.cloud.sql.v1.RotateServerCertificateContext.decode(reader, reader.uint32());
+                                        message.rotateServerCertificateContext = $root.google.cloud.sql.v1.RotateServerCertificateContext.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -43246,11 +44975,15 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        InstancesRotateServerCertificateRequest.verify = function verify(message) {
+                        InstancesRotateServerCertificateRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.rotateServerCertificateContext != null && message.hasOwnProperty("rotateServerCertificateContext")) {
-                                var error = $root.google.cloud.sql.v1.RotateServerCertificateContext.verify(message.rotateServerCertificateContext);
+                                var error = $root.google.cloud.sql.v1.RotateServerCertificateContext.verify(message.rotateServerCertificateContext, long + 1);
                                 if (error)
                                     return "rotateServerCertificateContext." + error;
                             }
@@ -43265,14 +44998,18 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.InstancesRotateServerCertificateRequest} InstancesRotateServerCertificateRequest
                          */
-                        InstancesRotateServerCertificateRequest.fromObject = function fromObject(object) {
+                        InstancesRotateServerCertificateRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.InstancesRotateServerCertificateRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.InstancesRotateServerCertificateRequest();
                             if (object.rotateServerCertificateContext != null) {
                                 if (typeof object.rotateServerCertificateContext !== "object")
                                     throw TypeError(".google.cloud.sql.v1.InstancesRotateServerCertificateRequest.rotateServerCertificateContext: object expected");
-                                message.rotateServerCertificateContext = $root.google.cloud.sql.v1.RotateServerCertificateContext.fromObject(object.rotateServerCertificateContext);
+                                message.rotateServerCertificateContext = $root.google.cloud.sql.v1.RotateServerCertificateContext.fromObject(object.rotateServerCertificateContext, long + 1);
                             }
                             return message;
                         };
@@ -43346,7 +45083,7 @@
                         function InstancesRotateEntraIdCertificateRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -43411,9 +45148,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        InstancesRotateEntraIdCertificateRequest.decode = function decode(reader, length, error) {
+                        InstancesRotateEntraIdCertificateRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.InstancesRotateEntraIdCertificateRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -43421,11 +45162,11 @@
                                     break;
                                 switch (tag >>> 3) {
                                 case 1: {
-                                        message.rotateEntraIdCertificateContext = $root.google.cloud.sql.v1.RotateEntraIdCertificateContext.decode(reader, reader.uint32());
+                                        message.rotateEntraIdCertificateContext = $root.google.cloud.sql.v1.RotateEntraIdCertificateContext.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -43456,11 +45197,15 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        InstancesRotateEntraIdCertificateRequest.verify = function verify(message) {
+                        InstancesRotateEntraIdCertificateRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.rotateEntraIdCertificateContext != null && message.hasOwnProperty("rotateEntraIdCertificateContext")) {
-                                var error = $root.google.cloud.sql.v1.RotateEntraIdCertificateContext.verify(message.rotateEntraIdCertificateContext);
+                                var error = $root.google.cloud.sql.v1.RotateEntraIdCertificateContext.verify(message.rotateEntraIdCertificateContext, long + 1);
                                 if (error)
                                     return "rotateEntraIdCertificateContext." + error;
                             }
@@ -43475,14 +45220,18 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.InstancesRotateEntraIdCertificateRequest} InstancesRotateEntraIdCertificateRequest
                          */
-                        InstancesRotateEntraIdCertificateRequest.fromObject = function fromObject(object) {
+                        InstancesRotateEntraIdCertificateRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.InstancesRotateEntraIdCertificateRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.InstancesRotateEntraIdCertificateRequest();
                             if (object.rotateEntraIdCertificateContext != null) {
                                 if (typeof object.rotateEntraIdCertificateContext !== "object")
                                     throw TypeError(".google.cloud.sql.v1.InstancesRotateEntraIdCertificateRequest.rotateEntraIdCertificateContext: object expected");
-                                message.rotateEntraIdCertificateContext = $root.google.cloud.sql.v1.RotateEntraIdCertificateContext.fromObject(object.rotateEntraIdCertificateContext);
+                                message.rotateEntraIdCertificateContext = $root.google.cloud.sql.v1.RotateEntraIdCertificateContext.fromObject(object.rotateEntraIdCertificateContext, long + 1);
                             }
                             return message;
                         };
@@ -43556,7 +45305,7 @@
                         function InstancesTruncateLogRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -43621,9 +45370,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        InstancesTruncateLogRequest.decode = function decode(reader, length, error) {
+                        InstancesTruncateLogRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.InstancesTruncateLogRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -43631,11 +45384,11 @@
                                     break;
                                 switch (tag >>> 3) {
                                 case 1: {
-                                        message.truncateLogContext = $root.google.cloud.sql.v1.TruncateLogContext.decode(reader, reader.uint32());
+                                        message.truncateLogContext = $root.google.cloud.sql.v1.TruncateLogContext.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -43666,11 +45419,15 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        InstancesTruncateLogRequest.verify = function verify(message) {
+                        InstancesTruncateLogRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.truncateLogContext != null && message.hasOwnProperty("truncateLogContext")) {
-                                var error = $root.google.cloud.sql.v1.TruncateLogContext.verify(message.truncateLogContext);
+                                var error = $root.google.cloud.sql.v1.TruncateLogContext.verify(message.truncateLogContext, long + 1);
                                 if (error)
                                     return "truncateLogContext." + error;
                             }
@@ -43685,14 +45442,18 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.InstancesTruncateLogRequest} InstancesTruncateLogRequest
                          */
-                        InstancesTruncateLogRequest.fromObject = function fromObject(object) {
+                        InstancesTruncateLogRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.InstancesTruncateLogRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.InstancesTruncateLogRequest();
                             if (object.truncateLogContext != null) {
                                 if (typeof object.truncateLogContext !== "object")
                                     throw TypeError(".google.cloud.sql.v1.InstancesTruncateLogRequest.truncateLogContext: object expected");
-                                message.truncateLogContext = $root.google.cloud.sql.v1.TruncateLogContext.fromObject(object.truncateLogContext);
+                                message.truncateLogContext = $root.google.cloud.sql.v1.TruncateLogContext.fromObject(object.truncateLogContext, long + 1);
                             }
                             return message;
                         };
@@ -43766,7 +45527,7 @@
                         function InstancesAcquireSsrsLeaseRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -43831,9 +45592,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        InstancesAcquireSsrsLeaseRequest.decode = function decode(reader, length, error) {
+                        InstancesAcquireSsrsLeaseRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.InstancesAcquireSsrsLeaseRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -43841,11 +45606,11 @@
                                     break;
                                 switch (tag >>> 3) {
                                 case 1: {
-                                        message.acquireSsrsLeaseContext = $root.google.cloud.sql.v1.AcquireSsrsLeaseContext.decode(reader, reader.uint32());
+                                        message.acquireSsrsLeaseContext = $root.google.cloud.sql.v1.AcquireSsrsLeaseContext.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -43876,11 +45641,15 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        InstancesAcquireSsrsLeaseRequest.verify = function verify(message) {
+                        InstancesAcquireSsrsLeaseRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.acquireSsrsLeaseContext != null && message.hasOwnProperty("acquireSsrsLeaseContext")) {
-                                var error = $root.google.cloud.sql.v1.AcquireSsrsLeaseContext.verify(message.acquireSsrsLeaseContext);
+                                var error = $root.google.cloud.sql.v1.AcquireSsrsLeaseContext.verify(message.acquireSsrsLeaseContext, long + 1);
                                 if (error)
                                     return "acquireSsrsLeaseContext." + error;
                             }
@@ -43895,14 +45664,18 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.InstancesAcquireSsrsLeaseRequest} InstancesAcquireSsrsLeaseRequest
                          */
-                        InstancesAcquireSsrsLeaseRequest.fromObject = function fromObject(object) {
+                        InstancesAcquireSsrsLeaseRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.InstancesAcquireSsrsLeaseRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.InstancesAcquireSsrsLeaseRequest();
                             if (object.acquireSsrsLeaseContext != null) {
                                 if (typeof object.acquireSsrsLeaseContext !== "object")
                                     throw TypeError(".google.cloud.sql.v1.InstancesAcquireSsrsLeaseRequest.acquireSsrsLeaseContext: object expected");
-                                message.acquireSsrsLeaseContext = $root.google.cloud.sql.v1.AcquireSsrsLeaseContext.fromObject(object.acquireSsrsLeaseContext);
+                                message.acquireSsrsLeaseContext = $root.google.cloud.sql.v1.AcquireSsrsLeaseContext.fromObject(object.acquireSsrsLeaseContext, long + 1);
                             }
                             return message;
                         };
@@ -43978,7 +45751,7 @@
                         function SqlInstancesPreCheckMajorVersionUpgradeRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -44063,9 +45836,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlInstancesPreCheckMajorVersionUpgradeRequest.decode = function decode(reader, length, error) {
+                        SqlInstancesPreCheckMajorVersionUpgradeRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.SqlInstancesPreCheckMajorVersionUpgradeRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -44081,11 +45858,11 @@
                                         break;
                                     }
                                 case 3: {
-                                        message.body = $root.google.cloud.sql.v1.InstancesPreCheckMajorVersionUpgradeRequest.decode(reader, reader.uint32());
+                                        message.body = $root.google.cloud.sql.v1.InstancesPreCheckMajorVersionUpgradeRequest.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -44116,9 +45893,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlInstancesPreCheckMajorVersionUpgradeRequest.verify = function verify(message) {
+                        SqlInstancesPreCheckMajorVersionUpgradeRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.instance != null && message.hasOwnProperty("instance"))
                                 if (!$util.isString(message.instance))
                                     return "instance: string expected";
@@ -44126,7 +45907,7 @@
                                 if (!$util.isString(message.project))
                                     return "project: string expected";
                             if (message.body != null && message.hasOwnProperty("body")) {
-                                var error = $root.google.cloud.sql.v1.InstancesPreCheckMajorVersionUpgradeRequest.verify(message.body);
+                                var error = $root.google.cloud.sql.v1.InstancesPreCheckMajorVersionUpgradeRequest.verify(message.body, long + 1);
                                 if (error)
                                     return "body." + error;
                             }
@@ -44141,9 +45922,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.SqlInstancesPreCheckMajorVersionUpgradeRequest} SqlInstancesPreCheckMajorVersionUpgradeRequest
                          */
-                        SqlInstancesPreCheckMajorVersionUpgradeRequest.fromObject = function fromObject(object) {
+                        SqlInstancesPreCheckMajorVersionUpgradeRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.SqlInstancesPreCheckMajorVersionUpgradeRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.SqlInstancesPreCheckMajorVersionUpgradeRequest();
                             if (object.instance != null)
                                 message.instance = String(object.instance);
@@ -44152,7 +45937,7 @@
                             if (object.body != null) {
                                 if (typeof object.body !== "object")
                                     throw TypeError(".google.cloud.sql.v1.SqlInstancesPreCheckMajorVersionUpgradeRequest.body: object expected");
-                                message.body = $root.google.cloud.sql.v1.InstancesPreCheckMajorVersionUpgradeRequest.fromObject(object.body);
+                                message.body = $root.google.cloud.sql.v1.InstancesPreCheckMajorVersionUpgradeRequest.fromObject(object.body, long + 1);
                             }
                             return message;
                         };
@@ -44237,7 +46022,7 @@
                             this.warnings = [];
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -44324,9 +46109,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlInstancesVerifyExternalSyncSettingsResponse.decode = function decode(reader, length, error) {
+                        SqlInstancesVerifyExternalSyncSettingsResponse.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.SqlInstancesVerifyExternalSyncSettingsResponse();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -44340,17 +46129,17 @@
                                 case 2: {
                                         if (!(message.errors && message.errors.length))
                                             message.errors = [];
-                                        message.errors.push($root.google.cloud.sql.v1.SqlExternalSyncSettingError.decode(reader, reader.uint32()));
+                                        message.errors.push($root.google.cloud.sql.v1.SqlExternalSyncSettingError.decode(reader, reader.uint32(), undefined, long + 1));
                                         break;
                                     }
                                 case 3: {
                                         if (!(message.warnings && message.warnings.length))
                                             message.warnings = [];
-                                        message.warnings.push($root.google.cloud.sql.v1.SqlExternalSyncSettingError.decode(reader, reader.uint32()));
+                                        message.warnings.push($root.google.cloud.sql.v1.SqlExternalSyncSettingError.decode(reader, reader.uint32(), undefined, long + 1));
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -44381,9 +46170,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlInstancesVerifyExternalSyncSettingsResponse.verify = function verify(message) {
+                        SqlInstancesVerifyExternalSyncSettingsResponse.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.kind != null && message.hasOwnProperty("kind"))
                                 if (!$util.isString(message.kind))
                                     return "kind: string expected";
@@ -44391,7 +46184,7 @@
                                 if (!Array.isArray(message.errors))
                                     return "errors: array expected";
                                 for (var i = 0; i < message.errors.length; ++i) {
-                                    var error = $root.google.cloud.sql.v1.SqlExternalSyncSettingError.verify(message.errors[i]);
+                                    var error = $root.google.cloud.sql.v1.SqlExternalSyncSettingError.verify(message.errors[i], long + 1);
                                     if (error)
                                         return "errors." + error;
                                 }
@@ -44400,7 +46193,7 @@
                                 if (!Array.isArray(message.warnings))
                                     return "warnings: array expected";
                                 for (var i = 0; i < message.warnings.length; ++i) {
-                                    var error = $root.google.cloud.sql.v1.SqlExternalSyncSettingError.verify(message.warnings[i]);
+                                    var error = $root.google.cloud.sql.v1.SqlExternalSyncSettingError.verify(message.warnings[i], long + 1);
                                     if (error)
                                         return "warnings." + error;
                                 }
@@ -44416,9 +46209,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.SqlInstancesVerifyExternalSyncSettingsResponse} SqlInstancesVerifyExternalSyncSettingsResponse
                          */
-                        SqlInstancesVerifyExternalSyncSettingsResponse.fromObject = function fromObject(object) {
+                        SqlInstancesVerifyExternalSyncSettingsResponse.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.SqlInstancesVerifyExternalSyncSettingsResponse)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.SqlInstancesVerifyExternalSyncSettingsResponse();
                             if (object.kind != null)
                                 message.kind = String(object.kind);
@@ -44429,7 +46226,7 @@
                                 for (var i = 0; i < object.errors.length; ++i) {
                                     if (typeof object.errors[i] !== "object")
                                         throw TypeError(".google.cloud.sql.v1.SqlInstancesVerifyExternalSyncSettingsResponse.errors: object expected");
-                                    message.errors[i] = $root.google.cloud.sql.v1.SqlExternalSyncSettingError.fromObject(object.errors[i]);
+                                    message.errors[i] = $root.google.cloud.sql.v1.SqlExternalSyncSettingError.fromObject(object.errors[i], long + 1);
                                 }
                             }
                             if (object.warnings) {
@@ -44439,7 +46236,7 @@
                                 for (var i = 0; i < object.warnings.length; ++i) {
                                     if (typeof object.warnings[i] !== "object")
                                         throw TypeError(".google.cloud.sql.v1.SqlInstancesVerifyExternalSyncSettingsResponse.warnings: object expected");
-                                    message.warnings[i] = $root.google.cloud.sql.v1.SqlExternalSyncSettingError.fromObject(object.warnings[i]);
+                                    message.warnings[i] = $root.google.cloud.sql.v1.SqlExternalSyncSettingError.fromObject(object.warnings[i], long + 1);
                                 }
                             }
                             return message;
@@ -44530,7 +46327,7 @@
                         function SqlInstancesGetDiskShrinkConfigResponse(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -44615,9 +46412,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlInstancesGetDiskShrinkConfigResponse.decode = function decode(reader, length, error) {
+                        SqlInstancesGetDiskShrinkConfigResponse.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.SqlInstancesGetDiskShrinkConfigResponse();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -44637,7 +46438,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -44668,9 +46469,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlInstancesGetDiskShrinkConfigResponse.verify = function verify(message) {
+                        SqlInstancesGetDiskShrinkConfigResponse.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.kind != null && message.hasOwnProperty("kind"))
                                 if (!$util.isString(message.kind))
                                     return "kind: string expected";
@@ -44691,9 +46496,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.SqlInstancesGetDiskShrinkConfigResponse} SqlInstancesGetDiskShrinkConfigResponse
                          */
-                        SqlInstancesGetDiskShrinkConfigResponse.fromObject = function fromObject(object) {
+                        SqlInstancesGetDiskShrinkConfigResponse.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.SqlInstancesGetDiskShrinkConfigResponse)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.SqlInstancesGetDiskShrinkConfigResponse();
                             if (object.kind != null)
                                 message.kind = String(object.kind);
@@ -44796,7 +46605,7 @@
                         function SqlInstancesGetLatestRecoveryTimeRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -44890,9 +46699,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlInstancesGetLatestRecoveryTimeRequest.decode = function decode(reader, length, error) {
+                        SqlInstancesGetLatestRecoveryTimeRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.SqlInstancesGetLatestRecoveryTimeRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -44908,11 +46721,11 @@
                                         break;
                                     }
                                 case 3: {
-                                        message.sourceInstanceDeletionTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+                                        message.sourceInstanceDeletionTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -44943,9 +46756,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlInstancesGetLatestRecoveryTimeRequest.verify = function verify(message) {
+                        SqlInstancesGetLatestRecoveryTimeRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             var properties = {};
                             if (message.instance != null && message.hasOwnProperty("instance"))
                                 if (!$util.isString(message.instance))
@@ -44956,7 +46773,7 @@
                             if (message.sourceInstanceDeletionTime != null && message.hasOwnProperty("sourceInstanceDeletionTime")) {
                                 properties._sourceInstanceDeletionTime = 1;
                                 {
-                                    var error = $root.google.protobuf.Timestamp.verify(message.sourceInstanceDeletionTime);
+                                    var error = $root.google.protobuf.Timestamp.verify(message.sourceInstanceDeletionTime, long + 1);
                                     if (error)
                                         return "sourceInstanceDeletionTime." + error;
                                 }
@@ -44972,9 +46789,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.SqlInstancesGetLatestRecoveryTimeRequest} SqlInstancesGetLatestRecoveryTimeRequest
                          */
-                        SqlInstancesGetLatestRecoveryTimeRequest.fromObject = function fromObject(object) {
+                        SqlInstancesGetLatestRecoveryTimeRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.SqlInstancesGetLatestRecoveryTimeRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.SqlInstancesGetLatestRecoveryTimeRequest();
                             if (object.instance != null)
                                 message.instance = String(object.instance);
@@ -44983,7 +46804,7 @@
                             if (object.sourceInstanceDeletionTime != null) {
                                 if (typeof object.sourceInstanceDeletionTime !== "object")
                                     throw TypeError(".google.cloud.sql.v1.SqlInstancesGetLatestRecoveryTimeRequest.sourceInstanceDeletionTime: object expected");
-                                message.sourceInstanceDeletionTime = $root.google.protobuf.Timestamp.fromObject(object.sourceInstanceDeletionTime);
+                                message.sourceInstanceDeletionTime = $root.google.protobuf.Timestamp.fromObject(object.sourceInstanceDeletionTime, long + 1);
                             }
                             return message;
                         };
@@ -45068,7 +46889,7 @@
                         function SqlInstancesGetLatestRecoveryTimeResponse(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -45153,9 +46974,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlInstancesGetLatestRecoveryTimeResponse.decode = function decode(reader, length, error) {
+                        SqlInstancesGetLatestRecoveryTimeResponse.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.SqlInstancesGetLatestRecoveryTimeResponse();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -45167,15 +46992,15 @@
                                         break;
                                     }
                                 case 2: {
-                                        message.latestRecoveryTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+                                        message.latestRecoveryTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 3: {
-                                        message.earliestRecoveryTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+                                        message.earliestRecoveryTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -45206,19 +47031,23 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlInstancesGetLatestRecoveryTimeResponse.verify = function verify(message) {
+                        SqlInstancesGetLatestRecoveryTimeResponse.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.kind != null && message.hasOwnProperty("kind"))
                                 if (!$util.isString(message.kind))
                                     return "kind: string expected";
                             if (message.latestRecoveryTime != null && message.hasOwnProperty("latestRecoveryTime")) {
-                                var error = $root.google.protobuf.Timestamp.verify(message.latestRecoveryTime);
+                                var error = $root.google.protobuf.Timestamp.verify(message.latestRecoveryTime, long + 1);
                                 if (error)
                                     return "latestRecoveryTime." + error;
                             }
                             if (message.earliestRecoveryTime != null && message.hasOwnProperty("earliestRecoveryTime")) {
-                                var error = $root.google.protobuf.Timestamp.verify(message.earliestRecoveryTime);
+                                var error = $root.google.protobuf.Timestamp.verify(message.earliestRecoveryTime, long + 1);
                                 if (error)
                                     return "earliestRecoveryTime." + error;
                             }
@@ -45233,21 +47062,25 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.SqlInstancesGetLatestRecoveryTimeResponse} SqlInstancesGetLatestRecoveryTimeResponse
                          */
-                        SqlInstancesGetLatestRecoveryTimeResponse.fromObject = function fromObject(object) {
+                        SqlInstancesGetLatestRecoveryTimeResponse.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.SqlInstancesGetLatestRecoveryTimeResponse)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.SqlInstancesGetLatestRecoveryTimeResponse();
                             if (object.kind != null)
                                 message.kind = String(object.kind);
                             if (object.latestRecoveryTime != null) {
                                 if (typeof object.latestRecoveryTime !== "object")
                                     throw TypeError(".google.cloud.sql.v1.SqlInstancesGetLatestRecoveryTimeResponse.latestRecoveryTime: object expected");
-                                message.latestRecoveryTime = $root.google.protobuf.Timestamp.fromObject(object.latestRecoveryTime);
+                                message.latestRecoveryTime = $root.google.protobuf.Timestamp.fromObject(object.latestRecoveryTime, long + 1);
                             }
                             if (object.earliestRecoveryTime != null) {
                                 if (typeof object.earliestRecoveryTime !== "object")
                                     throw TypeError(".google.cloud.sql.v1.SqlInstancesGetLatestRecoveryTimeResponse.earliestRecoveryTime: object expected");
-                                message.earliestRecoveryTime = $root.google.protobuf.Timestamp.fromObject(object.earliestRecoveryTime);
+                                message.earliestRecoveryTime = $root.google.protobuf.Timestamp.fromObject(object.earliestRecoveryTime, long + 1);
                             }
                             return message;
                         };
@@ -45340,7 +47173,7 @@
                             this.databaseNames = [];
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -45549,9 +47382,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        CloneContext.decode = function decode(reader, length, error) {
+                        CloneContext.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.CloneContext();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -45571,11 +47408,11 @@
                                         break;
                                     }
                                 case 4: {
-                                        message.binLogCoordinates = $root.google.cloud.sql.v1.BinLogCoordinates.decode(reader, reader.uint32());
+                                        message.binLogCoordinates = $root.google.cloud.sql.v1.BinLogCoordinates.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 5: {
-                                        message.pointInTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+                                        message.pointInTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 6: {
@@ -45597,7 +47434,7 @@
                                         break;
                                     }
                                 case 12: {
-                                        message.sourceInstanceDeletionTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+                                        message.sourceInstanceDeletionTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 13: {
@@ -45609,7 +47446,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -45640,9 +47477,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        CloneContext.verify = function verify(message) {
+                        CloneContext.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             var properties = {};
                             if (message.kind != null && message.hasOwnProperty("kind"))
                                 if (!$util.isString(message.kind))
@@ -45654,12 +47495,12 @@
                                 if (!$util.isString(message.destinationInstanceName))
                                     return "destinationInstanceName: string expected";
                             if (message.binLogCoordinates != null && message.hasOwnProperty("binLogCoordinates")) {
-                                var error = $root.google.cloud.sql.v1.BinLogCoordinates.verify(message.binLogCoordinates);
+                                var error = $root.google.cloud.sql.v1.BinLogCoordinates.verify(message.binLogCoordinates, long + 1);
                                 if (error)
                                     return "binLogCoordinates." + error;
                             }
                             if (message.pointInTime != null && message.hasOwnProperty("pointInTime")) {
-                                var error = $root.google.protobuf.Timestamp.verify(message.pointInTime);
+                                var error = $root.google.protobuf.Timestamp.verify(message.pointInTime, long + 1);
                                 if (error)
                                     return "pointInTime." + error;
                             }
@@ -45686,7 +47527,7 @@
                             if (message.sourceInstanceDeletionTime != null && message.hasOwnProperty("sourceInstanceDeletionTime")) {
                                 properties._sourceInstanceDeletionTime = 1;
                                 {
-                                    var error = $root.google.protobuf.Timestamp.verify(message.sourceInstanceDeletionTime);
+                                    var error = $root.google.protobuf.Timestamp.verify(message.sourceInstanceDeletionTime, long + 1);
                                     if (error)
                                         return "sourceInstanceDeletionTime." + error;
                                 }
@@ -45712,9 +47553,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.CloneContext} CloneContext
                          */
-                        CloneContext.fromObject = function fromObject(object) {
+                        CloneContext.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.CloneContext)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.CloneContext();
                             if (object.kind != null)
                                 message.kind = String(object.kind);
@@ -45732,12 +47577,12 @@
                             if (object.binLogCoordinates != null) {
                                 if (typeof object.binLogCoordinates !== "object")
                                     throw TypeError(".google.cloud.sql.v1.CloneContext.binLogCoordinates: object expected");
-                                message.binLogCoordinates = $root.google.cloud.sql.v1.BinLogCoordinates.fromObject(object.binLogCoordinates);
+                                message.binLogCoordinates = $root.google.cloud.sql.v1.BinLogCoordinates.fromObject(object.binLogCoordinates, long + 1);
                             }
                             if (object.pointInTime != null) {
                                 if (typeof object.pointInTime !== "object")
                                     throw TypeError(".google.cloud.sql.v1.CloneContext.pointInTime: object expected");
-                                message.pointInTime = $root.google.protobuf.Timestamp.fromObject(object.pointInTime);
+                                message.pointInTime = $root.google.protobuf.Timestamp.fromObject(object.pointInTime, long + 1);
                             }
                             if (object.allocatedIpRange != null)
                                 message.allocatedIpRange = String(object.allocatedIpRange);
@@ -45755,7 +47600,7 @@
                             if (object.sourceInstanceDeletionTime != null) {
                                 if (typeof object.sourceInstanceDeletionTime !== "object")
                                     throw TypeError(".google.cloud.sql.v1.CloneContext.sourceInstanceDeletionTime: object expected");
-                                message.sourceInstanceDeletionTime = $root.google.protobuf.Timestamp.fromObject(object.sourceInstanceDeletionTime);
+                                message.sourceInstanceDeletionTime = $root.google.protobuf.Timestamp.fromObject(object.sourceInstanceDeletionTime, long + 1);
                             }
                             if (object.destinationProject != null)
                                 message.destinationProject = String(object.destinationProject);
@@ -45881,6 +47726,9 @@
                          * @property {string|null} [allocatedIpRange] PointInTimeRestoreContext allocatedIpRange
                          * @property {string|null} [preferredZone] PointInTimeRestoreContext preferredZone
                          * @property {string|null} [preferredSecondaryZone] PointInTimeRestoreContext preferredSecondaryZone
+                         * @property {google.cloud.sql.v1.IDatabaseInstance|null} [targetInstanceSettings] PointInTimeRestoreContext targetInstanceSettings
+                         * @property {Array.<string>|null} [targetInstanceClearSettingsFieldNames] PointInTimeRestoreContext targetInstanceClearSettingsFieldNames
+                         * @property {string|null} [region] PointInTimeRestoreContext region
                          */
     
                         /**
@@ -45892,9 +47740,10 @@
                          * @param {google.cloud.sql.v1.IPointInTimeRestoreContext=} [properties] Properties to set
                          */
                         function PointInTimeRestoreContext(properties) {
+                            this.targetInstanceClearSettingsFieldNames = [];
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -45954,6 +47803,30 @@
                          */
                         PointInTimeRestoreContext.prototype.preferredSecondaryZone = null;
     
+                        /**
+                         * PointInTimeRestoreContext targetInstanceSettings.
+                         * @member {google.cloud.sql.v1.IDatabaseInstance|null|undefined} targetInstanceSettings
+                         * @memberof google.cloud.sql.v1.PointInTimeRestoreContext
+                         * @instance
+                         */
+                        PointInTimeRestoreContext.prototype.targetInstanceSettings = null;
+    
+                        /**
+                         * PointInTimeRestoreContext targetInstanceClearSettingsFieldNames.
+                         * @member {Array.<string>} targetInstanceClearSettingsFieldNames
+                         * @memberof google.cloud.sql.v1.PointInTimeRestoreContext
+                         * @instance
+                         */
+                        PointInTimeRestoreContext.prototype.targetInstanceClearSettingsFieldNames = $util.emptyArray;
+    
+                        /**
+                         * PointInTimeRestoreContext region.
+                         * @member {string|null|undefined} region
+                         * @memberof google.cloud.sql.v1.PointInTimeRestoreContext
+                         * @instance
+                         */
+                        PointInTimeRestoreContext.prototype.region = null;
+    
                         // OneOf field names bound to virtual getters and setters
                         var $oneOfFields;
     
@@ -45993,6 +47866,12 @@
                             set: $util.oneOfSetter($oneOfFields)
                         });
     
+                        // Virtual OneOf for proto3 optional field
+                        Object.defineProperty(PointInTimeRestoreContext.prototype, "_region", {
+                            get: $util.oneOfGetter($oneOfFields = ["region"]),
+                            set: $util.oneOfSetter($oneOfFields)
+                        });
+    
                         /**
                          * Creates a new PointInTimeRestoreContext instance using the specified properties.
                          * @function create
@@ -46031,6 +47910,13 @@
                                 writer.uint32(/* id 6, wireType 2 =*/50).string(message.preferredZone);
                             if (message.preferredSecondaryZone != null && Object.hasOwnProperty.call(message, "preferredSecondaryZone"))
                                 writer.uint32(/* id 9, wireType 2 =*/74).string(message.preferredSecondaryZone);
+                            if (message.targetInstanceSettings != null && Object.hasOwnProperty.call(message, "targetInstanceSettings"))
+                                $root.google.cloud.sql.v1.DatabaseInstance.encode(message.targetInstanceSettings, writer.uint32(/* id 11, wireType 2 =*/90).fork()).ldelim();
+                            if (message.targetInstanceClearSettingsFieldNames != null && message.targetInstanceClearSettingsFieldNames.length)
+                                for (var i = 0; i < message.targetInstanceClearSettingsFieldNames.length; ++i)
+                                    writer.uint32(/* id 12, wireType 2 =*/98).string(message.targetInstanceClearSettingsFieldNames[i]);
+                            if (message.region != null && Object.hasOwnProperty.call(message, "region"))
+                                writer.uint32(/* id 13, wireType 2 =*/106).string(message.region);
                             return writer;
                         };
     
@@ -46058,9 +47944,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        PointInTimeRestoreContext.decode = function decode(reader, length, error) {
+                        PointInTimeRestoreContext.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.PointInTimeRestoreContext();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -46072,7 +47962,7 @@
                                         break;
                                     }
                                 case 2: {
-                                        message.pointInTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+                                        message.pointInTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 3: {
@@ -46095,8 +47985,22 @@
                                         message.preferredSecondaryZone = reader.string();
                                         break;
                                     }
+                                case 11: {
+                                        message.targetInstanceSettings = $root.google.cloud.sql.v1.DatabaseInstance.decode(reader, reader.uint32(), undefined, long + 1);
+                                        break;
+                                    }
+                                case 12: {
+                                        if (!(message.targetInstanceClearSettingsFieldNames && message.targetInstanceClearSettingsFieldNames.length))
+                                            message.targetInstanceClearSettingsFieldNames = [];
+                                        message.targetInstanceClearSettingsFieldNames.push(reader.string());
+                                        break;
+                                    }
+                                case 13: {
+                                        message.region = reader.string();
+                                        break;
+                                    }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -46127,9 +48031,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        PointInTimeRestoreContext.verify = function verify(message) {
+                        PointInTimeRestoreContext.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             var properties = {};
                             if (message.datasource != null && message.hasOwnProperty("datasource")) {
                                 properties._datasource = 1;
@@ -46137,7 +48045,7 @@
                                     return "datasource: string expected";
                             }
                             if (message.pointInTime != null && message.hasOwnProperty("pointInTime")) {
-                                var error = $root.google.protobuf.Timestamp.verify(message.pointInTime);
+                                var error = $root.google.protobuf.Timestamp.verify(message.pointInTime, long + 1);
                                 if (error)
                                     return "pointInTime." + error;
                             }
@@ -46166,6 +48074,23 @@
                                 if (!$util.isString(message.preferredSecondaryZone))
                                     return "preferredSecondaryZone: string expected";
                             }
+                            if (message.targetInstanceSettings != null && message.hasOwnProperty("targetInstanceSettings")) {
+                                var error = $root.google.cloud.sql.v1.DatabaseInstance.verify(message.targetInstanceSettings, long + 1);
+                                if (error)
+                                    return "targetInstanceSettings." + error;
+                            }
+                            if (message.targetInstanceClearSettingsFieldNames != null && message.hasOwnProperty("targetInstanceClearSettingsFieldNames")) {
+                                if (!Array.isArray(message.targetInstanceClearSettingsFieldNames))
+                                    return "targetInstanceClearSettingsFieldNames: array expected";
+                                for (var i = 0; i < message.targetInstanceClearSettingsFieldNames.length; ++i)
+                                    if (!$util.isString(message.targetInstanceClearSettingsFieldNames[i]))
+                                        return "targetInstanceClearSettingsFieldNames: string[] expected";
+                            }
+                            if (message.region != null && message.hasOwnProperty("region")) {
+                                properties._region = 1;
+                                if (!$util.isString(message.region))
+                                    return "region: string expected";
+                            }
                             return null;
                         };
     
@@ -46177,16 +48102,20 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.PointInTimeRestoreContext} PointInTimeRestoreContext
                          */
-                        PointInTimeRestoreContext.fromObject = function fromObject(object) {
+                        PointInTimeRestoreContext.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.PointInTimeRestoreContext)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.PointInTimeRestoreContext();
                             if (object.datasource != null)
                                 message.datasource = String(object.datasource);
                             if (object.pointInTime != null) {
                                 if (typeof object.pointInTime !== "object")
                                     throw TypeError(".google.cloud.sql.v1.PointInTimeRestoreContext.pointInTime: object expected");
-                                message.pointInTime = $root.google.protobuf.Timestamp.fromObject(object.pointInTime);
+                                message.pointInTime = $root.google.protobuf.Timestamp.fromObject(object.pointInTime, long + 1);
                             }
                             if (object.targetInstance != null)
                                 message.targetInstance = String(object.targetInstance);
@@ -46198,6 +48127,20 @@
                                 message.preferredZone = String(object.preferredZone);
                             if (object.preferredSecondaryZone != null)
                                 message.preferredSecondaryZone = String(object.preferredSecondaryZone);
+                            if (object.targetInstanceSettings != null) {
+                                if (typeof object.targetInstanceSettings !== "object")
+                                    throw TypeError(".google.cloud.sql.v1.PointInTimeRestoreContext.targetInstanceSettings: object expected");
+                                message.targetInstanceSettings = $root.google.cloud.sql.v1.DatabaseInstance.fromObject(object.targetInstanceSettings, long + 1);
+                            }
+                            if (object.targetInstanceClearSettingsFieldNames) {
+                                if (!Array.isArray(object.targetInstanceClearSettingsFieldNames))
+                                    throw TypeError(".google.cloud.sql.v1.PointInTimeRestoreContext.targetInstanceClearSettingsFieldNames: array expected");
+                                message.targetInstanceClearSettingsFieldNames = [];
+                                for (var i = 0; i < object.targetInstanceClearSettingsFieldNames.length; ++i)
+                                    message.targetInstanceClearSettingsFieldNames[i] = String(object.targetInstanceClearSettingsFieldNames[i]);
+                            }
+                            if (object.region != null)
+                                message.region = String(object.region);
                             return message;
                         };
     
@@ -46214,8 +48157,12 @@
                             if (!options)
                                 options = {};
                             var object = {};
-                            if (options.defaults)
+                            if (options.arrays || options.defaults)
+                                object.targetInstanceClearSettingsFieldNames = [];
+                            if (options.defaults) {
                                 object.pointInTime = null;
+                                object.targetInstanceSettings = null;
+                            }
                             if (message.datasource != null && message.hasOwnProperty("datasource")) {
                                 object.datasource = message.datasource;
                                 if (options.oneofs)
@@ -46248,6 +48195,18 @@
                                 if (options.oneofs)
                                     object._preferredSecondaryZone = "preferredSecondaryZone";
                             }
+                            if (message.targetInstanceSettings != null && message.hasOwnProperty("targetInstanceSettings"))
+                                object.targetInstanceSettings = $root.google.cloud.sql.v1.DatabaseInstance.toObject(message.targetInstanceSettings, options);
+                            if (message.targetInstanceClearSettingsFieldNames && message.targetInstanceClearSettingsFieldNames.length) {
+                                object.targetInstanceClearSettingsFieldNames = [];
+                                for (var j = 0; j < message.targetInstanceClearSettingsFieldNames.length; ++j)
+                                    object.targetInstanceClearSettingsFieldNames[j] = message.targetInstanceClearSettingsFieldNames[j];
+                            }
+                            if (message.region != null && message.hasOwnProperty("region")) {
+                                object.region = message.region;
+                                if (options.oneofs)
+                                    object._region = "region";
+                            }
                             return object;
                         };
     
@@ -46302,7 +48261,7 @@
                         function BinLogCoordinates(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -46387,9 +48346,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        BinLogCoordinates.decode = function decode(reader, length, error) {
+                        BinLogCoordinates.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.BinLogCoordinates();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -46409,7 +48372,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -46440,9 +48403,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        BinLogCoordinates.verify = function verify(message) {
+                        BinLogCoordinates.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.binLogFileName != null && message.hasOwnProperty("binLogFileName"))
                                 if (!$util.isString(message.binLogFileName))
                                     return "binLogFileName: string expected";
@@ -46463,9 +48430,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.BinLogCoordinates} BinLogCoordinates
                          */
-                        BinLogCoordinates.fromObject = function fromObject(object) {
+                        BinLogCoordinates.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.BinLogCoordinates)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.BinLogCoordinates();
                             if (object.binLogFileName != null)
                                 message.binLogFileName = String(object.binLogFileName);
@@ -46624,7 +48595,7 @@
                             this.dnsNames = [];
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -47263,9 +49234,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        DatabaseInstance.decode = function decode(reader, length, error) {
+                        DatabaseInstance.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.DatabaseInstance(), key, value;
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -47285,7 +49260,7 @@
                                         break;
                                     }
                                 case 4: {
-                                        message.settings = $root.google.cloud.sql.v1.Settings.decode(reader, reader.uint32());
+                                        message.settings = $root.google.cloud.sql.v1.Settings.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 5: {
@@ -47293,7 +49268,7 @@
                                         break;
                                     }
                                 case 6: {
-                                        message.failoverReplica = $root.google.cloud.sql.v1.DatabaseInstance.SqlFailoverReplica.decode(reader, reader.uint32());
+                                        message.failoverReplica = $root.google.cloud.sql.v1.DatabaseInstance.SqlFailoverReplica.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 7: {
@@ -47307,21 +49282,21 @@
                                         break;
                                     }
                                 case 9: {
-                                        message.maxDiskSize = $root.google.protobuf.Int64Value.decode(reader, reader.uint32());
+                                        message.maxDiskSize = $root.google.protobuf.Int64Value.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 10: {
-                                        message.currentDiskSize = $root.google.protobuf.Int64Value.decode(reader, reader.uint32());
+                                        message.currentDiskSize = $root.google.protobuf.Int64Value.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 11: {
                                         if (!(message.ipAddresses && message.ipAddresses.length))
                                             message.ipAddresses = [];
-                                        message.ipAddresses.push($root.google.cloud.sql.v1.IpMapping.decode(reader, reader.uint32()));
+                                        message.ipAddresses.push($root.google.cloud.sql.v1.IpMapping.decode(reader, reader.uint32(), undefined, long + 1));
                                         break;
                                     }
                                 case 12: {
-                                        message.serverCaCert = $root.google.cloud.sql.v1.SslCert.decode(reader, reader.uint32());
+                                        message.serverCaCert = $root.google.cloud.sql.v1.SslCert.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 13: {
@@ -47341,11 +49316,11 @@
                                         break;
                                     }
                                 case 17: {
-                                        message.onPremisesConfiguration = $root.google.cloud.sql.v1.OnPremisesConfiguration.decode(reader, reader.uint32());
+                                        message.onPremisesConfiguration = $root.google.cloud.sql.v1.OnPremisesConfiguration.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 18: {
-                                        message.replicaConfiguration = $root.google.cloud.sql.v1.ReplicaConfiguration.decode(reader, reader.uint32());
+                                        message.replicaConfiguration = $root.google.cloud.sql.v1.ReplicaConfiguration.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 19: {
@@ -47388,11 +49363,11 @@
                                         break;
                                     }
                                 case 26: {
-                                        message.diskEncryptionConfiguration = $root.google.cloud.sql.v1.DiskEncryptionConfiguration.decode(reader, reader.uint32());
+                                        message.diskEncryptionConfiguration = $root.google.cloud.sql.v1.DiskEncryptionConfiguration.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 27: {
-                                        message.diskEncryptionStatus = $root.google.cloud.sql.v1.DiskEncryptionStatus.decode(reader, reader.uint32());
+                                        message.diskEncryptionStatus = $root.google.cloud.sql.v1.DiskEncryptionStatus.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 29: {
@@ -47400,11 +49375,11 @@
                                         break;
                                     }
                                 case 30: {
-                                        message.scheduledMaintenance = $root.google.cloud.sql.v1.DatabaseInstance.SqlScheduledMaintenance.decode(reader, reader.uint32());
+                                        message.scheduledMaintenance = $root.google.cloud.sql.v1.DatabaseInstance.SqlScheduledMaintenance.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 35: {
-                                        message.satisfiesPzs = $root.google.protobuf.BoolValue.decode(reader, reader.uint32());
+                                        message.satisfiesPzs = $root.google.protobuf.BoolValue.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 40: {
@@ -47412,11 +49387,11 @@
                                         break;
                                     }
                                 case 38: {
-                                        message.outOfDiskReport = $root.google.cloud.sql.v1.DatabaseInstance.SqlOutOfDiskReport.decode(reader, reader.uint32());
+                                        message.outOfDiskReport = $root.google.cloud.sql.v1.DatabaseInstance.SqlOutOfDiskReport.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 39: {
-                                        message.createTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+                                        message.createTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 41: {
@@ -47432,7 +49407,7 @@
                                 case 45: {
                                         if (!(message.upgradableDatabaseVersions && message.upgradableDatabaseVersions.length))
                                             message.upgradableDatabaseVersions = [];
-                                        message.upgradableDatabaseVersions.push($root.google.cloud.sql.v1.AvailableDatabaseVersion.decode(reader, reader.uint32()));
+                                        message.upgradableDatabaseVersions.push($root.google.cloud.sql.v1.AvailableDatabaseVersion.decode(reader, reader.uint32(), undefined, long + 1));
                                         break;
                                     }
                                 case 47: {
@@ -47456,23 +49431,23 @@
                                         break;
                                     }
                                 case 54: {
-                                        message.replicationCluster = $root.google.cloud.sql.v1.ReplicationCluster.decode(reader, reader.uint32());
+                                        message.replicationCluster = $root.google.cloud.sql.v1.ReplicationCluster.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 55: {
-                                        message.geminiConfig = $root.google.cloud.sql.v1.GeminiInstanceConfig.decode(reader, reader.uint32());
+                                        message.geminiConfig = $root.google.cloud.sql.v1.GeminiInstanceConfig.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 56: {
-                                        message.satisfiesPzi = $root.google.protobuf.BoolValue.decode(reader, reader.uint32());
+                                        message.satisfiesPzi = $root.google.protobuf.BoolValue.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 57: {
-                                        message.switchTransactionLogsToCloudStorageEnabled = $root.google.protobuf.BoolValue.decode(reader, reader.uint32());
+                                        message.switchTransactionLogsToCloudStorageEnabled = $root.google.protobuf.BoolValue.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 59: {
-                                        message.includeReplicasForMajorVersionUpgrade = $root.google.protobuf.BoolValue.decode(reader, reader.uint32());
+                                        message.includeReplicasForMajorVersionUpgrade = $root.google.protobuf.BoolValue.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 60: {
@@ -47491,10 +49466,12 @@
                                                 value = reader.string();
                                                 break;
                                             default:
-                                                reader.skipType(tag2 & 7);
+                                                reader.skipType(tag2 & 7, long);
                                                 break;
                                             }
                                         }
+                                        if (key === "__proto__")
+                                            $util.makeProp(message.tags, key);
                                         message.tags[key] = value;
                                         break;
                                     }
@@ -47505,17 +49482,17 @@
                                 case 64: {
                                         if (!(message.nodes && message.nodes.length))
                                             message.nodes = [];
-                                        message.nodes.push($root.google.cloud.sql.v1.DatabaseInstance.PoolNodeConfig.decode(reader, reader.uint32()));
+                                        message.nodes.push($root.google.cloud.sql.v1.DatabaseInstance.PoolNodeConfig.decode(reader, reader.uint32(), undefined, long + 1));
                                         break;
                                     }
                                 case 67: {
                                         if (!(message.dnsNames && message.dnsNames.length))
                                             message.dnsNames = [];
-                                        message.dnsNames.push($root.google.cloud.sql.v1.DnsNameMapping.decode(reader, reader.uint32()));
+                                        message.dnsNames.push($root.google.cloud.sql.v1.DnsNameMapping.decode(reader, reader.uint32(), undefined, long + 1));
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -47546,9 +49523,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        DatabaseInstance.verify = function verify(message) {
+                        DatabaseInstance.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             var properties = {};
                             if (message.kind != null && message.hasOwnProperty("kind"))
                                 if (!$util.isString(message.kind))
@@ -47615,6 +49596,7 @@
                                 case 272:
                                 case 408:
                                 case 557:
+                                case 684:
                                 case 26:
                                 case 27:
                                 case 28:
@@ -47623,10 +49605,13 @@
                                 case 200:
                                 case 201:
                                 case 202:
+                                case 549:
+                                case 550:
+                                case 551:
                                     break;
                                 }
                             if (message.settings != null && message.hasOwnProperty("settings")) {
-                                var error = $root.google.cloud.sql.v1.Settings.verify(message.settings);
+                                var error = $root.google.cloud.sql.v1.Settings.verify(message.settings, long + 1);
                                 if (error)
                                     return "settings." + error;
                             }
@@ -47634,7 +49619,7 @@
                                 if (!$util.isString(message.etag))
                                     return "etag: string expected";
                             if (message.failoverReplica != null && message.hasOwnProperty("failoverReplica")) {
-                                var error = $root.google.cloud.sql.v1.DatabaseInstance.SqlFailoverReplica.verify(message.failoverReplica);
+                                var error = $root.google.cloud.sql.v1.DatabaseInstance.SqlFailoverReplica.verify(message.failoverReplica, long + 1);
                                 if (error)
                                     return "failoverReplica." + error;
                             }
@@ -47649,12 +49634,12 @@
                                         return "replicaNames: string[] expected";
                             }
                             if (message.maxDiskSize != null && message.hasOwnProperty("maxDiskSize")) {
-                                var error = $root.google.protobuf.Int64Value.verify(message.maxDiskSize);
+                                var error = $root.google.protobuf.Int64Value.verify(message.maxDiskSize, long + 1);
                                 if (error)
                                     return "maxDiskSize." + error;
                             }
                             if (message.currentDiskSize != null && message.hasOwnProperty("currentDiskSize")) {
-                                var error = $root.google.protobuf.Int64Value.verify(message.currentDiskSize);
+                                var error = $root.google.protobuf.Int64Value.verify(message.currentDiskSize, long + 1);
                                 if (error)
                                     return "currentDiskSize." + error;
                             }
@@ -47662,13 +49647,13 @@
                                 if (!Array.isArray(message.ipAddresses))
                                     return "ipAddresses: array expected";
                                 for (var i = 0; i < message.ipAddresses.length; ++i) {
-                                    var error = $root.google.cloud.sql.v1.IpMapping.verify(message.ipAddresses[i]);
+                                    var error = $root.google.cloud.sql.v1.IpMapping.verify(message.ipAddresses[i], long + 1);
                                     if (error)
                                         return "ipAddresses." + error;
                                 }
                             }
                             if (message.serverCaCert != null && message.hasOwnProperty("serverCaCert")) {
-                                var error = $root.google.cloud.sql.v1.SslCert.verify(message.serverCaCert);
+                                var error = $root.google.cloud.sql.v1.SslCert.verify(message.serverCaCert, long + 1);
                                 if (error)
                                     return "serverCaCert." + error;
                             }
@@ -47693,12 +49678,12 @@
                                 if (!$util.isString(message.serviceAccountEmailAddress))
                                     return "serviceAccountEmailAddress: string expected";
                             if (message.onPremisesConfiguration != null && message.hasOwnProperty("onPremisesConfiguration")) {
-                                var error = $root.google.cloud.sql.v1.OnPremisesConfiguration.verify(message.onPremisesConfiguration);
+                                var error = $root.google.cloud.sql.v1.OnPremisesConfiguration.verify(message.onPremisesConfiguration, long + 1);
                                 if (error)
                                     return "onPremisesConfiguration." + error;
                             }
                             if (message.replicaConfiguration != null && message.hasOwnProperty("replicaConfiguration")) {
-                                var error = $root.google.cloud.sql.v1.ReplicaConfiguration.verify(message.replicaConfiguration);
+                                var error = $root.google.cloud.sql.v1.ReplicaConfiguration.verify(message.replicaConfiguration, long + 1);
                                 if (error)
                                     return "replicaConfiguration." + error;
                             }
@@ -47727,6 +49712,7 @@
                                     case 3:
                                     case 4:
                                     case 5:
+                                    case 8:
                                         break;
                                     }
                             }
@@ -47746,12 +49732,12 @@
                                 if (!$util.isString(message.secondaryGceZone))
                                     return "secondaryGceZone: string expected";
                             if (message.diskEncryptionConfiguration != null && message.hasOwnProperty("diskEncryptionConfiguration")) {
-                                var error = $root.google.cloud.sql.v1.DiskEncryptionConfiguration.verify(message.diskEncryptionConfiguration);
+                                var error = $root.google.cloud.sql.v1.DiskEncryptionConfiguration.verify(message.diskEncryptionConfiguration, long + 1);
                                 if (error)
                                     return "diskEncryptionConfiguration." + error;
                             }
                             if (message.diskEncryptionStatus != null && message.hasOwnProperty("diskEncryptionStatus")) {
-                                var error = $root.google.cloud.sql.v1.DiskEncryptionStatus.verify(message.diskEncryptionStatus);
+                                var error = $root.google.cloud.sql.v1.DiskEncryptionStatus.verify(message.diskEncryptionStatus, long + 1);
                                 if (error)
                                     return "diskEncryptionStatus." + error;
                             }
@@ -47759,12 +49745,12 @@
                                 if (!$util.isString(message.rootPassword))
                                     return "rootPassword: string expected";
                             if (message.scheduledMaintenance != null && message.hasOwnProperty("scheduledMaintenance")) {
-                                var error = $root.google.cloud.sql.v1.DatabaseInstance.SqlScheduledMaintenance.verify(message.scheduledMaintenance);
+                                var error = $root.google.cloud.sql.v1.DatabaseInstance.SqlScheduledMaintenance.verify(message.scheduledMaintenance, long + 1);
                                 if (error)
                                     return "scheduledMaintenance." + error;
                             }
                             if (message.satisfiesPzs != null && message.hasOwnProperty("satisfiesPzs")) {
-                                var error = $root.google.protobuf.BoolValue.verify(message.satisfiesPzs);
+                                var error = $root.google.protobuf.BoolValue.verify(message.satisfiesPzs, long + 1);
                                 if (error)
                                     return "satisfiesPzs." + error;
                             }
@@ -47774,13 +49760,13 @@
                             if (message.outOfDiskReport != null && message.hasOwnProperty("outOfDiskReport")) {
                                 properties._outOfDiskReport = 1;
                                 {
-                                    var error = $root.google.cloud.sql.v1.DatabaseInstance.SqlOutOfDiskReport.verify(message.outOfDiskReport);
+                                    var error = $root.google.cloud.sql.v1.DatabaseInstance.SqlOutOfDiskReport.verify(message.outOfDiskReport, long + 1);
                                     if (error)
                                         return "outOfDiskReport." + error;
                                 }
                             }
                             if (message.createTime != null && message.hasOwnProperty("createTime")) {
-                                var error = $root.google.protobuf.Timestamp.verify(message.createTime);
+                                var error = $root.google.protobuf.Timestamp.verify(message.createTime, long + 1);
                                 if (error)
                                     return "createTime." + error;
                             }
@@ -47798,7 +49784,7 @@
                                 if (!Array.isArray(message.upgradableDatabaseVersions))
                                     return "upgradableDatabaseVersions: array expected";
                                 for (var i = 0; i < message.upgradableDatabaseVersions.length; ++i) {
-                                    var error = $root.google.cloud.sql.v1.AvailableDatabaseVersion.verify(message.upgradableDatabaseVersions[i]);
+                                    var error = $root.google.cloud.sql.v1.AvailableDatabaseVersion.verify(message.upgradableDatabaseVersions[i], long + 1);
                                     if (error)
                                         return "upgradableDatabaseVersions." + error;
                                 }
@@ -47835,27 +49821,27 @@
                                     return "writeEndpoint: string expected";
                             }
                             if (message.replicationCluster != null && message.hasOwnProperty("replicationCluster")) {
-                                var error = $root.google.cloud.sql.v1.ReplicationCluster.verify(message.replicationCluster);
+                                var error = $root.google.cloud.sql.v1.ReplicationCluster.verify(message.replicationCluster, long + 1);
                                 if (error)
                                     return "replicationCluster." + error;
                             }
                             if (message.geminiConfig != null && message.hasOwnProperty("geminiConfig")) {
                                 properties._geminiConfig = 1;
                                 {
-                                    var error = $root.google.cloud.sql.v1.GeminiInstanceConfig.verify(message.geminiConfig);
+                                    var error = $root.google.cloud.sql.v1.GeminiInstanceConfig.verify(message.geminiConfig, long + 1);
                                     if (error)
                                         return "geminiConfig." + error;
                                 }
                             }
                             if (message.satisfiesPzi != null && message.hasOwnProperty("satisfiesPzi")) {
-                                var error = $root.google.protobuf.BoolValue.verify(message.satisfiesPzi);
+                                var error = $root.google.protobuf.BoolValue.verify(message.satisfiesPzi, long + 1);
                                 if (error)
                                     return "satisfiesPzi." + error;
                             }
                             if (message.switchTransactionLogsToCloudStorageEnabled != null && message.hasOwnProperty("switchTransactionLogsToCloudStorageEnabled")) {
                                 properties._switchTransactionLogsToCloudStorageEnabled = 1;
                                 {
-                                    var error = $root.google.protobuf.BoolValue.verify(message.switchTransactionLogsToCloudStorageEnabled);
+                                    var error = $root.google.protobuf.BoolValue.verify(message.switchTransactionLogsToCloudStorageEnabled, long + 1);
                                     if (error)
                                         return "switchTransactionLogsToCloudStorageEnabled." + error;
                                 }
@@ -47863,7 +49849,7 @@
                             if (message.includeReplicasForMajorVersionUpgrade != null && message.hasOwnProperty("includeReplicasForMajorVersionUpgrade")) {
                                 properties._includeReplicasForMajorVersionUpgrade = 1;
                                 {
-                                    var error = $root.google.protobuf.BoolValue.verify(message.includeReplicasForMajorVersionUpgrade);
+                                    var error = $root.google.protobuf.BoolValue.verify(message.includeReplicasForMajorVersionUpgrade, long + 1);
                                     if (error)
                                         return "includeReplicasForMajorVersionUpgrade." + error;
                                 }
@@ -47885,7 +49871,7 @@
                                 if (!Array.isArray(message.nodes))
                                     return "nodes: array expected";
                                 for (var i = 0; i < message.nodes.length; ++i) {
-                                    var error = $root.google.cloud.sql.v1.DatabaseInstance.PoolNodeConfig.verify(message.nodes[i]);
+                                    var error = $root.google.cloud.sql.v1.DatabaseInstance.PoolNodeConfig.verify(message.nodes[i], long + 1);
                                     if (error)
                                         return "nodes." + error;
                                 }
@@ -47894,7 +49880,7 @@
                                 if (!Array.isArray(message.dnsNames))
                                     return "dnsNames: array expected";
                                 for (var i = 0; i < message.dnsNames.length; ++i) {
-                                    var error = $root.google.cloud.sql.v1.DnsNameMapping.verify(message.dnsNames[i]);
+                                    var error = $root.google.cloud.sql.v1.DnsNameMapping.verify(message.dnsNames[i], long + 1);
                                     if (error)
                                         return "dnsNames." + error;
                                 }
@@ -47910,9 +49896,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.DatabaseInstance} DatabaseInstance
                          */
-                        DatabaseInstance.fromObject = function fromObject(object) {
+                        DatabaseInstance.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.DatabaseInstance)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.DatabaseInstance();
                             if (object.kind != null)
                                 message.kind = String(object.kind);
@@ -48139,6 +50129,10 @@
                             case 557:
                                 message.databaseVersion = 557;
                                 break;
+                            case "POSTGRES_19":
+                            case 684:
+                                message.databaseVersion = 684;
+                                break;
                             case "SQLSERVER_2019_STANDARD":
                             case 26:
                                 message.databaseVersion = 26;
@@ -48171,18 +50165,30 @@
                             case 202:
                                 message.databaseVersion = 202;
                                 break;
+                            case "SQLSERVER_2025_STANDARD":
+                            case 549:
+                                message.databaseVersion = 549;
+                                break;
+                            case "SQLSERVER_2025_ENTERPRISE":
+                            case 550:
+                                message.databaseVersion = 550;
+                                break;
+                            case "SQLSERVER_2025_EXPRESS":
+                            case 551:
+                                message.databaseVersion = 551;
+                                break;
                             }
                             if (object.settings != null) {
                                 if (typeof object.settings !== "object")
                                     throw TypeError(".google.cloud.sql.v1.DatabaseInstance.settings: object expected");
-                                message.settings = $root.google.cloud.sql.v1.Settings.fromObject(object.settings);
+                                message.settings = $root.google.cloud.sql.v1.Settings.fromObject(object.settings, long + 1);
                             }
                             if (object.etag != null)
                                 message.etag = String(object.etag);
                             if (object.failoverReplica != null) {
                                 if (typeof object.failoverReplica !== "object")
                                     throw TypeError(".google.cloud.sql.v1.DatabaseInstance.failoverReplica: object expected");
-                                message.failoverReplica = $root.google.cloud.sql.v1.DatabaseInstance.SqlFailoverReplica.fromObject(object.failoverReplica);
+                                message.failoverReplica = $root.google.cloud.sql.v1.DatabaseInstance.SqlFailoverReplica.fromObject(object.failoverReplica, long + 1);
                             }
                             if (object.masterInstanceName != null)
                                 message.masterInstanceName = String(object.masterInstanceName);
@@ -48196,12 +50202,12 @@
                             if (object.maxDiskSize != null) {
                                 if (typeof object.maxDiskSize !== "object")
                                     throw TypeError(".google.cloud.sql.v1.DatabaseInstance.maxDiskSize: object expected");
-                                message.maxDiskSize = $root.google.protobuf.Int64Value.fromObject(object.maxDiskSize);
+                                message.maxDiskSize = $root.google.protobuf.Int64Value.fromObject(object.maxDiskSize, long + 1);
                             }
                             if (object.currentDiskSize != null) {
                                 if (typeof object.currentDiskSize !== "object")
                                     throw TypeError(".google.cloud.sql.v1.DatabaseInstance.currentDiskSize: object expected");
-                                message.currentDiskSize = $root.google.protobuf.Int64Value.fromObject(object.currentDiskSize);
+                                message.currentDiskSize = $root.google.protobuf.Int64Value.fromObject(object.currentDiskSize, long + 1);
                             }
                             if (object.ipAddresses) {
                                 if (!Array.isArray(object.ipAddresses))
@@ -48210,13 +50216,13 @@
                                 for (var i = 0; i < object.ipAddresses.length; ++i) {
                                     if (typeof object.ipAddresses[i] !== "object")
                                         throw TypeError(".google.cloud.sql.v1.DatabaseInstance.ipAddresses: object expected");
-                                    message.ipAddresses[i] = $root.google.cloud.sql.v1.IpMapping.fromObject(object.ipAddresses[i]);
+                                    message.ipAddresses[i] = $root.google.cloud.sql.v1.IpMapping.fromObject(object.ipAddresses[i], long + 1);
                                 }
                             }
                             if (object.serverCaCert != null) {
                                 if (typeof object.serverCaCert !== "object")
                                     throw TypeError(".google.cloud.sql.v1.DatabaseInstance.serverCaCert: object expected");
-                                message.serverCaCert = $root.google.cloud.sql.v1.SslCert.fromObject(object.serverCaCert);
+                                message.serverCaCert = $root.google.cloud.sql.v1.SslCert.fromObject(object.serverCaCert, long + 1);
                             }
                             switch (object.instanceType) {
                             default:
@@ -48255,12 +50261,12 @@
                             if (object.onPremisesConfiguration != null) {
                                 if (typeof object.onPremisesConfiguration !== "object")
                                     throw TypeError(".google.cloud.sql.v1.DatabaseInstance.onPremisesConfiguration: object expected");
-                                message.onPremisesConfiguration = $root.google.cloud.sql.v1.OnPremisesConfiguration.fromObject(object.onPremisesConfiguration);
+                                message.onPremisesConfiguration = $root.google.cloud.sql.v1.OnPremisesConfiguration.fromObject(object.onPremisesConfiguration, long + 1);
                             }
                             if (object.replicaConfiguration != null) {
                                 if (typeof object.replicaConfiguration !== "object")
                                     throw TypeError(".google.cloud.sql.v1.DatabaseInstance.replicaConfiguration: object expected");
-                                message.replicaConfiguration = $root.google.cloud.sql.v1.ReplicaConfiguration.fromObject(object.replicaConfiguration);
+                                message.replicaConfiguration = $root.google.cloud.sql.v1.ReplicaConfiguration.fromObject(object.replicaConfiguration, long + 1);
                             }
                             switch (object.backendType) {
                             default:
@@ -48319,6 +50325,10 @@
                                     case 5:
                                         message.suspensionReason[i] = 5;
                                         break;
+                                    case "PROJECT_ABUSE":
+                                    case 8:
+                                        message.suspensionReason[i] = 8;
+                                        break;
                                     }
                             }
                             if (object.connectionName != null)
@@ -48334,36 +50344,36 @@
                             if (object.diskEncryptionConfiguration != null) {
                                 if (typeof object.diskEncryptionConfiguration !== "object")
                                     throw TypeError(".google.cloud.sql.v1.DatabaseInstance.diskEncryptionConfiguration: object expected");
-                                message.diskEncryptionConfiguration = $root.google.cloud.sql.v1.DiskEncryptionConfiguration.fromObject(object.diskEncryptionConfiguration);
+                                message.diskEncryptionConfiguration = $root.google.cloud.sql.v1.DiskEncryptionConfiguration.fromObject(object.diskEncryptionConfiguration, long + 1);
                             }
                             if (object.diskEncryptionStatus != null) {
                                 if (typeof object.diskEncryptionStatus !== "object")
                                     throw TypeError(".google.cloud.sql.v1.DatabaseInstance.diskEncryptionStatus: object expected");
-                                message.diskEncryptionStatus = $root.google.cloud.sql.v1.DiskEncryptionStatus.fromObject(object.diskEncryptionStatus);
+                                message.diskEncryptionStatus = $root.google.cloud.sql.v1.DiskEncryptionStatus.fromObject(object.diskEncryptionStatus, long + 1);
                             }
                             if (object.rootPassword != null)
                                 message.rootPassword = String(object.rootPassword);
                             if (object.scheduledMaintenance != null) {
                                 if (typeof object.scheduledMaintenance !== "object")
                                     throw TypeError(".google.cloud.sql.v1.DatabaseInstance.scheduledMaintenance: object expected");
-                                message.scheduledMaintenance = $root.google.cloud.sql.v1.DatabaseInstance.SqlScheduledMaintenance.fromObject(object.scheduledMaintenance);
+                                message.scheduledMaintenance = $root.google.cloud.sql.v1.DatabaseInstance.SqlScheduledMaintenance.fromObject(object.scheduledMaintenance, long + 1);
                             }
                             if (object.satisfiesPzs != null) {
                                 if (typeof object.satisfiesPzs !== "object")
                                     throw TypeError(".google.cloud.sql.v1.DatabaseInstance.satisfiesPzs: object expected");
-                                message.satisfiesPzs = $root.google.protobuf.BoolValue.fromObject(object.satisfiesPzs);
+                                message.satisfiesPzs = $root.google.protobuf.BoolValue.fromObject(object.satisfiesPzs, long + 1);
                             }
                             if (object.databaseInstalledVersion != null)
                                 message.databaseInstalledVersion = String(object.databaseInstalledVersion);
                             if (object.outOfDiskReport != null) {
                                 if (typeof object.outOfDiskReport !== "object")
                                     throw TypeError(".google.cloud.sql.v1.DatabaseInstance.outOfDiskReport: object expected");
-                                message.outOfDiskReport = $root.google.cloud.sql.v1.DatabaseInstance.SqlOutOfDiskReport.fromObject(object.outOfDiskReport);
+                                message.outOfDiskReport = $root.google.cloud.sql.v1.DatabaseInstance.SqlOutOfDiskReport.fromObject(object.outOfDiskReport, long + 1);
                             }
                             if (object.createTime != null) {
                                 if (typeof object.createTime !== "object")
                                     throw TypeError(".google.cloud.sql.v1.DatabaseInstance.createTime: object expected");
-                                message.createTime = $root.google.protobuf.Timestamp.fromObject(object.createTime);
+                                message.createTime = $root.google.protobuf.Timestamp.fromObject(object.createTime, long + 1);
                             }
                             if (object.availableMaintenanceVersions) {
                                 if (!Array.isArray(object.availableMaintenanceVersions))
@@ -48381,7 +50391,7 @@
                                 for (var i = 0; i < object.upgradableDatabaseVersions.length; ++i) {
                                     if (typeof object.upgradableDatabaseVersions[i] !== "object")
                                         throw TypeError(".google.cloud.sql.v1.DatabaseInstance.upgradableDatabaseVersions: object expected");
-                                    message.upgradableDatabaseVersions[i] = $root.google.cloud.sql.v1.AvailableDatabaseVersion.fromObject(object.upgradableDatabaseVersions[i]);
+                                    message.upgradableDatabaseVersions[i] = $root.google.cloud.sql.v1.AvailableDatabaseVersion.fromObject(object.upgradableDatabaseVersions[i], long + 1);
                                 }
                             }
                             switch (object.sqlNetworkArchitecture) {
@@ -48415,34 +50425,37 @@
                             if (object.replicationCluster != null) {
                                 if (typeof object.replicationCluster !== "object")
                                     throw TypeError(".google.cloud.sql.v1.DatabaseInstance.replicationCluster: object expected");
-                                message.replicationCluster = $root.google.cloud.sql.v1.ReplicationCluster.fromObject(object.replicationCluster);
+                                message.replicationCluster = $root.google.cloud.sql.v1.ReplicationCluster.fromObject(object.replicationCluster, long + 1);
                             }
                             if (object.geminiConfig != null) {
                                 if (typeof object.geminiConfig !== "object")
                                     throw TypeError(".google.cloud.sql.v1.DatabaseInstance.geminiConfig: object expected");
-                                message.geminiConfig = $root.google.cloud.sql.v1.GeminiInstanceConfig.fromObject(object.geminiConfig);
+                                message.geminiConfig = $root.google.cloud.sql.v1.GeminiInstanceConfig.fromObject(object.geminiConfig, long + 1);
                             }
                             if (object.satisfiesPzi != null) {
                                 if (typeof object.satisfiesPzi !== "object")
                                     throw TypeError(".google.cloud.sql.v1.DatabaseInstance.satisfiesPzi: object expected");
-                                message.satisfiesPzi = $root.google.protobuf.BoolValue.fromObject(object.satisfiesPzi);
+                                message.satisfiesPzi = $root.google.protobuf.BoolValue.fromObject(object.satisfiesPzi, long + 1);
                             }
                             if (object.switchTransactionLogsToCloudStorageEnabled != null) {
                                 if (typeof object.switchTransactionLogsToCloudStorageEnabled !== "object")
                                     throw TypeError(".google.cloud.sql.v1.DatabaseInstance.switchTransactionLogsToCloudStorageEnabled: object expected");
-                                message.switchTransactionLogsToCloudStorageEnabled = $root.google.protobuf.BoolValue.fromObject(object.switchTransactionLogsToCloudStorageEnabled);
+                                message.switchTransactionLogsToCloudStorageEnabled = $root.google.protobuf.BoolValue.fromObject(object.switchTransactionLogsToCloudStorageEnabled, long + 1);
                             }
                             if (object.includeReplicasForMajorVersionUpgrade != null) {
                                 if (typeof object.includeReplicasForMajorVersionUpgrade !== "object")
                                     throw TypeError(".google.cloud.sql.v1.DatabaseInstance.includeReplicasForMajorVersionUpgrade: object expected");
-                                message.includeReplicasForMajorVersionUpgrade = $root.google.protobuf.BoolValue.fromObject(object.includeReplicasForMajorVersionUpgrade);
+                                message.includeReplicasForMajorVersionUpgrade = $root.google.protobuf.BoolValue.fromObject(object.includeReplicasForMajorVersionUpgrade, long + 1);
                             }
                             if (object.tags) {
                                 if (typeof object.tags !== "object")
                                     throw TypeError(".google.cloud.sql.v1.DatabaseInstance.tags: object expected");
                                 message.tags = {};
-                                for (var keys = Object.keys(object.tags), i = 0; i < keys.length; ++i)
+                                for (var keys = Object.keys(object.tags), i = 0; i < keys.length; ++i) {
+                                    if (keys[i] === "__proto__")
+                                        $util.makeProp(message.tags, keys[i]);
                                     message.tags[keys[i]] = String(object.tags[keys[i]]);
+                                }
                             }
                             if (object.nodeCount != null)
                                 message.nodeCount = object.nodeCount | 0;
@@ -48453,7 +50466,7 @@
                                 for (var i = 0; i < object.nodes.length; ++i) {
                                     if (typeof object.nodes[i] !== "object")
                                         throw TypeError(".google.cloud.sql.v1.DatabaseInstance.nodes: object expected");
-                                    message.nodes[i] = $root.google.cloud.sql.v1.DatabaseInstance.PoolNodeConfig.fromObject(object.nodes[i]);
+                                    message.nodes[i] = $root.google.cloud.sql.v1.DatabaseInstance.PoolNodeConfig.fromObject(object.nodes[i], long + 1);
                                 }
                             }
                             if (object.dnsNames) {
@@ -48463,7 +50476,7 @@
                                 for (var i = 0; i < object.dnsNames.length; ++i) {
                                     if (typeof object.dnsNames[i] !== "object")
                                         throw TypeError(".google.cloud.sql.v1.DatabaseInstance.dnsNames: object expected");
-                                    message.dnsNames[i] = $root.google.cloud.sql.v1.DnsNameMapping.fromObject(object.dnsNames[i]);
+                                    message.dnsNames[i] = $root.google.cloud.sql.v1.DnsNameMapping.fromObject(object.dnsNames[i], long + 1);
                                 }
                             }
                             return message;
@@ -48667,8 +50680,11 @@
                             var keys2;
                             if (message.tags && (keys2 = Object.keys(message.tags)).length) {
                                 object.tags = {};
-                                for (var j = 0; j < keys2.length; ++j)
+                                for (var j = 0; j < keys2.length; ++j) {
+                                    if (keys2[j] === "__proto__")
+                                        $util.makeProp(object.tags, keys2[j]);
                                     object.tags[keys2[j]] = message.tags[keys2[j]];
+                                }
                             }
                             if (message.nodeCount != null && message.hasOwnProperty("nodeCount")) {
                                 object.nodeCount = message.nodeCount;
@@ -48763,7 +50779,7 @@
                             function SqlFailoverReplica(properties) {
                                 if (properties)
                                     for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                        if (properties[keys[i]] != null)
+                                        if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                             this[keys[i]] = properties[keys[i]];
                             }
     
@@ -48838,9 +50854,13 @@
                              * @throws {Error} If the payload is not a reader or valid buffer
                              * @throws {$protobuf.util.ProtocolError} If required fields are missing
                              */
-                            SqlFailoverReplica.decode = function decode(reader, length, error) {
+                            SqlFailoverReplica.decode = function decode(reader, length, error, long) {
                                 if (!(reader instanceof $Reader))
                                     reader = $Reader.create(reader);
+                                if (long === undefined)
+                                    long = 0;
+                                if (long > $Reader.recursionLimit)
+                                    throw Error("maximum nesting depth exceeded");
                                 var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.DatabaseInstance.SqlFailoverReplica();
                                 while (reader.pos < end) {
                                     var tag = reader.uint32();
@@ -48852,11 +50872,11 @@
                                             break;
                                         }
                                     case 2: {
-                                            message.available = $root.google.protobuf.BoolValue.decode(reader, reader.uint32());
+                                            message.available = $root.google.protobuf.BoolValue.decode(reader, reader.uint32(), undefined, long + 1);
                                             break;
                                         }
                                     default:
-                                        reader.skipType(tag & 7);
+                                        reader.skipType(tag & 7, long);
                                         break;
                                     }
                                 }
@@ -48887,14 +50907,18 @@
                              * @param {Object.<string,*>} message Plain object to verify
                              * @returns {string|null} `null` if valid, otherwise the reason why it is not
                              */
-                            SqlFailoverReplica.verify = function verify(message) {
+                            SqlFailoverReplica.verify = function verify(message, long) {
                                 if (typeof message !== "object" || message === null)
                                     return "object expected";
+                                if (long === undefined)
+                                    long = 0;
+                                if (long > $util.recursionLimit)
+                                    return "maximum nesting depth exceeded";
                                 if (message.name != null && message.hasOwnProperty("name"))
                                     if (!$util.isString(message.name))
                                         return "name: string expected";
                                 if (message.available != null && message.hasOwnProperty("available")) {
-                                    var error = $root.google.protobuf.BoolValue.verify(message.available);
+                                    var error = $root.google.protobuf.BoolValue.verify(message.available, long + 1);
                                     if (error)
                                         return "available." + error;
                                 }
@@ -48909,16 +50933,20 @@
                              * @param {Object.<string,*>} object Plain object
                              * @returns {google.cloud.sql.v1.DatabaseInstance.SqlFailoverReplica} SqlFailoverReplica
                              */
-                            SqlFailoverReplica.fromObject = function fromObject(object) {
+                            SqlFailoverReplica.fromObject = function fromObject(object, long) {
                                 if (object instanceof $root.google.cloud.sql.v1.DatabaseInstance.SqlFailoverReplica)
                                     return object;
+                                if (long === undefined)
+                                    long = 0;
+                                if (long > $util.recursionLimit)
+                                    throw Error("maximum nesting depth exceeded");
                                 var message = new $root.google.cloud.sql.v1.DatabaseInstance.SqlFailoverReplica();
                                 if (object.name != null)
                                     message.name = String(object.name);
                                 if (object.available != null) {
                                     if (typeof object.available !== "object")
                                         throw TypeError(".google.cloud.sql.v1.DatabaseInstance.SqlFailoverReplica.available: object expected");
-                                    message.available = $root.google.protobuf.BoolValue.fromObject(object.available);
+                                    message.available = $root.google.protobuf.BoolValue.fromObject(object.available, long + 1);
                                 }
                                 return message;
                             };
@@ -48999,7 +51027,7 @@
                             function SqlScheduledMaintenance(properties) {
                                 if (properties)
                                     for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                        if (properties[keys[i]] != null)
+                                        if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                             this[keys[i]] = properties[keys[i]];
                             }
     
@@ -49103,9 +51131,13 @@
                              * @throws {Error} If the payload is not a reader or valid buffer
                              * @throws {$protobuf.util.ProtocolError} If required fields are missing
                              */
-                            SqlScheduledMaintenance.decode = function decode(reader, length, error) {
+                            SqlScheduledMaintenance.decode = function decode(reader, length, error, long) {
                                 if (!(reader instanceof $Reader))
                                     reader = $Reader.create(reader);
+                                if (long === undefined)
+                                    long = 0;
+                                if (long > $Reader.recursionLimit)
+                                    throw Error("maximum nesting depth exceeded");
                                 var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.DatabaseInstance.SqlScheduledMaintenance();
                                 while (reader.pos < end) {
                                     var tag = reader.uint32();
@@ -49113,7 +51145,7 @@
                                         break;
                                     switch (tag >>> 3) {
                                     case 1: {
-                                            message.startTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+                                            message.startTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1);
                                             break;
                                         }
                                     case 2: {
@@ -49125,11 +51157,11 @@
                                             break;
                                         }
                                     case 4: {
-                                            message.scheduleDeadlineTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+                                            message.scheduleDeadlineTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1);
                                             break;
                                         }
                                     default:
-                                        reader.skipType(tag & 7);
+                                        reader.skipType(tag & 7, long);
                                         break;
                                     }
                                 }
@@ -49160,12 +51192,16 @@
                              * @param {Object.<string,*>} message Plain object to verify
                              * @returns {string|null} `null` if valid, otherwise the reason why it is not
                              */
-                            SqlScheduledMaintenance.verify = function verify(message) {
+                            SqlScheduledMaintenance.verify = function verify(message, long) {
                                 if (typeof message !== "object" || message === null)
                                     return "object expected";
+                                if (long === undefined)
+                                    long = 0;
+                                if (long > $util.recursionLimit)
+                                    return "maximum nesting depth exceeded";
                                 var properties = {};
                                 if (message.startTime != null && message.hasOwnProperty("startTime")) {
-                                    var error = $root.google.protobuf.Timestamp.verify(message.startTime);
+                                    var error = $root.google.protobuf.Timestamp.verify(message.startTime, long + 1);
                                     if (error)
                                         return "startTime." + error;
                                 }
@@ -49178,7 +51214,7 @@
                                 if (message.scheduleDeadlineTime != null && message.hasOwnProperty("scheduleDeadlineTime")) {
                                     properties._scheduleDeadlineTime = 1;
                                     {
-                                        var error = $root.google.protobuf.Timestamp.verify(message.scheduleDeadlineTime);
+                                        var error = $root.google.protobuf.Timestamp.verify(message.scheduleDeadlineTime, long + 1);
                                         if (error)
                                             return "scheduleDeadlineTime." + error;
                                     }
@@ -49194,14 +51230,18 @@
                              * @param {Object.<string,*>} object Plain object
                              * @returns {google.cloud.sql.v1.DatabaseInstance.SqlScheduledMaintenance} SqlScheduledMaintenance
                              */
-                            SqlScheduledMaintenance.fromObject = function fromObject(object) {
+                            SqlScheduledMaintenance.fromObject = function fromObject(object, long) {
                                 if (object instanceof $root.google.cloud.sql.v1.DatabaseInstance.SqlScheduledMaintenance)
                                     return object;
+                                if (long === undefined)
+                                    long = 0;
+                                if (long > $util.recursionLimit)
+                                    throw Error("maximum nesting depth exceeded");
                                 var message = new $root.google.cloud.sql.v1.DatabaseInstance.SqlScheduledMaintenance();
                                 if (object.startTime != null) {
                                     if (typeof object.startTime !== "object")
                                         throw TypeError(".google.cloud.sql.v1.DatabaseInstance.SqlScheduledMaintenance.startTime: object expected");
-                                    message.startTime = $root.google.protobuf.Timestamp.fromObject(object.startTime);
+                                    message.startTime = $root.google.protobuf.Timestamp.fromObject(object.startTime, long + 1);
                                 }
                                 if (object.canDefer != null)
                                     message.canDefer = Boolean(object.canDefer);
@@ -49210,7 +51250,7 @@
                                 if (object.scheduleDeadlineTime != null) {
                                     if (typeof object.scheduleDeadlineTime !== "object")
                                         throw TypeError(".google.cloud.sql.v1.DatabaseInstance.SqlScheduledMaintenance.scheduleDeadlineTime: object expected");
-                                    message.scheduleDeadlineTime = $root.google.protobuf.Timestamp.fromObject(object.scheduleDeadlineTime);
+                                    message.scheduleDeadlineTime = $root.google.protobuf.Timestamp.fromObject(object.scheduleDeadlineTime, long + 1);
                                 }
                                 return message;
                             };
@@ -49297,7 +51337,7 @@
                             function SqlOutOfDiskReport(properties) {
                                 if (properties)
                                     for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                        if (properties[keys[i]] != null)
+                                        if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                             this[keys[i]] = properties[keys[i]];
                             }
     
@@ -49387,9 +51427,13 @@
                              * @throws {Error} If the payload is not a reader or valid buffer
                              * @throws {$protobuf.util.ProtocolError} If required fields are missing
                              */
-                            SqlOutOfDiskReport.decode = function decode(reader, length, error) {
+                            SqlOutOfDiskReport.decode = function decode(reader, length, error, long) {
                                 if (!(reader instanceof $Reader))
                                     reader = $Reader.create(reader);
+                                if (long === undefined)
+                                    long = 0;
+                                if (long > $Reader.recursionLimit)
+                                    throw Error("maximum nesting depth exceeded");
                                 var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.DatabaseInstance.SqlOutOfDiskReport();
                                 while (reader.pos < end) {
                                     var tag = reader.uint32();
@@ -49405,7 +51449,7 @@
                                             break;
                                         }
                                     default:
-                                        reader.skipType(tag & 7);
+                                        reader.skipType(tag & 7, long);
                                         break;
                                     }
                                 }
@@ -49436,9 +51480,13 @@
                              * @param {Object.<string,*>} message Plain object to verify
                              * @returns {string|null} `null` if valid, otherwise the reason why it is not
                              */
-                            SqlOutOfDiskReport.verify = function verify(message) {
+                            SqlOutOfDiskReport.verify = function verify(message, long) {
                                 if (typeof message !== "object" || message === null)
                                     return "object expected";
+                                if (long === undefined)
+                                    long = 0;
+                                if (long > $util.recursionLimit)
+                                    return "maximum nesting depth exceeded";
                                 var properties = {};
                                 if (message.sqlOutOfDiskState != null && message.hasOwnProperty("sqlOutOfDiskState")) {
                                     properties._sqlOutOfDiskState = 1;
@@ -49467,9 +51515,13 @@
                              * @param {Object.<string,*>} object Plain object
                              * @returns {google.cloud.sql.v1.DatabaseInstance.SqlOutOfDiskReport} SqlOutOfDiskReport
                              */
-                            SqlOutOfDiskReport.fromObject = function fromObject(object) {
+                            SqlOutOfDiskReport.fromObject = function fromObject(object, long) {
                                 if (object instanceof $root.google.cloud.sql.v1.DatabaseInstance.SqlOutOfDiskReport)
                                     return object;
+                                if (long === undefined)
+                                    long = 0;
+                                if (long > $util.recursionLimit)
+                                    throw Error("maximum nesting depth exceeded");
                                 var message = new $root.google.cloud.sql.v1.DatabaseInstance.SqlOutOfDiskReport();
                                 switch (object.sqlOutOfDiskState) {
                                 default:
@@ -49613,7 +51665,7 @@
                                 this.pscAutoConnections = [];
                                 if (properties)
                                     for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                        if (properties[keys[i]] != null)
+                                        if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                             this[keys[i]] = properties[keys[i]];
                             }
     
@@ -49784,9 +51836,13 @@
                              * @throws {Error} If the payload is not a reader or valid buffer
                              * @throws {$protobuf.util.ProtocolError} If required fields are missing
                              */
-                            PoolNodeConfig.decode = function decode(reader, length, error) {
+                            PoolNodeConfig.decode = function decode(reader, length, error, long) {
                                 if (!(reader instanceof $Reader))
                                     reader = $Reader.create(reader);
+                                if (long === undefined)
+                                    long = 0;
+                                if (long > $Reader.recursionLimit)
+                                    throw Error("maximum nesting depth exceeded");
                                 var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.DatabaseInstance.PoolNodeConfig();
                                 while (reader.pos < end) {
                                     var tag = reader.uint32();
@@ -49804,7 +51860,7 @@
                                     case 3: {
                                             if (!(message.ipAddresses && message.ipAddresses.length))
                                                 message.ipAddresses = [];
-                                            message.ipAddresses.push($root.google.cloud.sql.v1.IpMapping.decode(reader, reader.uint32()));
+                                            message.ipAddresses.push($root.google.cloud.sql.v1.IpMapping.decode(reader, reader.uint32(), undefined, long + 1));
                                             break;
                                         }
                                     case 4: {
@@ -49818,7 +51874,7 @@
                                     case 6: {
                                             if (!(message.dnsNames && message.dnsNames.length))
                                                 message.dnsNames = [];
-                                            message.dnsNames.push($root.google.cloud.sql.v1.DnsNameMapping.decode(reader, reader.uint32()));
+                                            message.dnsNames.push($root.google.cloud.sql.v1.DnsNameMapping.decode(reader, reader.uint32(), undefined, long + 1));
                                             break;
                                         }
                                     case 7: {
@@ -49828,11 +51884,11 @@
                                     case 8: {
                                             if (!(message.pscAutoConnections && message.pscAutoConnections.length))
                                                 message.pscAutoConnections = [];
-                                            message.pscAutoConnections.push($root.google.cloud.sql.v1.PscAutoConnectionConfig.decode(reader, reader.uint32()));
+                                            message.pscAutoConnections.push($root.google.cloud.sql.v1.PscAutoConnectionConfig.decode(reader, reader.uint32(), undefined, long + 1));
                                             break;
                                         }
                                     default:
-                                        reader.skipType(tag & 7);
+                                        reader.skipType(tag & 7, long);
                                         break;
                                     }
                                 }
@@ -49863,9 +51919,13 @@
                              * @param {Object.<string,*>} message Plain object to verify
                              * @returns {string|null} `null` if valid, otherwise the reason why it is not
                              */
-                            PoolNodeConfig.verify = function verify(message) {
+                            PoolNodeConfig.verify = function verify(message, long) {
                                 if (typeof message !== "object" || message === null)
                                     return "object expected";
+                                if (long === undefined)
+                                    long = 0;
+                                if (long > $util.recursionLimit)
+                                    return "maximum nesting depth exceeded";
                                 var properties = {};
                                 if (message.name != null && message.hasOwnProperty("name")) {
                                     properties._name = 1;
@@ -49881,7 +51941,7 @@
                                     if (!Array.isArray(message.ipAddresses))
                                         return "ipAddresses: array expected";
                                     for (var i = 0; i < message.ipAddresses.length; ++i) {
-                                        var error = $root.google.cloud.sql.v1.IpMapping.verify(message.ipAddresses[i]);
+                                        var error = $root.google.cloud.sql.v1.IpMapping.verify(message.ipAddresses[i], long + 1);
                                         if (error)
                                             return "ipAddresses." + error;
                                     }
@@ -49912,7 +51972,7 @@
                                     if (!Array.isArray(message.dnsNames))
                                         return "dnsNames: array expected";
                                     for (var i = 0; i < message.dnsNames.length; ++i) {
-                                        var error = $root.google.cloud.sql.v1.DnsNameMapping.verify(message.dnsNames[i]);
+                                        var error = $root.google.cloud.sql.v1.DnsNameMapping.verify(message.dnsNames[i], long + 1);
                                         if (error)
                                             return "dnsNames." + error;
                                     }
@@ -49926,7 +51986,7 @@
                                     if (!Array.isArray(message.pscAutoConnections))
                                         return "pscAutoConnections: array expected";
                                     for (var i = 0; i < message.pscAutoConnections.length; ++i) {
-                                        var error = $root.google.cloud.sql.v1.PscAutoConnectionConfig.verify(message.pscAutoConnections[i]);
+                                        var error = $root.google.cloud.sql.v1.PscAutoConnectionConfig.verify(message.pscAutoConnections[i], long + 1);
                                         if (error)
                                             return "pscAutoConnections." + error;
                                     }
@@ -49942,9 +52002,13 @@
                              * @param {Object.<string,*>} object Plain object
                              * @returns {google.cloud.sql.v1.DatabaseInstance.PoolNodeConfig} PoolNodeConfig
                              */
-                            PoolNodeConfig.fromObject = function fromObject(object) {
+                            PoolNodeConfig.fromObject = function fromObject(object, long) {
                                 if (object instanceof $root.google.cloud.sql.v1.DatabaseInstance.PoolNodeConfig)
                                     return object;
+                                if (long === undefined)
+                                    long = 0;
+                                if (long > $util.recursionLimit)
+                                    throw Error("maximum nesting depth exceeded");
                                 var message = new $root.google.cloud.sql.v1.DatabaseInstance.PoolNodeConfig();
                                 if (object.name != null)
                                     message.name = String(object.name);
@@ -49957,7 +52021,7 @@
                                     for (var i = 0; i < object.ipAddresses.length; ++i) {
                                         if (typeof object.ipAddresses[i] !== "object")
                                             throw TypeError(".google.cloud.sql.v1.DatabaseInstance.PoolNodeConfig.ipAddresses: object expected");
-                                        message.ipAddresses[i] = $root.google.cloud.sql.v1.IpMapping.fromObject(object.ipAddresses[i]);
+                                        message.ipAddresses[i] = $root.google.cloud.sql.v1.IpMapping.fromObject(object.ipAddresses[i], long + 1);
                                     }
                                 }
                                 if (object.dnsName != null)
@@ -50013,7 +52077,7 @@
                                     for (var i = 0; i < object.dnsNames.length; ++i) {
                                         if (typeof object.dnsNames[i] !== "object")
                                             throw TypeError(".google.cloud.sql.v1.DatabaseInstance.PoolNodeConfig.dnsNames: object expected");
-                                        message.dnsNames[i] = $root.google.cloud.sql.v1.DnsNameMapping.fromObject(object.dnsNames[i]);
+                                        message.dnsNames[i] = $root.google.cloud.sql.v1.DnsNameMapping.fromObject(object.dnsNames[i], long + 1);
                                     }
                                 }
                                 if (object.pscServiceAttachmentLink != null)
@@ -50025,7 +52089,7 @@
                                     for (var i = 0; i < object.pscAutoConnections.length; ++i) {
                                         if (typeof object.pscAutoConnections[i] !== "object")
                                             throw TypeError(".google.cloud.sql.v1.DatabaseInstance.PoolNodeConfig.pscAutoConnections: object expected");
-                                        message.pscAutoConnections[i] = $root.google.cloud.sql.v1.PscAutoConnectionConfig.fromObject(object.pscAutoConnections[i]);
+                                        message.pscAutoConnections[i] = $root.google.cloud.sql.v1.PscAutoConnectionConfig.fromObject(object.pscAutoConnections[i], long + 1);
                                     }
                                 }
                                 return message;
@@ -50149,7 +52213,7 @@
                         function GeminiInstanceConfig(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -50303,9 +52367,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        GeminiInstanceConfig.decode = function decode(reader, length, error) {
+                        GeminiInstanceConfig.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.GeminiInstanceConfig();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -50337,7 +52405,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -50368,9 +52436,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        GeminiInstanceConfig.verify = function verify(message) {
+                        GeminiInstanceConfig.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             var properties = {};
                             if (message.entitled != null && message.hasOwnProperty("entitled")) {
                                 properties._entitled = 1;
@@ -50413,9 +52485,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.GeminiInstanceConfig} GeminiInstanceConfig
                          */
-                        GeminiInstanceConfig.fromObject = function fromObject(object) {
+                        GeminiInstanceConfig.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.GeminiInstanceConfig)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.GeminiInstanceConfig();
                             if (object.entitled != null)
                                 message.entitled = Boolean(object.entitled);
@@ -50529,7 +52605,7 @@
                         function ReplicationCluster(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -50614,9 +52690,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        ReplicationCluster.decode = function decode(reader, length, error) {
+                        ReplicationCluster.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.ReplicationCluster();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -50636,7 +52716,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -50667,9 +52747,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        ReplicationCluster.verify = function verify(message) {
+                        ReplicationCluster.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.psaWriteEndpoint != null && message.hasOwnProperty("psaWriteEndpoint"))
                                 if (!$util.isString(message.psaWriteEndpoint))
                                     return "psaWriteEndpoint: string expected";
@@ -50690,9 +52774,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.ReplicationCluster} ReplicationCluster
                          */
-                        ReplicationCluster.fromObject = function fromObject(object) {
+                        ReplicationCluster.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.ReplicationCluster)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.ReplicationCluster();
                             if (object.psaWriteEndpoint != null)
                                 message.psaWriteEndpoint = String(object.psaWriteEndpoint);
@@ -50781,7 +52869,7 @@
                         function AvailableDatabaseVersion(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -50887,9 +52975,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        AvailableDatabaseVersion.decode = function decode(reader, length, error) {
+                        AvailableDatabaseVersion.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.AvailableDatabaseVersion();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -50909,7 +53001,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -50940,9 +53032,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        AvailableDatabaseVersion.verify = function verify(message) {
+                        AvailableDatabaseVersion.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             var properties = {};
                             if (message.majorVersion != null && message.hasOwnProperty("majorVersion")) {
                                 properties._majorVersion = 1;
@@ -50970,9 +53066,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.AvailableDatabaseVersion} AvailableDatabaseVersion
                          */
-                        AvailableDatabaseVersion.fromObject = function fromObject(object) {
+                        AvailableDatabaseVersion.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.AvailableDatabaseVersion)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.AvailableDatabaseVersion();
                             if (object.majorVersion != null)
                                 message.majorVersion = String(object.majorVersion);
@@ -51063,7 +53163,7 @@
                         function SqlInstancesRescheduleMaintenanceRequestBody(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -51128,9 +53228,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlInstancesRescheduleMaintenanceRequestBody.decode = function decode(reader, length, error) {
+                        SqlInstancesRescheduleMaintenanceRequestBody.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.SqlInstancesRescheduleMaintenanceRequestBody();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -51138,11 +53242,11 @@
                                     break;
                                 switch (tag >>> 3) {
                                 case 3: {
-                                        message.reschedule = $root.google.cloud.sql.v1.SqlInstancesRescheduleMaintenanceRequestBody.Reschedule.decode(reader, reader.uint32());
+                                        message.reschedule = $root.google.cloud.sql.v1.SqlInstancesRescheduleMaintenanceRequestBody.Reschedule.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -51173,11 +53277,15 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlInstancesRescheduleMaintenanceRequestBody.verify = function verify(message) {
+                        SqlInstancesRescheduleMaintenanceRequestBody.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.reschedule != null && message.hasOwnProperty("reschedule")) {
-                                var error = $root.google.cloud.sql.v1.SqlInstancesRescheduleMaintenanceRequestBody.Reschedule.verify(message.reschedule);
+                                var error = $root.google.cloud.sql.v1.SqlInstancesRescheduleMaintenanceRequestBody.Reschedule.verify(message.reschedule, long + 1);
                                 if (error)
                                     return "reschedule." + error;
                             }
@@ -51192,14 +53300,18 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.SqlInstancesRescheduleMaintenanceRequestBody} SqlInstancesRescheduleMaintenanceRequestBody
                          */
-                        SqlInstancesRescheduleMaintenanceRequestBody.fromObject = function fromObject(object) {
+                        SqlInstancesRescheduleMaintenanceRequestBody.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.SqlInstancesRescheduleMaintenanceRequestBody)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.SqlInstancesRescheduleMaintenanceRequestBody();
                             if (object.reschedule != null) {
                                 if (typeof object.reschedule !== "object")
                                     throw TypeError(".google.cloud.sql.v1.SqlInstancesRescheduleMaintenanceRequestBody.reschedule: object expected");
-                                message.reschedule = $root.google.cloud.sql.v1.SqlInstancesRescheduleMaintenanceRequestBody.Reschedule.fromObject(object.reschedule);
+                                message.reschedule = $root.google.cloud.sql.v1.SqlInstancesRescheduleMaintenanceRequestBody.Reschedule.fromObject(object.reschedule, long + 1);
                             }
                             return message;
                         };
@@ -51289,7 +53401,7 @@
                             function Reschedule(properties) {
                                 if (properties)
                                     for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                        if (properties[keys[i]] != null)
+                                        if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                             this[keys[i]] = properties[keys[i]];
                             }
     
@@ -51364,9 +53476,13 @@
                              * @throws {Error} If the payload is not a reader or valid buffer
                              * @throws {$protobuf.util.ProtocolError} If required fields are missing
                              */
-                            Reschedule.decode = function decode(reader, length, error) {
+                            Reschedule.decode = function decode(reader, length, error, long) {
                                 if (!(reader instanceof $Reader))
                                     reader = $Reader.create(reader);
+                                if (long === undefined)
+                                    long = 0;
+                                if (long > $Reader.recursionLimit)
+                                    throw Error("maximum nesting depth exceeded");
                                 var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.SqlInstancesRescheduleMaintenanceRequestBody.Reschedule();
                                 while (reader.pos < end) {
                                     var tag = reader.uint32();
@@ -51378,11 +53494,11 @@
                                             break;
                                         }
                                     case 2: {
-                                            message.scheduleTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+                                            message.scheduleTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1);
                                             break;
                                         }
                                     default:
-                                        reader.skipType(tag & 7);
+                                        reader.skipType(tag & 7, long);
                                         break;
                                     }
                                 }
@@ -51413,9 +53529,13 @@
                              * @param {Object.<string,*>} message Plain object to verify
                              * @returns {string|null} `null` if valid, otherwise the reason why it is not
                              */
-                            Reschedule.verify = function verify(message) {
+                            Reschedule.verify = function verify(message, long) {
                                 if (typeof message !== "object" || message === null)
                                     return "object expected";
+                                if (long === undefined)
+                                    long = 0;
+                                if (long > $util.recursionLimit)
+                                    return "maximum nesting depth exceeded";
                                 if (message.rescheduleType != null && message.hasOwnProperty("rescheduleType"))
                                     switch (message.rescheduleType) {
                                     default:
@@ -51427,7 +53547,7 @@
                                         break;
                                     }
                                 if (message.scheduleTime != null && message.hasOwnProperty("scheduleTime")) {
-                                    var error = $root.google.protobuf.Timestamp.verify(message.scheduleTime);
+                                    var error = $root.google.protobuf.Timestamp.verify(message.scheduleTime, long + 1);
                                     if (error)
                                         return "scheduleTime." + error;
                                 }
@@ -51442,9 +53562,13 @@
                              * @param {Object.<string,*>} object Plain object
                              * @returns {google.cloud.sql.v1.SqlInstancesRescheduleMaintenanceRequestBody.Reschedule} Reschedule
                              */
-                            Reschedule.fromObject = function fromObject(object) {
+                            Reschedule.fromObject = function fromObject(object, long) {
                                 if (object instanceof $root.google.cloud.sql.v1.SqlInstancesRescheduleMaintenanceRequestBody.Reschedule)
                                     return object;
+                                if (long === undefined)
+                                    long = 0;
+                                if (long > $util.recursionLimit)
+                                    throw Error("maximum nesting depth exceeded");
                                 var message = new $root.google.cloud.sql.v1.SqlInstancesRescheduleMaintenanceRequestBody.Reschedule();
                                 switch (object.rescheduleType) {
                                 default:
@@ -51473,7 +53597,7 @@
                                 if (object.scheduleTime != null) {
                                     if (typeof object.scheduleTime !== "object")
                                         throw TypeError(".google.cloud.sql.v1.SqlInstancesRescheduleMaintenanceRequestBody.Reschedule.scheduleTime: object expected");
-                                    message.scheduleTime = $root.google.protobuf.Timestamp.fromObject(object.scheduleTime);
+                                    message.scheduleTime = $root.google.protobuf.Timestamp.fromObject(object.scheduleTime, long + 1);
                                 }
                                 return message;
                             };
@@ -51558,7 +53682,7 @@
                         function DemoteMasterContext(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -51663,9 +53787,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        DemoteMasterContext.decode = function decode(reader, length, error) {
+                        DemoteMasterContext.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.DemoteMasterContext();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -51677,7 +53805,7 @@
                                         break;
                                     }
                                 case 2: {
-                                        message.verifyGtidConsistency = $root.google.protobuf.BoolValue.decode(reader, reader.uint32());
+                                        message.verifyGtidConsistency = $root.google.protobuf.BoolValue.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 3: {
@@ -51685,7 +53813,7 @@
                                         break;
                                     }
                                 case 4: {
-                                        message.replicaConfiguration = $root.google.cloud.sql.v1.DemoteMasterConfiguration.decode(reader, reader.uint32());
+                                        message.replicaConfiguration = $root.google.cloud.sql.v1.DemoteMasterConfiguration.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 5: {
@@ -51693,7 +53821,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -51724,14 +53852,18 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        DemoteMasterContext.verify = function verify(message) {
+                        DemoteMasterContext.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.kind != null && message.hasOwnProperty("kind"))
                                 if (!$util.isString(message.kind))
                                     return "kind: string expected";
                             if (message.verifyGtidConsistency != null && message.hasOwnProperty("verifyGtidConsistency")) {
-                                var error = $root.google.protobuf.BoolValue.verify(message.verifyGtidConsistency);
+                                var error = $root.google.protobuf.BoolValue.verify(message.verifyGtidConsistency, long + 1);
                                 if (error)
                                     return "verifyGtidConsistency." + error;
                             }
@@ -51739,7 +53871,7 @@
                                 if (!$util.isString(message.masterInstanceName))
                                     return "masterInstanceName: string expected";
                             if (message.replicaConfiguration != null && message.hasOwnProperty("replicaConfiguration")) {
-                                var error = $root.google.cloud.sql.v1.DemoteMasterConfiguration.verify(message.replicaConfiguration);
+                                var error = $root.google.cloud.sql.v1.DemoteMasterConfiguration.verify(message.replicaConfiguration, long + 1);
                                 if (error)
                                     return "replicaConfiguration." + error;
                             }
@@ -51757,23 +53889,27 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.DemoteMasterContext} DemoteMasterContext
                          */
-                        DemoteMasterContext.fromObject = function fromObject(object) {
+                        DemoteMasterContext.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.DemoteMasterContext)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.DemoteMasterContext();
                             if (object.kind != null)
                                 message.kind = String(object.kind);
                             if (object.verifyGtidConsistency != null) {
                                 if (typeof object.verifyGtidConsistency !== "object")
                                     throw TypeError(".google.cloud.sql.v1.DemoteMasterContext.verifyGtidConsistency: object expected");
-                                message.verifyGtidConsistency = $root.google.protobuf.BoolValue.fromObject(object.verifyGtidConsistency);
+                                message.verifyGtidConsistency = $root.google.protobuf.BoolValue.fromObject(object.verifyGtidConsistency, long + 1);
                             }
                             if (object.masterInstanceName != null)
                                 message.masterInstanceName = String(object.masterInstanceName);
                             if (object.replicaConfiguration != null) {
                                 if (typeof object.replicaConfiguration !== "object")
                                     throw TypeError(".google.cloud.sql.v1.DemoteMasterContext.replicaConfiguration: object expected");
-                                message.replicaConfiguration = $root.google.cloud.sql.v1.DemoteMasterConfiguration.fromObject(object.replicaConfiguration);
+                                message.replicaConfiguration = $root.google.cloud.sql.v1.DemoteMasterConfiguration.fromObject(object.replicaConfiguration, long + 1);
                             }
                             if (object.skipReplicationSetup != null)
                                 message.skipReplicationSetup = Boolean(object.skipReplicationSetup);
@@ -51863,7 +53999,7 @@
                         function DemoteContext(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -51938,9 +54074,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        DemoteContext.decode = function decode(reader, length, error) {
+                        DemoteContext.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.DemoteContext();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -51956,7 +54096,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -51987,9 +54127,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        DemoteContext.verify = function verify(message) {
+                        DemoteContext.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.kind != null && message.hasOwnProperty("kind"))
                                 if (!$util.isString(message.kind))
                                     return "kind: string expected";
@@ -52007,9 +54151,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.DemoteContext} DemoteContext
                          */
-                        DemoteContext.fromObject = function fromObject(object) {
+                        DemoteContext.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.DemoteContext)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.DemoteContext();
                             if (object.kind != null)
                                 message.kind = String(object.kind);
@@ -52092,7 +54240,7 @@
                         function FailoverContext(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -52167,9 +54315,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        FailoverContext.decode = function decode(reader, length, error) {
+                        FailoverContext.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.FailoverContext();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -52185,7 +54337,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -52216,9 +54368,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        FailoverContext.verify = function verify(message) {
+                        FailoverContext.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.settingsVersion != null && message.hasOwnProperty("settingsVersion"))
                                 if (!$util.isInteger(message.settingsVersion) && !(message.settingsVersion && $util.isInteger(message.settingsVersion.low) && $util.isInteger(message.settingsVersion.high)))
                                     return "settingsVersion: integer|Long expected";
@@ -52236,9 +54392,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.FailoverContext} FailoverContext
                          */
-                        FailoverContext.fromObject = function fromObject(object) {
+                        FailoverContext.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.FailoverContext)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.FailoverContext();
                             if (object.settingsVersion != null)
                                 if ($util.Long)
@@ -52337,7 +54497,7 @@
                         function RestoreBackupContext(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -52432,9 +54592,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        RestoreBackupContext.decode = function decode(reader, length, error) {
+                        RestoreBackupContext.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.RestoreBackupContext();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -52458,7 +54622,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -52489,9 +54653,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        RestoreBackupContext.verify = function verify(message) {
+                        RestoreBackupContext.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.kind != null && message.hasOwnProperty("kind"))
                                 if (!$util.isString(message.kind))
                                     return "kind: string expected";
@@ -52515,9 +54683,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.RestoreBackupContext} RestoreBackupContext
                          */
-                        RestoreBackupContext.fromObject = function fromObject(object) {
+                        RestoreBackupContext.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.RestoreBackupContext)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.RestoreBackupContext();
                             if (object.kind != null)
                                 message.kind = String(object.kind);
@@ -52624,7 +54796,7 @@
                         function RotateServerCaContext(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -52699,9 +54871,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        RotateServerCaContext.decode = function decode(reader, length, error) {
+                        RotateServerCaContext.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.RotateServerCaContext();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -52717,7 +54893,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -52748,9 +54924,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        RotateServerCaContext.verify = function verify(message) {
+                        RotateServerCaContext.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.kind != null && message.hasOwnProperty("kind"))
                                 if (!$util.isString(message.kind))
                                     return "kind: string expected";
@@ -52768,9 +54948,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.RotateServerCaContext} RotateServerCaContext
                          */
-                        RotateServerCaContext.fromObject = function fromObject(object) {
+                        RotateServerCaContext.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.RotateServerCaContext)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.RotateServerCaContext();
                             if (object.kind != null)
                                 message.kind = String(object.kind);
@@ -52853,7 +55037,7 @@
                         function RotateServerCertificateContext(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -52928,9 +55112,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        RotateServerCertificateContext.decode = function decode(reader, length, error) {
+                        RotateServerCertificateContext.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.RotateServerCertificateContext();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -52946,7 +55134,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -52977,9 +55165,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        RotateServerCertificateContext.verify = function verify(message) {
+                        RotateServerCertificateContext.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.kind != null && message.hasOwnProperty("kind"))
                                 if (!$util.isString(message.kind))
                                     return "kind: string expected";
@@ -52997,9 +55189,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.RotateServerCertificateContext} RotateServerCertificateContext
                          */
-                        RotateServerCertificateContext.fromObject = function fromObject(object) {
+                        RotateServerCertificateContext.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.RotateServerCertificateContext)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.RotateServerCertificateContext();
                             if (object.kind != null)
                                 message.kind = String(object.kind);
@@ -53082,7 +55278,7 @@
                         function RotateEntraIdCertificateContext(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -53157,9 +55353,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        RotateEntraIdCertificateContext.decode = function decode(reader, length, error) {
+                        RotateEntraIdCertificateContext.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.RotateEntraIdCertificateContext();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -53175,7 +55375,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -53206,9 +55406,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        RotateEntraIdCertificateContext.verify = function verify(message) {
+                        RotateEntraIdCertificateContext.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.kind != null && message.hasOwnProperty("kind"))
                                 if (!$util.isString(message.kind))
                                     return "kind: string expected";
@@ -53226,9 +55430,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.RotateEntraIdCertificateContext} RotateEntraIdCertificateContext
                          */
-                        RotateEntraIdCertificateContext.fromObject = function fromObject(object) {
+                        RotateEntraIdCertificateContext.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.RotateEntraIdCertificateContext)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.RotateEntraIdCertificateContext();
                             if (object.kind != null)
                                 message.kind = String(object.kind);
@@ -53311,7 +55519,7 @@
                         function TruncateLogContext(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -53386,9 +55594,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        TruncateLogContext.decode = function decode(reader, length, error) {
+                        TruncateLogContext.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.TruncateLogContext();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -53404,7 +55616,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -53435,9 +55647,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        TruncateLogContext.verify = function verify(message) {
+                        TruncateLogContext.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.kind != null && message.hasOwnProperty("kind"))
                                 if (!$util.isString(message.kind))
                                     return "kind: string expected";
@@ -53455,9 +55671,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.TruncateLogContext} TruncateLogContext
                          */
-                        TruncateLogContext.fromObject = function fromObject(object) {
+                        TruncateLogContext.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.TruncateLogContext)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.TruncateLogContext();
                             if (object.kind != null)
                                 message.kind = String(object.kind);
@@ -53541,7 +55761,7 @@
                         function SqlExternalSyncSettingError(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -53626,9 +55846,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlExternalSyncSettingError.decode = function decode(reader, length, error) {
+                        SqlExternalSyncSettingError.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.SqlExternalSyncSettingError();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -53648,7 +55872,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -53679,9 +55903,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlExternalSyncSettingError.verify = function verify(message) {
+                        SqlExternalSyncSettingError.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.kind != null && message.hasOwnProperty("kind"))
                                 if (!$util.isString(message.kind))
                                     return "kind: string expected";
@@ -53764,9 +55992,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.SqlExternalSyncSettingError} SqlExternalSyncSettingError
                          */
-                        SqlExternalSyncSettingError.fromObject = function fromObject(object) {
+                        SqlExternalSyncSettingError.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.SqlExternalSyncSettingError)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.SqlExternalSyncSettingError();
                             if (object.kind != null)
                                 message.kind = String(object.kind);
@@ -54223,7 +56455,7 @@
                         function SelectedObjects(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -54288,9 +56520,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SelectedObjects.decode = function decode(reader, length, error) {
+                        SelectedObjects.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.SelectedObjects();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -54302,7 +56538,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -54333,9 +56569,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SelectedObjects.verify = function verify(message) {
+                        SelectedObjects.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.database != null && message.hasOwnProperty("database"))
                                 if (!$util.isString(message.database))
                                     return "database: string expected";
@@ -54350,9 +56590,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.SelectedObjects} SelectedObjects
                          */
-                        SelectedObjects.fromObject = function fromObject(object) {
+                        SelectedObjects.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.SelectedObjects)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.SelectedObjects();
                             if (object.database != null)
                                 message.database = String(object.database);
@@ -54439,7 +56683,7 @@
                             this.selectedObjects = [];
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -54605,9 +56849,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        OnPremisesConfiguration.decode = function decode(reader, length, error) {
+                        OnPremisesConfiguration.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.OnPremisesConfiguration();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -54647,13 +56895,13 @@
                                         break;
                                     }
                                 case 15: {
-                                        message.sourceInstance = $root.google.cloud.sql.v1.InstanceReference.decode(reader, reader.uint32());
+                                        message.sourceInstance = $root.google.cloud.sql.v1.InstanceReference.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 16: {
                                         if (!(message.selectedObjects && message.selectedObjects.length))
                                             message.selectedObjects = [];
-                                        message.selectedObjects.push($root.google.cloud.sql.v1.SelectedObjects.decode(reader, reader.uint32()));
+                                        message.selectedObjects.push($root.google.cloud.sql.v1.SelectedObjects.decode(reader, reader.uint32(), undefined, long + 1));
                                         break;
                                     }
                                 case 18: {
@@ -54661,7 +56909,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -54692,9 +56940,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        OnPremisesConfiguration.verify = function verify(message) {
+                        OnPremisesConfiguration.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.hostPort != null && message.hasOwnProperty("hostPort"))
                                 if (!$util.isString(message.hostPort))
                                     return "hostPort: string expected";
@@ -54720,7 +56972,7 @@
                                 if (!$util.isString(message.dumpFilePath))
                                     return "dumpFilePath: string expected";
                             if (message.sourceInstance != null && message.hasOwnProperty("sourceInstance")) {
-                                var error = $root.google.cloud.sql.v1.InstanceReference.verify(message.sourceInstance);
+                                var error = $root.google.cloud.sql.v1.InstanceReference.verify(message.sourceInstance, long + 1);
                                 if (error)
                                     return "sourceInstance." + error;
                             }
@@ -54728,7 +56980,7 @@
                                 if (!Array.isArray(message.selectedObjects))
                                     return "selectedObjects: array expected";
                                 for (var i = 0; i < message.selectedObjects.length; ++i) {
-                                    var error = $root.google.cloud.sql.v1.SelectedObjects.verify(message.selectedObjects[i]);
+                                    var error = $root.google.cloud.sql.v1.SelectedObjects.verify(message.selectedObjects[i], long + 1);
                                     if (error)
                                         return "selectedObjects." + error;
                                 }
@@ -54754,9 +57006,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.OnPremisesConfiguration} OnPremisesConfiguration
                          */
-                        OnPremisesConfiguration.fromObject = function fromObject(object) {
+                        OnPremisesConfiguration.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.OnPremisesConfiguration)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.OnPremisesConfiguration();
                             if (object.hostPort != null)
                                 message.hostPort = String(object.hostPort);
@@ -54777,7 +57033,7 @@
                             if (object.sourceInstance != null) {
                                 if (typeof object.sourceInstance !== "object")
                                     throw TypeError(".google.cloud.sql.v1.OnPremisesConfiguration.sourceInstance: object expected");
-                                message.sourceInstance = $root.google.cloud.sql.v1.InstanceReference.fromObject(object.sourceInstance);
+                                message.sourceInstance = $root.google.cloud.sql.v1.InstanceReference.fromObject(object.sourceInstance, long + 1);
                             }
                             if (object.selectedObjects) {
                                 if (!Array.isArray(object.selectedObjects))
@@ -54786,7 +57042,7 @@
                                 for (var i = 0; i < object.selectedObjects.length; ++i) {
                                     if (typeof object.selectedObjects[i] !== "object")
                                         throw TypeError(".google.cloud.sql.v1.OnPremisesConfiguration.selectedObjects: object expected");
-                                    message.selectedObjects[i] = $root.google.cloud.sql.v1.SelectedObjects.fromObject(object.selectedObjects[i]);
+                                    message.selectedObjects[i] = $root.google.cloud.sql.v1.SelectedObjects.fromObject(object.selectedObjects[i], long + 1);
                                 }
                             }
                             switch (object.sslOption) {
@@ -54941,7 +57197,7 @@
                         function ReplicaConfiguration(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -55036,9 +57292,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        ReplicaConfiguration.decode = function decode(reader, length, error) {
+                        ReplicaConfiguration.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.ReplicaConfiguration();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -55050,19 +57310,19 @@
                                         break;
                                     }
                                 case 2: {
-                                        message.mysqlReplicaConfiguration = $root.google.cloud.sql.v1.MySqlReplicaConfiguration.decode(reader, reader.uint32());
+                                        message.mysqlReplicaConfiguration = $root.google.cloud.sql.v1.MySqlReplicaConfiguration.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 3: {
-                                        message.failoverTarget = $root.google.protobuf.BoolValue.decode(reader, reader.uint32());
+                                        message.failoverTarget = $root.google.protobuf.BoolValue.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 5: {
-                                        message.cascadableReplica = $root.google.protobuf.BoolValue.decode(reader, reader.uint32());
+                                        message.cascadableReplica = $root.google.protobuf.BoolValue.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -55093,24 +57353,28 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        ReplicaConfiguration.verify = function verify(message) {
+                        ReplicaConfiguration.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.kind != null && message.hasOwnProperty("kind"))
                                 if (!$util.isString(message.kind))
                                     return "kind: string expected";
                             if (message.mysqlReplicaConfiguration != null && message.hasOwnProperty("mysqlReplicaConfiguration")) {
-                                var error = $root.google.cloud.sql.v1.MySqlReplicaConfiguration.verify(message.mysqlReplicaConfiguration);
+                                var error = $root.google.cloud.sql.v1.MySqlReplicaConfiguration.verify(message.mysqlReplicaConfiguration, long + 1);
                                 if (error)
                                     return "mysqlReplicaConfiguration." + error;
                             }
                             if (message.failoverTarget != null && message.hasOwnProperty("failoverTarget")) {
-                                var error = $root.google.protobuf.BoolValue.verify(message.failoverTarget);
+                                var error = $root.google.protobuf.BoolValue.verify(message.failoverTarget, long + 1);
                                 if (error)
                                     return "failoverTarget." + error;
                             }
                             if (message.cascadableReplica != null && message.hasOwnProperty("cascadableReplica")) {
-                                var error = $root.google.protobuf.BoolValue.verify(message.cascadableReplica);
+                                var error = $root.google.protobuf.BoolValue.verify(message.cascadableReplica, long + 1);
                                 if (error)
                                     return "cascadableReplica." + error;
                             }
@@ -55125,26 +57389,30 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.ReplicaConfiguration} ReplicaConfiguration
                          */
-                        ReplicaConfiguration.fromObject = function fromObject(object) {
+                        ReplicaConfiguration.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.ReplicaConfiguration)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.ReplicaConfiguration();
                             if (object.kind != null)
                                 message.kind = String(object.kind);
                             if (object.mysqlReplicaConfiguration != null) {
                                 if (typeof object.mysqlReplicaConfiguration !== "object")
                                     throw TypeError(".google.cloud.sql.v1.ReplicaConfiguration.mysqlReplicaConfiguration: object expected");
-                                message.mysqlReplicaConfiguration = $root.google.cloud.sql.v1.MySqlReplicaConfiguration.fromObject(object.mysqlReplicaConfiguration);
+                                message.mysqlReplicaConfiguration = $root.google.cloud.sql.v1.MySqlReplicaConfiguration.fromObject(object.mysqlReplicaConfiguration, long + 1);
                             }
                             if (object.failoverTarget != null) {
                                 if (typeof object.failoverTarget !== "object")
                                     throw TypeError(".google.cloud.sql.v1.ReplicaConfiguration.failoverTarget: object expected");
-                                message.failoverTarget = $root.google.protobuf.BoolValue.fromObject(object.failoverTarget);
+                                message.failoverTarget = $root.google.protobuf.BoolValue.fromObject(object.failoverTarget, long + 1);
                             }
                             if (object.cascadableReplica != null) {
                                 if (typeof object.cascadableReplica !== "object")
                                     throw TypeError(".google.cloud.sql.v1.ReplicaConfiguration.cascadableReplica: object expected");
-                                message.cascadableReplica = $root.google.protobuf.BoolValue.fromObject(object.cascadableReplica);
+                                message.cascadableReplica = $root.google.protobuf.BoolValue.fromObject(object.cascadableReplica, long + 1);
                             }
                             return message;
                         };
@@ -55230,7 +57498,7 @@
                         function SqlInstancesExecuteSqlRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -55315,9 +57583,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlInstancesExecuteSqlRequest.decode = function decode(reader, length, error) {
+                        SqlInstancesExecuteSqlRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.SqlInstancesExecuteSqlRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -55333,11 +57605,11 @@
                                         break;
                                     }
                                 case 100: {
-                                        message.body = $root.google.cloud.sql.v1.ExecuteSqlPayload.decode(reader, reader.uint32());
+                                        message.body = $root.google.cloud.sql.v1.ExecuteSqlPayload.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -55368,9 +57640,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlInstancesExecuteSqlRequest.verify = function verify(message) {
+                        SqlInstancesExecuteSqlRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.instance != null && message.hasOwnProperty("instance"))
                                 if (!$util.isString(message.instance))
                                     return "instance: string expected";
@@ -55378,7 +57654,7 @@
                                 if (!$util.isString(message.project))
                                     return "project: string expected";
                             if (message.body != null && message.hasOwnProperty("body")) {
-                                var error = $root.google.cloud.sql.v1.ExecuteSqlPayload.verify(message.body);
+                                var error = $root.google.cloud.sql.v1.ExecuteSqlPayload.verify(message.body, long + 1);
                                 if (error)
                                     return "body." + error;
                             }
@@ -55393,9 +57669,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.SqlInstancesExecuteSqlRequest} SqlInstancesExecuteSqlRequest
                          */
-                        SqlInstancesExecuteSqlRequest.fromObject = function fromObject(object) {
+                        SqlInstancesExecuteSqlRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.SqlInstancesExecuteSqlRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.SqlInstancesExecuteSqlRequest();
                             if (object.instance != null)
                                 message.instance = String(object.instance);
@@ -55404,7 +57684,7 @@
                             if (object.body != null) {
                                 if (typeof object.body !== "object")
                                     throw TypeError(".google.cloud.sql.v1.SqlInstancesExecuteSqlRequest.body: object expected");
-                                message.body = $root.google.cloud.sql.v1.ExecuteSqlPayload.fromObject(object.body);
+                                message.body = $root.google.cloud.sql.v1.ExecuteSqlPayload.fromObject(object.body, long + 1);
                             }
                             return message;
                         };
@@ -55491,7 +57771,7 @@
                         function ExecuteSqlPayload(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -55630,9 +57910,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        ExecuteSqlPayload.decode = function decode(reader, length, error) {
+                        ExecuteSqlPayload.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.ExecuteSqlPayload();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -55668,7 +57952,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -55699,9 +57983,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        ExecuteSqlPayload.verify = function verify(message) {
+                        ExecuteSqlPayload.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             var properties = {};
                             if (message.user != null && message.hasOwnProperty("user"))
                                 if (!$util.isString(message.user))
@@ -55743,9 +58031,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.ExecuteSqlPayload} ExecuteSqlPayload
                          */
-                        ExecuteSqlPayload.fromObject = function fromObject(object) {
+                        ExecuteSqlPayload.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.ExecuteSqlPayload)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.ExecuteSqlPayload();
                             if (object.user != null)
                                 message.user = String(object.user);
@@ -55907,7 +58199,7 @@
                             this.results = [];
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -56004,9 +58296,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlInstancesExecuteSqlResponse.decode = function decode(reader, length, error) {
+                        SqlInstancesExecuteSqlResponse.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.SqlInstancesExecuteSqlResponse();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -56016,25 +58312,25 @@
                                 case 9: {
                                         if (!(message.messages && message.messages.length))
                                             message.messages = [];
-                                        message.messages.push($root.google.cloud.sql.v1.SqlInstancesExecuteSqlResponse.Message.decode(reader, reader.uint32()));
+                                        message.messages.push($root.google.cloud.sql.v1.SqlInstancesExecuteSqlResponse.Message.decode(reader, reader.uint32(), undefined, long + 1));
                                         break;
                                     }
                                 case 6: {
-                                        message.metadata = $root.google.cloud.sql.v1.Metadata.decode(reader, reader.uint32());
+                                        message.metadata = $root.google.cloud.sql.v1.Metadata.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 7: {
                                         if (!(message.results && message.results.length))
                                             message.results = [];
-                                        message.results.push($root.google.cloud.sql.v1.QueryResult.decode(reader, reader.uint32()));
+                                        message.results.push($root.google.cloud.sql.v1.QueryResult.decode(reader, reader.uint32(), undefined, long + 1));
                                         break;
                                     }
                                 case 8: {
-                                        message.status = $root.google.rpc.Status.decode(reader, reader.uint32());
+                                        message.status = $root.google.rpc.Status.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -56065,20 +58361,24 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlInstancesExecuteSqlResponse.verify = function verify(message) {
+                        SqlInstancesExecuteSqlResponse.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.messages != null && message.hasOwnProperty("messages")) {
                                 if (!Array.isArray(message.messages))
                                     return "messages: array expected";
                                 for (var i = 0; i < message.messages.length; ++i) {
-                                    var error = $root.google.cloud.sql.v1.SqlInstancesExecuteSqlResponse.Message.verify(message.messages[i]);
+                                    var error = $root.google.cloud.sql.v1.SqlInstancesExecuteSqlResponse.Message.verify(message.messages[i], long + 1);
                                     if (error)
                                         return "messages." + error;
                                 }
                             }
                             if (message.metadata != null && message.hasOwnProperty("metadata")) {
-                                var error = $root.google.cloud.sql.v1.Metadata.verify(message.metadata);
+                                var error = $root.google.cloud.sql.v1.Metadata.verify(message.metadata, long + 1);
                                 if (error)
                                     return "metadata." + error;
                             }
@@ -56086,13 +58386,13 @@
                                 if (!Array.isArray(message.results))
                                     return "results: array expected";
                                 for (var i = 0; i < message.results.length; ++i) {
-                                    var error = $root.google.cloud.sql.v1.QueryResult.verify(message.results[i]);
+                                    var error = $root.google.cloud.sql.v1.QueryResult.verify(message.results[i], long + 1);
                                     if (error)
                                         return "results." + error;
                                 }
                             }
                             if (message.status != null && message.hasOwnProperty("status")) {
-                                var error = $root.google.rpc.Status.verify(message.status);
+                                var error = $root.google.rpc.Status.verify(message.status, long + 1);
                                 if (error)
                                     return "status." + error;
                             }
@@ -56107,9 +58407,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.SqlInstancesExecuteSqlResponse} SqlInstancesExecuteSqlResponse
                          */
-                        SqlInstancesExecuteSqlResponse.fromObject = function fromObject(object) {
+                        SqlInstancesExecuteSqlResponse.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.SqlInstancesExecuteSqlResponse)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.SqlInstancesExecuteSqlResponse();
                             if (object.messages) {
                                 if (!Array.isArray(object.messages))
@@ -56118,13 +58422,13 @@
                                 for (var i = 0; i < object.messages.length; ++i) {
                                     if (typeof object.messages[i] !== "object")
                                         throw TypeError(".google.cloud.sql.v1.SqlInstancesExecuteSqlResponse.messages: object expected");
-                                    message.messages[i] = $root.google.cloud.sql.v1.SqlInstancesExecuteSqlResponse.Message.fromObject(object.messages[i]);
+                                    message.messages[i] = $root.google.cloud.sql.v1.SqlInstancesExecuteSqlResponse.Message.fromObject(object.messages[i], long + 1);
                                 }
                             }
                             if (object.metadata != null) {
                                 if (typeof object.metadata !== "object")
                                     throw TypeError(".google.cloud.sql.v1.SqlInstancesExecuteSqlResponse.metadata: object expected");
-                                message.metadata = $root.google.cloud.sql.v1.Metadata.fromObject(object.metadata);
+                                message.metadata = $root.google.cloud.sql.v1.Metadata.fromObject(object.metadata, long + 1);
                             }
                             if (object.results) {
                                 if (!Array.isArray(object.results))
@@ -56133,13 +58437,13 @@
                                 for (var i = 0; i < object.results.length; ++i) {
                                     if (typeof object.results[i] !== "object")
                                         throw TypeError(".google.cloud.sql.v1.SqlInstancesExecuteSqlResponse.results: object expected");
-                                    message.results[i] = $root.google.cloud.sql.v1.QueryResult.fromObject(object.results[i]);
+                                    message.results[i] = $root.google.cloud.sql.v1.QueryResult.fromObject(object.results[i], long + 1);
                                 }
                             }
                             if (object.status != null) {
                                 if (typeof object.status !== "object")
                                     throw TypeError(".google.cloud.sql.v1.SqlInstancesExecuteSqlResponse.status: object expected");
-                                message.status = $root.google.rpc.Status.fromObject(object.status);
+                                message.status = $root.google.rpc.Status.fromObject(object.status, long + 1);
                             }
                             return message;
                         };
@@ -56229,7 +58533,7 @@
                             function Message(properties) {
                                 if (properties)
                                     for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                        if (properties[keys[i]] != null)
+                                        if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                             this[keys[i]] = properties[keys[i]];
                             }
     
@@ -56319,9 +58623,13 @@
                              * @throws {Error} If the payload is not a reader or valid buffer
                              * @throws {$protobuf.util.ProtocolError} If required fields are missing
                              */
-                            Message.decode = function decode(reader, length, error) {
+                            Message.decode = function decode(reader, length, error, long) {
                                 if (!(reader instanceof $Reader))
                                     reader = $Reader.create(reader);
+                                if (long === undefined)
+                                    long = 0;
+                                if (long > $Reader.recursionLimit)
+                                    throw Error("maximum nesting depth exceeded");
                                 var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.SqlInstancesExecuteSqlResponse.Message();
                                 while (reader.pos < end) {
                                     var tag = reader.uint32();
@@ -56337,7 +58645,7 @@
                                             break;
                                         }
                                     default:
-                                        reader.skipType(tag & 7);
+                                        reader.skipType(tag & 7, long);
                                         break;
                                     }
                                 }
@@ -56368,9 +58676,13 @@
                              * @param {Object.<string,*>} message Plain object to verify
                              * @returns {string|null} `null` if valid, otherwise the reason why it is not
                              */
-                            Message.verify = function verify(message) {
+                            Message.verify = function verify(message, long) {
                                 if (typeof message !== "object" || message === null)
                                     return "object expected";
+                                if (long === undefined)
+                                    long = 0;
+                                if (long > $util.recursionLimit)
+                                    return "maximum nesting depth exceeded";
                                 var properties = {};
                                 if (message.message != null && message.hasOwnProperty("message")) {
                                     properties._message = 1;
@@ -56393,9 +58705,13 @@
                              * @param {Object.<string,*>} object Plain object
                              * @returns {google.cloud.sql.v1.SqlInstancesExecuteSqlResponse.Message} Message
                              */
-                            Message.fromObject = function fromObject(object) {
+                            Message.fromObject = function fromObject(object, long) {
                                 if (object instanceof $root.google.cloud.sql.v1.SqlInstancesExecuteSqlResponse.Message)
                                     return object;
+                                if (long === undefined)
+                                    long = 0;
+                                if (long > $util.recursionLimit)
+                                    throw Error("maximum nesting depth exceeded");
                                 var message = new $root.google.cloud.sql.v1.SqlInstancesExecuteSqlResponse.Message();
                                 if (object.message != null)
                                     message.message = String(object.message);
@@ -56488,7 +58804,7 @@
                             this.rows = [];
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -56595,9 +58911,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        QueryResult.decode = function decode(reader, length, error) {
+                        QueryResult.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.QueryResult();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -56607,13 +58927,13 @@
                                 case 1: {
                                         if (!(message.columns && message.columns.length))
                                             message.columns = [];
-                                        message.columns.push($root.google.cloud.sql.v1.Column.decode(reader, reader.uint32()));
+                                        message.columns.push($root.google.cloud.sql.v1.Column.decode(reader, reader.uint32(), undefined, long + 1));
                                         break;
                                     }
                                 case 2: {
                                         if (!(message.rows && message.rows.length))
                                             message.rows = [];
-                                        message.rows.push($root.google.cloud.sql.v1.Row.decode(reader, reader.uint32()));
+                                        message.rows.push($root.google.cloud.sql.v1.Row.decode(reader, reader.uint32(), undefined, long + 1));
                                         break;
                                     }
                                 case 3: {
@@ -56625,11 +58945,11 @@
                                         break;
                                     }
                                 case 8: {
-                                        message.status = $root.google.rpc.Status.decode(reader, reader.uint32());
+                                        message.status = $root.google.rpc.Status.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -56660,14 +58980,18 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        QueryResult.verify = function verify(message) {
+                        QueryResult.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.columns != null && message.hasOwnProperty("columns")) {
                                 if (!Array.isArray(message.columns))
                                     return "columns: array expected";
                                 for (var i = 0; i < message.columns.length; ++i) {
-                                    var error = $root.google.cloud.sql.v1.Column.verify(message.columns[i]);
+                                    var error = $root.google.cloud.sql.v1.Column.verify(message.columns[i], long + 1);
                                     if (error)
                                         return "columns." + error;
                                 }
@@ -56676,7 +59000,7 @@
                                 if (!Array.isArray(message.rows))
                                     return "rows: array expected";
                                 for (var i = 0; i < message.rows.length; ++i) {
-                                    var error = $root.google.cloud.sql.v1.Row.verify(message.rows[i]);
+                                    var error = $root.google.cloud.sql.v1.Row.verify(message.rows[i], long + 1);
                                     if (error)
                                         return "rows." + error;
                                 }
@@ -56688,7 +59012,7 @@
                                 if (typeof message.partialResult !== "boolean")
                                     return "partialResult: boolean expected";
                             if (message.status != null && message.hasOwnProperty("status")) {
-                                var error = $root.google.rpc.Status.verify(message.status);
+                                var error = $root.google.rpc.Status.verify(message.status, long + 1);
                                 if (error)
                                     return "status." + error;
                             }
@@ -56703,9 +59027,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.QueryResult} QueryResult
                          */
-                        QueryResult.fromObject = function fromObject(object) {
+                        QueryResult.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.QueryResult)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.QueryResult();
                             if (object.columns) {
                                 if (!Array.isArray(object.columns))
@@ -56714,7 +59042,7 @@
                                 for (var i = 0; i < object.columns.length; ++i) {
                                     if (typeof object.columns[i] !== "object")
                                         throw TypeError(".google.cloud.sql.v1.QueryResult.columns: object expected");
-                                    message.columns[i] = $root.google.cloud.sql.v1.Column.fromObject(object.columns[i]);
+                                    message.columns[i] = $root.google.cloud.sql.v1.Column.fromObject(object.columns[i], long + 1);
                                 }
                             }
                             if (object.rows) {
@@ -56724,7 +59052,7 @@
                                 for (var i = 0; i < object.rows.length; ++i) {
                                     if (typeof object.rows[i] !== "object")
                                         throw TypeError(".google.cloud.sql.v1.QueryResult.rows: object expected");
-                                    message.rows[i] = $root.google.cloud.sql.v1.Row.fromObject(object.rows[i]);
+                                    message.rows[i] = $root.google.cloud.sql.v1.Row.fromObject(object.rows[i], long + 1);
                                 }
                             }
                             if (object.message != null)
@@ -56734,7 +59062,7 @@
                             if (object.status != null) {
                                 if (typeof object.status !== "object")
                                     throw TypeError(".google.cloud.sql.v1.QueryResult.status: object expected");
-                                message.status = $root.google.rpc.Status.fromObject(object.status);
+                                message.status = $root.google.rpc.Status.fromObject(object.status, long + 1);
                             }
                             return message;
                         };
@@ -56830,7 +59158,7 @@
                         function Column(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -56905,9 +59233,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        Column.decode = function decode(reader, length, error) {
+                        Column.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.Column();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -56923,7 +59255,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -56954,9 +59286,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        Column.verify = function verify(message) {
+                        Column.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.name != null && message.hasOwnProperty("name"))
                                 if (!$util.isString(message.name))
                                     return "name: string expected";
@@ -56974,9 +59310,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.Column} Column
                          */
-                        Column.fromObject = function fromObject(object) {
+                        Column.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.Column)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.Column();
                             if (object.name != null)
                                 message.name = String(object.name);
@@ -57059,7 +59399,7 @@
                             this.values = [];
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -57125,9 +59465,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        Row.decode = function decode(reader, length, error) {
+                        Row.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.Row();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -57137,11 +59481,11 @@
                                 case 1: {
                                         if (!(message.values && message.values.length))
                                             message.values = [];
-                                        message.values.push($root.google.cloud.sql.v1.Value.decode(reader, reader.uint32()));
+                                        message.values.push($root.google.cloud.sql.v1.Value.decode(reader, reader.uint32(), undefined, long + 1));
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -57172,14 +59516,18 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        Row.verify = function verify(message) {
+                        Row.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.values != null && message.hasOwnProperty("values")) {
                                 if (!Array.isArray(message.values))
                                     return "values: array expected";
                                 for (var i = 0; i < message.values.length; ++i) {
-                                    var error = $root.google.cloud.sql.v1.Value.verify(message.values[i]);
+                                    var error = $root.google.cloud.sql.v1.Value.verify(message.values[i], long + 1);
                                     if (error)
                                         return "values." + error;
                                 }
@@ -57195,9 +59543,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.Row} Row
                          */
-                        Row.fromObject = function fromObject(object) {
+                        Row.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.Row)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.Row();
                             if (object.values) {
                                 if (!Array.isArray(object.values))
@@ -57206,7 +59558,7 @@
                                 for (var i = 0; i < object.values.length; ++i) {
                                     if (typeof object.values[i] !== "object")
                                         throw TypeError(".google.cloud.sql.v1.Row.values: object expected");
-                                    message.values[i] = $root.google.cloud.sql.v1.Value.fromObject(object.values[i]);
+                                    message.values[i] = $root.google.cloud.sql.v1.Value.fromObject(object.values[i], long + 1);
                                 }
                             }
                             return message;
@@ -57285,7 +59637,7 @@
                         function Value(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -57360,9 +59712,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        Value.decode = function decode(reader, length, error) {
+                        Value.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.Value();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -57378,7 +59734,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -57409,9 +59765,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        Value.verify = function verify(message) {
+                        Value.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.value != null && message.hasOwnProperty("value"))
                                 if (!$util.isString(message.value))
                                     return "value: string expected";
@@ -57429,9 +59789,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.Value} Value
                          */
-                        Value.fromObject = function fromObject(object) {
+                        Value.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.Value)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.Value();
                             if (object.value != null)
                                 message.value = String(object.value);
@@ -57513,7 +59877,7 @@
                         function Metadata(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -57578,9 +59942,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        Metadata.decode = function decode(reader, length, error) {
+                        Metadata.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.Metadata();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -57588,11 +59956,11 @@
                                     break;
                                 switch (tag >>> 3) {
                                 case 1: {
-                                        message.sqlStatementExecutionTime = $root.google.protobuf.Duration.decode(reader, reader.uint32());
+                                        message.sqlStatementExecutionTime = $root.google.protobuf.Duration.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -57623,11 +59991,15 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        Metadata.verify = function verify(message) {
+                        Metadata.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.sqlStatementExecutionTime != null && message.hasOwnProperty("sqlStatementExecutionTime")) {
-                                var error = $root.google.protobuf.Duration.verify(message.sqlStatementExecutionTime);
+                                var error = $root.google.protobuf.Duration.verify(message.sqlStatementExecutionTime, long + 1);
                                 if (error)
                                     return "sqlStatementExecutionTime." + error;
                             }
@@ -57642,14 +60014,18 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.Metadata} Metadata
                          */
-                        Metadata.fromObject = function fromObject(object) {
+                        Metadata.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.Metadata)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.Metadata();
                             if (object.sqlStatementExecutionTime != null) {
                                 if (typeof object.sqlStatementExecutionTime !== "object")
                                     throw TypeError(".google.cloud.sql.v1.Metadata.sqlStatementExecutionTime: object expected");
-                                message.sqlStatementExecutionTime = $root.google.protobuf.Duration.fromObject(object.sqlStatementExecutionTime);
+                                message.sqlStatementExecutionTime = $root.google.protobuf.Duration.fromObject(object.sqlStatementExecutionTime, long + 1);
                             }
                             return message;
                         };
@@ -57725,7 +60101,7 @@
                         function SqlInstancesAcquireSsrsLeaseRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -57810,9 +60186,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlInstancesAcquireSsrsLeaseRequest.decode = function decode(reader, length, error) {
+                        SqlInstancesAcquireSsrsLeaseRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.SqlInstancesAcquireSsrsLeaseRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -57828,11 +60208,11 @@
                                         break;
                                     }
                                 case 100: {
-                                        message.body = $root.google.cloud.sql.v1.InstancesAcquireSsrsLeaseRequest.decode(reader, reader.uint32());
+                                        message.body = $root.google.cloud.sql.v1.InstancesAcquireSsrsLeaseRequest.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -57863,9 +60243,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlInstancesAcquireSsrsLeaseRequest.verify = function verify(message) {
+                        SqlInstancesAcquireSsrsLeaseRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.instance != null && message.hasOwnProperty("instance"))
                                 if (!$util.isString(message.instance))
                                     return "instance: string expected";
@@ -57873,7 +60257,7 @@
                                 if (!$util.isString(message.project))
                                     return "project: string expected";
                             if (message.body != null && message.hasOwnProperty("body")) {
-                                var error = $root.google.cloud.sql.v1.InstancesAcquireSsrsLeaseRequest.verify(message.body);
+                                var error = $root.google.cloud.sql.v1.InstancesAcquireSsrsLeaseRequest.verify(message.body, long + 1);
                                 if (error)
                                     return "body." + error;
                             }
@@ -57888,9 +60272,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.SqlInstancesAcquireSsrsLeaseRequest} SqlInstancesAcquireSsrsLeaseRequest
                          */
-                        SqlInstancesAcquireSsrsLeaseRequest.fromObject = function fromObject(object) {
+                        SqlInstancesAcquireSsrsLeaseRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.SqlInstancesAcquireSsrsLeaseRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.SqlInstancesAcquireSsrsLeaseRequest();
                             if (object.instance != null)
                                 message.instance = String(object.instance);
@@ -57899,7 +60287,7 @@
                             if (object.body != null) {
                                 if (typeof object.body !== "object")
                                     throw TypeError(".google.cloud.sql.v1.SqlInstancesAcquireSsrsLeaseRequest.body: object expected");
-                                message.body = $root.google.cloud.sql.v1.InstancesAcquireSsrsLeaseRequest.fromObject(object.body);
+                                message.body = $root.google.cloud.sql.v1.InstancesAcquireSsrsLeaseRequest.fromObject(object.body, long + 1);
                             }
                             return message;
                         };
@@ -57980,7 +60368,7 @@
                         function SqlInstancesAcquireSsrsLeaseResponse(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -58045,9 +60433,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlInstancesAcquireSsrsLeaseResponse.decode = function decode(reader, length, error) {
+                        SqlInstancesAcquireSsrsLeaseResponse.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.SqlInstancesAcquireSsrsLeaseResponse();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -58059,7 +60451,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -58090,9 +60482,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlInstancesAcquireSsrsLeaseResponse.verify = function verify(message) {
+                        SqlInstancesAcquireSsrsLeaseResponse.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.operationId != null && message.hasOwnProperty("operationId"))
                                 if (!$util.isString(message.operationId))
                                     return "operationId: string expected";
@@ -58107,9 +60503,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.SqlInstancesAcquireSsrsLeaseResponse} SqlInstancesAcquireSsrsLeaseResponse
                          */
-                        SqlInstancesAcquireSsrsLeaseResponse.fromObject = function fromObject(object) {
+                        SqlInstancesAcquireSsrsLeaseResponse.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.SqlInstancesAcquireSsrsLeaseResponse)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.SqlInstancesAcquireSsrsLeaseResponse();
                             if (object.operationId != null)
                                 message.operationId = String(object.operationId);
@@ -58186,7 +60586,7 @@
                         function SqlInstancesReleaseSsrsLeaseRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -58261,9 +60661,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlInstancesReleaseSsrsLeaseRequest.decode = function decode(reader, length, error) {
+                        SqlInstancesReleaseSsrsLeaseRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.SqlInstancesReleaseSsrsLeaseRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -58279,7 +60683,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -58310,9 +60714,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlInstancesReleaseSsrsLeaseRequest.verify = function verify(message) {
+                        SqlInstancesReleaseSsrsLeaseRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.instance != null && message.hasOwnProperty("instance"))
                                 if (!$util.isString(message.instance))
                                     return "instance: string expected";
@@ -58330,9 +60738,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.SqlInstancesReleaseSsrsLeaseRequest} SqlInstancesReleaseSsrsLeaseRequest
                          */
-                        SqlInstancesReleaseSsrsLeaseRequest.fromObject = function fromObject(object) {
+                        SqlInstancesReleaseSsrsLeaseRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.SqlInstancesReleaseSsrsLeaseRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.SqlInstancesReleaseSsrsLeaseRequest();
                             if (object.instance != null)
                                 message.instance = String(object.instance);
@@ -58414,7 +60826,7 @@
                         function SqlInstancesReleaseSsrsLeaseResponse(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -58479,9 +60891,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlInstancesReleaseSsrsLeaseResponse.decode = function decode(reader, length, error) {
+                        SqlInstancesReleaseSsrsLeaseResponse.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.SqlInstancesReleaseSsrsLeaseResponse();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -58493,7 +60909,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -58524,9 +60940,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlInstancesReleaseSsrsLeaseResponse.verify = function verify(message) {
+                        SqlInstancesReleaseSsrsLeaseResponse.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.operationId != null && message.hasOwnProperty("operationId"))
                                 if (!$util.isString(message.operationId))
                                     return "operationId: string expected";
@@ -58541,9 +60961,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.SqlInstancesReleaseSsrsLeaseResponse} SqlInstancesReleaseSsrsLeaseResponse
                          */
-                        SqlInstancesReleaseSsrsLeaseResponse.fromObject = function fromObject(object) {
+                        SqlInstancesReleaseSsrsLeaseResponse.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.SqlInstancesReleaseSsrsLeaseResponse)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.SqlInstancesReleaseSsrsLeaseResponse();
                             if (object.operationId != null)
                                 message.operationId = String(object.operationId);
@@ -58620,7 +61044,7 @@
                         function SqlInstancesPointInTimeRestoreRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -58695,9 +61119,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlInstancesPointInTimeRestoreRequest.decode = function decode(reader, length, error) {
+                        SqlInstancesPointInTimeRestoreRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.SqlInstancesPointInTimeRestoreRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -58709,11 +61137,11 @@
                                         break;
                                     }
                                 case 100: {
-                                        message.context = $root.google.cloud.sql.v1.PointInTimeRestoreContext.decode(reader, reader.uint32());
+                                        message.context = $root.google.cloud.sql.v1.PointInTimeRestoreContext.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -58744,14 +61172,18 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlInstancesPointInTimeRestoreRequest.verify = function verify(message) {
+                        SqlInstancesPointInTimeRestoreRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.parent != null && message.hasOwnProperty("parent"))
                                 if (!$util.isString(message.parent))
                                     return "parent: string expected";
                             if (message.context != null && message.hasOwnProperty("context")) {
-                                var error = $root.google.cloud.sql.v1.PointInTimeRestoreContext.verify(message.context);
+                                var error = $root.google.cloud.sql.v1.PointInTimeRestoreContext.verify(message.context, long + 1);
                                 if (error)
                                     return "context." + error;
                             }
@@ -58766,16 +61198,20 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.SqlInstancesPointInTimeRestoreRequest} SqlInstancesPointInTimeRestoreRequest
                          */
-                        SqlInstancesPointInTimeRestoreRequest.fromObject = function fromObject(object) {
+                        SqlInstancesPointInTimeRestoreRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.SqlInstancesPointInTimeRestoreRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.SqlInstancesPointInTimeRestoreRequest();
                             if (object.parent != null)
                                 message.parent = String(object.parent);
                             if (object.context != null) {
                                 if (typeof object.context !== "object")
                                     throw TypeError(".google.cloud.sql.v1.SqlInstancesPointInTimeRestoreRequest.context: object expected");
-                                message.context = $root.google.cloud.sql.v1.PointInTimeRestoreContext.fromObject(object.context);
+                                message.context = $root.google.cloud.sql.v1.PointInTimeRestoreContext.fromObject(object.context, long + 1);
                             }
                             return message;
                         };
@@ -58862,6 +61298,7 @@
                      * @property {number} LEGAL_ISSUE=3 LEGAL_ISSUE value
                      * @property {number} OPERATIONAL_ISSUE=4 OPERATIONAL_ISSUE value
                      * @property {number} KMS_KEY_ISSUE=5 KMS_KEY_ISSUE value
+                     * @property {number} PROJECT_ABUSE=8 PROJECT_ABUSE value
                      */
                     v1.SqlSuspensionReason = (function() {
                         var valuesById = {}, values = Object.create(valuesById);
@@ -58870,6 +61307,7 @@
                         values[valuesById[3] = "LEGAL_ISSUE"] = 3;
                         values[valuesById[4] = "OPERATIONAL_ISSUE"] = 4;
                         values[valuesById[5] = "KMS_KEY_ISSUE"] = 5;
+                        values[valuesById[8] = "PROJECT_ABUSE"] = 8;
                         return values;
                     })();
     
@@ -58996,7 +61434,7 @@
                         function GetConnectSettingsRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -59081,9 +61519,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        GetConnectSettingsRequest.decode = function decode(reader, length, error) {
+                        GetConnectSettingsRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.GetConnectSettingsRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -59099,11 +61541,11 @@
                                         break;
                                     }
                                 case 7: {
-                                        message.readTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+                                        message.readTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -59134,9 +61576,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        GetConnectSettingsRequest.verify = function verify(message) {
+                        GetConnectSettingsRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.instance != null && message.hasOwnProperty("instance"))
                                 if (!$util.isString(message.instance))
                                     return "instance: string expected";
@@ -59144,7 +61590,7 @@
                                 if (!$util.isString(message.project))
                                     return "project: string expected";
                             if (message.readTime != null && message.hasOwnProperty("readTime")) {
-                                var error = $root.google.protobuf.Timestamp.verify(message.readTime);
+                                var error = $root.google.protobuf.Timestamp.verify(message.readTime, long + 1);
                                 if (error)
                                     return "readTime." + error;
                             }
@@ -59159,9 +61605,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.GetConnectSettingsRequest} GetConnectSettingsRequest
                          */
-                        GetConnectSettingsRequest.fromObject = function fromObject(object) {
+                        GetConnectSettingsRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.GetConnectSettingsRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.GetConnectSettingsRequest();
                             if (object.instance != null)
                                 message.instance = String(object.instance);
@@ -59170,7 +61620,7 @@
                             if (object.readTime != null) {
                                 if (typeof object.readTime !== "object")
                                     throw TypeError(".google.cloud.sql.v1.GetConnectSettingsRequest.readTime: object expected");
-                                message.readTime = $root.google.protobuf.Timestamp.fromObject(object.readTime);
+                                message.readTime = $root.google.protobuf.Timestamp.fromObject(object.readTime, long + 1);
                             }
                             return message;
                         };
@@ -59269,7 +61719,7 @@
                             this.mdxProtocolSupport = [];
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -59481,9 +61931,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        ConnectSettings.decode = function decode(reader, length, error) {
+                        ConnectSettings.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.ConnectSettings();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -59495,13 +61949,13 @@
                                         break;
                                     }
                                 case 2: {
-                                        message.serverCaCert = $root.google.cloud.sql.v1.SslCert.decode(reader, reader.uint32());
+                                        message.serverCaCert = $root.google.cloud.sql.v1.SslCert.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 3: {
                                         if (!(message.ipAddresses && message.ipAddresses.length))
                                             message.ipAddresses = [];
-                                        message.ipAddresses.push($root.google.cloud.sql.v1.IpMapping.decode(reader, reader.uint32()));
+                                        message.ipAddresses.push($root.google.cloud.sql.v1.IpMapping.decode(reader, reader.uint32(), undefined, long + 1));
                                         break;
                                     }
                                 case 4: {
@@ -59537,7 +61991,7 @@
                                 case 38: {
                                         if (!(message.dnsNames && message.dnsNames.length))
                                             message.dnsNames = [];
-                                        message.dnsNames.push($root.google.cloud.sql.v1.DnsNameMapping.decode(reader, reader.uint32()));
+                                        message.dnsNames.push($root.google.cloud.sql.v1.DnsNameMapping.decode(reader, reader.uint32(), undefined, long + 1));
                                         break;
                                     }
                                 case 63: {
@@ -59547,7 +62001,7 @@
                                 case 64: {
                                         if (!(message.nodes && message.nodes.length))
                                             message.nodes = [];
-                                        message.nodes.push($root.google.cloud.sql.v1.ConnectSettings.ConnectPoolNodeConfig.decode(reader, reader.uint32()));
+                                        message.nodes.push($root.google.cloud.sql.v1.ConnectSettings.ConnectPoolNodeConfig.decode(reader, reader.uint32(), undefined, long + 1));
                                         break;
                                     }
                                 case 39: {
@@ -59562,7 +62016,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -59593,15 +62047,19 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        ConnectSettings.verify = function verify(message) {
+                        ConnectSettings.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             var properties = {};
                             if (message.kind != null && message.hasOwnProperty("kind"))
                                 if (!$util.isString(message.kind))
                                     return "kind: string expected";
                             if (message.serverCaCert != null && message.hasOwnProperty("serverCaCert")) {
-                                var error = $root.google.cloud.sql.v1.SslCert.verify(message.serverCaCert);
+                                var error = $root.google.cloud.sql.v1.SslCert.verify(message.serverCaCert, long + 1);
                                 if (error)
                                     return "serverCaCert." + error;
                             }
@@ -59609,7 +62067,7 @@
                                 if (!Array.isArray(message.ipAddresses))
                                     return "ipAddresses: array expected";
                                 for (var i = 0; i < message.ipAddresses.length; ++i) {
-                                    var error = $root.google.cloud.sql.v1.IpMapping.verify(message.ipAddresses[i]);
+                                    var error = $root.google.cloud.sql.v1.IpMapping.verify(message.ipAddresses[i], long + 1);
                                     if (error)
                                         return "ipAddresses." + error;
                                 }
@@ -59664,6 +62122,7 @@
                                 case 272:
                                 case 408:
                                 case 557:
+                                case 684:
                                 case 26:
                                 case 27:
                                 case 28:
@@ -59672,6 +62131,9 @@
                                 case 200:
                                 case 201:
                                 case 202:
+                                case 549:
+                                case 550:
+                                case 551:
                                     break;
                                 }
                             if (message.backendType != null && message.hasOwnProperty("backendType"))
@@ -59711,7 +62173,7 @@
                                 if (!Array.isArray(message.dnsNames))
                                     return "dnsNames: array expected";
                                 for (var i = 0; i < message.dnsNames.length; ++i) {
-                                    var error = $root.google.cloud.sql.v1.DnsNameMapping.verify(message.dnsNames[i]);
+                                    var error = $root.google.cloud.sql.v1.DnsNameMapping.verify(message.dnsNames[i], long + 1);
                                     if (error)
                                         return "dnsNames." + error;
                                 }
@@ -59725,7 +62187,7 @@
                                 if (!Array.isArray(message.nodes))
                                     return "nodes: array expected";
                                 for (var i = 0; i < message.nodes.length; ++i) {
-                                    var error = $root.google.cloud.sql.v1.ConnectSettings.ConnectPoolNodeConfig.verify(message.nodes[i]);
+                                    var error = $root.google.cloud.sql.v1.ConnectSettings.ConnectPoolNodeConfig.verify(message.nodes[i], long + 1);
                                     if (error)
                                         return "nodes." + error;
                                 }
@@ -59753,16 +62215,20 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.ConnectSettings} ConnectSettings
                          */
-                        ConnectSettings.fromObject = function fromObject(object) {
+                        ConnectSettings.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.ConnectSettings)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.ConnectSettings();
                             if (object.kind != null)
                                 message.kind = String(object.kind);
                             if (object.serverCaCert != null) {
                                 if (typeof object.serverCaCert !== "object")
                                     throw TypeError(".google.cloud.sql.v1.ConnectSettings.serverCaCert: object expected");
-                                message.serverCaCert = $root.google.cloud.sql.v1.SslCert.fromObject(object.serverCaCert);
+                                message.serverCaCert = $root.google.cloud.sql.v1.SslCert.fromObject(object.serverCaCert, long + 1);
                             }
                             if (object.ipAddresses) {
                                 if (!Array.isArray(object.ipAddresses))
@@ -59771,7 +62237,7 @@
                                 for (var i = 0; i < object.ipAddresses.length; ++i) {
                                     if (typeof object.ipAddresses[i] !== "object")
                                         throw TypeError(".google.cloud.sql.v1.ConnectSettings.ipAddresses: object expected");
-                                    message.ipAddresses[i] = $root.google.cloud.sql.v1.IpMapping.fromObject(object.ipAddresses[i]);
+                                    message.ipAddresses[i] = $root.google.cloud.sql.v1.IpMapping.fromObject(object.ipAddresses[i], long + 1);
                                 }
                             }
                             if (object.region != null)
@@ -59955,6 +62421,10 @@
                             case 557:
                                 message.databaseVersion = 557;
                                 break;
+                            case "POSTGRES_19":
+                            case 684:
+                                message.databaseVersion = 684;
+                                break;
                             case "SQLSERVER_2019_STANDARD":
                             case 26:
                                 message.databaseVersion = 26;
@@ -59987,6 +62457,18 @@
                             case 202:
                                 message.databaseVersion = 202;
                                 break;
+                            case "SQLSERVER_2025_STANDARD":
+                            case 549:
+                                message.databaseVersion = 549;
+                                break;
+                            case "SQLSERVER_2025_ENTERPRISE":
+                            case 550:
+                                message.databaseVersion = 550;
+                                break;
+                            case "SQLSERVER_2025_EXPRESS":
+                            case 551:
+                                message.databaseVersion = 551;
+                                break;
                             }
                             switch (object.backendType) {
                             default:
@@ -60054,7 +62536,7 @@
                                 for (var i = 0; i < object.dnsNames.length; ++i) {
                                     if (typeof object.dnsNames[i] !== "object")
                                         throw TypeError(".google.cloud.sql.v1.ConnectSettings.dnsNames: object expected");
-                                    message.dnsNames[i] = $root.google.cloud.sql.v1.DnsNameMapping.fromObject(object.dnsNames[i]);
+                                    message.dnsNames[i] = $root.google.cloud.sql.v1.DnsNameMapping.fromObject(object.dnsNames[i], long + 1);
                                 }
                             }
                             if (object.nodeCount != null)
@@ -60066,7 +62548,7 @@
                                 for (var i = 0; i < object.nodes.length; ++i) {
                                     if (typeof object.nodes[i] !== "object")
                                         throw TypeError(".google.cloud.sql.v1.ConnectSettings.nodes: object expected");
-                                    message.nodes[i] = $root.google.cloud.sql.v1.ConnectSettings.ConnectPoolNodeConfig.fromObject(object.nodes[i]);
+                                    message.nodes[i] = $root.google.cloud.sql.v1.ConnectSettings.ConnectPoolNodeConfig.fromObject(object.nodes[i], long + 1);
                                 }
                             }
                             if (object.mdxProtocolSupport) {
@@ -60241,7 +62723,7 @@
                                 this.dnsNames = [];
                                 if (properties)
                                     for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                        if (properties[keys[i]] != null)
+                                        if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                             this[keys[i]] = properties[keys[i]];
                             }
     
@@ -60353,9 +62835,13 @@
                              * @throws {Error} If the payload is not a reader or valid buffer
                              * @throws {$protobuf.util.ProtocolError} If required fields are missing
                              */
-                            ConnectPoolNodeConfig.decode = function decode(reader, length, error) {
+                            ConnectPoolNodeConfig.decode = function decode(reader, length, error, long) {
                                 if (!(reader instanceof $Reader))
                                     reader = $Reader.create(reader);
+                                if (long === undefined)
+                                    long = 0;
+                                if (long > $Reader.recursionLimit)
+                                    throw Error("maximum nesting depth exceeded");
                                 var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.ConnectSettings.ConnectPoolNodeConfig();
                                 while (reader.pos < end) {
                                     var tag = reader.uint32();
@@ -60369,7 +62855,7 @@
                                     case 2: {
                                             if (!(message.ipAddresses && message.ipAddresses.length))
                                                 message.ipAddresses = [];
-                                            message.ipAddresses.push($root.google.cloud.sql.v1.IpMapping.decode(reader, reader.uint32()));
+                                            message.ipAddresses.push($root.google.cloud.sql.v1.IpMapping.decode(reader, reader.uint32(), undefined, long + 1));
                                             break;
                                         }
                                     case 3: {
@@ -60379,11 +62865,11 @@
                                     case 4: {
                                             if (!(message.dnsNames && message.dnsNames.length))
                                                 message.dnsNames = [];
-                                            message.dnsNames.push($root.google.cloud.sql.v1.DnsNameMapping.decode(reader, reader.uint32()));
+                                            message.dnsNames.push($root.google.cloud.sql.v1.DnsNameMapping.decode(reader, reader.uint32(), undefined, long + 1));
                                             break;
                                         }
                                     default:
-                                        reader.skipType(tag & 7);
+                                        reader.skipType(tag & 7, long);
                                         break;
                                     }
                                 }
@@ -60414,9 +62900,13 @@
                              * @param {Object.<string,*>} message Plain object to verify
                              * @returns {string|null} `null` if valid, otherwise the reason why it is not
                              */
-                            ConnectPoolNodeConfig.verify = function verify(message) {
+                            ConnectPoolNodeConfig.verify = function verify(message, long) {
                                 if (typeof message !== "object" || message === null)
                                     return "object expected";
+                                if (long === undefined)
+                                    long = 0;
+                                if (long > $util.recursionLimit)
+                                    return "maximum nesting depth exceeded";
                                 var properties = {};
                                 if (message.name != null && message.hasOwnProperty("name")) {
                                     properties._name = 1;
@@ -60427,7 +62917,7 @@
                                     if (!Array.isArray(message.ipAddresses))
                                         return "ipAddresses: array expected";
                                     for (var i = 0; i < message.ipAddresses.length; ++i) {
-                                        var error = $root.google.cloud.sql.v1.IpMapping.verify(message.ipAddresses[i]);
+                                        var error = $root.google.cloud.sql.v1.IpMapping.verify(message.ipAddresses[i], long + 1);
                                         if (error)
                                             return "ipAddresses." + error;
                                     }
@@ -60441,7 +62931,7 @@
                                     if (!Array.isArray(message.dnsNames))
                                         return "dnsNames: array expected";
                                     for (var i = 0; i < message.dnsNames.length; ++i) {
-                                        var error = $root.google.cloud.sql.v1.DnsNameMapping.verify(message.dnsNames[i]);
+                                        var error = $root.google.cloud.sql.v1.DnsNameMapping.verify(message.dnsNames[i], long + 1);
                                         if (error)
                                             return "dnsNames." + error;
                                     }
@@ -60457,9 +62947,13 @@
                              * @param {Object.<string,*>} object Plain object
                              * @returns {google.cloud.sql.v1.ConnectSettings.ConnectPoolNodeConfig} ConnectPoolNodeConfig
                              */
-                            ConnectPoolNodeConfig.fromObject = function fromObject(object) {
+                            ConnectPoolNodeConfig.fromObject = function fromObject(object, long) {
                                 if (object instanceof $root.google.cloud.sql.v1.ConnectSettings.ConnectPoolNodeConfig)
                                     return object;
+                                if (long === undefined)
+                                    long = 0;
+                                if (long > $util.recursionLimit)
+                                    throw Error("maximum nesting depth exceeded");
                                 var message = new $root.google.cloud.sql.v1.ConnectSettings.ConnectPoolNodeConfig();
                                 if (object.name != null)
                                     message.name = String(object.name);
@@ -60470,7 +62964,7 @@
                                     for (var i = 0; i < object.ipAddresses.length; ++i) {
                                         if (typeof object.ipAddresses[i] !== "object")
                                             throw TypeError(".google.cloud.sql.v1.ConnectSettings.ConnectPoolNodeConfig.ipAddresses: object expected");
-                                        message.ipAddresses[i] = $root.google.cloud.sql.v1.IpMapping.fromObject(object.ipAddresses[i]);
+                                        message.ipAddresses[i] = $root.google.cloud.sql.v1.IpMapping.fromObject(object.ipAddresses[i], long + 1);
                                     }
                                 }
                                 if (object.dnsName != null)
@@ -60482,7 +62976,7 @@
                                     for (var i = 0; i < object.dnsNames.length; ++i) {
                                         if (typeof object.dnsNames[i] !== "object")
                                             throw TypeError(".google.cloud.sql.v1.ConnectSettings.ConnectPoolNodeConfig.dnsNames: object expected");
-                                        message.dnsNames[i] = $root.google.cloud.sql.v1.DnsNameMapping.fromObject(object.dnsNames[i]);
+                                        message.dnsNames[i] = $root.google.cloud.sql.v1.DnsNameMapping.fromObject(object.dnsNames[i], long + 1);
                                     }
                                 }
                                 return message;
@@ -60599,7 +63093,7 @@
                         function GenerateEphemeralCertRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -60714,9 +63208,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        GenerateEphemeralCertRequest.decode = function decode(reader, length, error) {
+                        GenerateEphemeralCertRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.GenerateEphemeralCertRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -60740,15 +63238,15 @@
                                         break;
                                     }
                                 case 7: {
-                                        message.readTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+                                        message.readTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 12: {
-                                        message.validDuration = $root.google.protobuf.Duration.decode(reader, reader.uint32());
+                                        message.validDuration = $root.google.protobuf.Duration.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -60779,9 +63277,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        GenerateEphemeralCertRequest.verify = function verify(message) {
+                        GenerateEphemeralCertRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.instance != null && message.hasOwnProperty("instance"))
                                 if (!$util.isString(message.instance))
                                     return "instance: string expected";
@@ -60795,12 +63297,12 @@
                                 if (!$util.isString(message.accessToken))
                                     return "accessToken: string expected";
                             if (message.readTime != null && message.hasOwnProperty("readTime")) {
-                                var error = $root.google.protobuf.Timestamp.verify(message.readTime);
+                                var error = $root.google.protobuf.Timestamp.verify(message.readTime, long + 1);
                                 if (error)
                                     return "readTime." + error;
                             }
                             if (message.validDuration != null && message.hasOwnProperty("validDuration")) {
-                                var error = $root.google.protobuf.Duration.verify(message.validDuration);
+                                var error = $root.google.protobuf.Duration.verify(message.validDuration, long + 1);
                                 if (error)
                                     return "validDuration." + error;
                             }
@@ -60815,9 +63317,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.GenerateEphemeralCertRequest} GenerateEphemeralCertRequest
                          */
-                        GenerateEphemeralCertRequest.fromObject = function fromObject(object) {
+                        GenerateEphemeralCertRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.GenerateEphemeralCertRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.GenerateEphemeralCertRequest();
                             if (object.instance != null)
                                 message.instance = String(object.instance);
@@ -60830,12 +63336,12 @@
                             if (object.readTime != null) {
                                 if (typeof object.readTime !== "object")
                                     throw TypeError(".google.cloud.sql.v1.GenerateEphemeralCertRequest.readTime: object expected");
-                                message.readTime = $root.google.protobuf.Timestamp.fromObject(object.readTime);
+                                message.readTime = $root.google.protobuf.Timestamp.fromObject(object.readTime, long + 1);
                             }
                             if (object.validDuration != null) {
                                 if (typeof object.validDuration !== "object")
                                     throw TypeError(".google.cloud.sql.v1.GenerateEphemeralCertRequest.validDuration: object expected");
-                                message.validDuration = $root.google.protobuf.Duration.fromObject(object.validDuration);
+                                message.validDuration = $root.google.protobuf.Duration.fromObject(object.validDuration, long + 1);
                             }
                             return message;
                         };
@@ -60925,7 +63431,7 @@
                         function GenerateEphemeralCertResponse(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -60990,9 +63496,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        GenerateEphemeralCertResponse.decode = function decode(reader, length, error) {
+                        GenerateEphemeralCertResponse.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.GenerateEphemeralCertResponse();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -61000,11 +63510,11 @@
                                     break;
                                 switch (tag >>> 3) {
                                 case 1: {
-                                        message.ephemeralCert = $root.google.cloud.sql.v1.SslCert.decode(reader, reader.uint32());
+                                        message.ephemeralCert = $root.google.cloud.sql.v1.SslCert.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -61035,11 +63545,15 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        GenerateEphemeralCertResponse.verify = function verify(message) {
+                        GenerateEphemeralCertResponse.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.ephemeralCert != null && message.hasOwnProperty("ephemeralCert")) {
-                                var error = $root.google.cloud.sql.v1.SslCert.verify(message.ephemeralCert);
+                                var error = $root.google.cloud.sql.v1.SslCert.verify(message.ephemeralCert, long + 1);
                                 if (error)
                                     return "ephemeralCert." + error;
                             }
@@ -61054,14 +63568,18 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.GenerateEphemeralCertResponse} GenerateEphemeralCertResponse
                          */
-                        GenerateEphemeralCertResponse.fromObject = function fromObject(object) {
+                        GenerateEphemeralCertResponse.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.GenerateEphemeralCertResponse)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.GenerateEphemeralCertResponse();
                             if (object.ephemeralCert != null) {
                                 if (typeof object.ephemeralCert !== "object")
                                     throw TypeError(".google.cloud.sql.v1.GenerateEphemeralCertResponse.ephemeralCert: object expected");
-                                message.ephemeralCert = $root.google.cloud.sql.v1.SslCert.fromObject(object.ephemeralCert);
+                                message.ephemeralCert = $root.google.cloud.sql.v1.SslCert.fromObject(object.ephemeralCert, long + 1);
                             }
                             return message;
                         };
@@ -61370,7 +63888,7 @@
                         function SqlDatabasesDeleteRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -61455,9 +63973,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlDatabasesDeleteRequest.decode = function decode(reader, length, error) {
+                        SqlDatabasesDeleteRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.SqlDatabasesDeleteRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -61477,7 +63999,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -61508,9 +64030,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlDatabasesDeleteRequest.verify = function verify(message) {
+                        SqlDatabasesDeleteRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.database != null && message.hasOwnProperty("database"))
                                 if (!$util.isString(message.database))
                                     return "database: string expected";
@@ -61531,9 +64057,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.SqlDatabasesDeleteRequest} SqlDatabasesDeleteRequest
                          */
-                        SqlDatabasesDeleteRequest.fromObject = function fromObject(object) {
+                        SqlDatabasesDeleteRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.SqlDatabasesDeleteRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.SqlDatabasesDeleteRequest();
                             if (object.database != null)
                                 message.database = String(object.database);
@@ -61622,7 +64152,7 @@
                         function SqlDatabasesGetRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -61707,9 +64237,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlDatabasesGetRequest.decode = function decode(reader, length, error) {
+                        SqlDatabasesGetRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.SqlDatabasesGetRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -61729,7 +64263,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -61760,9 +64294,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlDatabasesGetRequest.verify = function verify(message) {
+                        SqlDatabasesGetRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.database != null && message.hasOwnProperty("database"))
                                 if (!$util.isString(message.database))
                                     return "database: string expected";
@@ -61783,9 +64321,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.SqlDatabasesGetRequest} SqlDatabasesGetRequest
                          */
-                        SqlDatabasesGetRequest.fromObject = function fromObject(object) {
+                        SqlDatabasesGetRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.SqlDatabasesGetRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.SqlDatabasesGetRequest();
                             if (object.database != null)
                                 message.database = String(object.database);
@@ -61874,7 +64416,7 @@
                         function SqlDatabasesInsertRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -61959,9 +64501,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlDatabasesInsertRequest.decode = function decode(reader, length, error) {
+                        SqlDatabasesInsertRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.SqlDatabasesInsertRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -61977,11 +64523,11 @@
                                         break;
                                     }
                                 case 100: {
-                                        message.body = $root.google.cloud.sql.v1.Database.decode(reader, reader.uint32());
+                                        message.body = $root.google.cloud.sql.v1.Database.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -62012,9 +64558,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlDatabasesInsertRequest.verify = function verify(message) {
+                        SqlDatabasesInsertRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.instance != null && message.hasOwnProperty("instance"))
                                 if (!$util.isString(message.instance))
                                     return "instance: string expected";
@@ -62022,7 +64572,7 @@
                                 if (!$util.isString(message.project))
                                     return "project: string expected";
                             if (message.body != null && message.hasOwnProperty("body")) {
-                                var error = $root.google.cloud.sql.v1.Database.verify(message.body);
+                                var error = $root.google.cloud.sql.v1.Database.verify(message.body, long + 1);
                                 if (error)
                                     return "body." + error;
                             }
@@ -62037,9 +64587,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.SqlDatabasesInsertRequest} SqlDatabasesInsertRequest
                          */
-                        SqlDatabasesInsertRequest.fromObject = function fromObject(object) {
+                        SqlDatabasesInsertRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.SqlDatabasesInsertRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.SqlDatabasesInsertRequest();
                             if (object.instance != null)
                                 message.instance = String(object.instance);
@@ -62048,7 +64602,7 @@
                             if (object.body != null) {
                                 if (typeof object.body !== "object")
                                     throw TypeError(".google.cloud.sql.v1.SqlDatabasesInsertRequest.body: object expected");
-                                message.body = $root.google.cloud.sql.v1.Database.fromObject(object.body);
+                                message.body = $root.google.cloud.sql.v1.Database.fromObject(object.body, long + 1);
                             }
                             return message;
                         };
@@ -62130,7 +64684,7 @@
                         function SqlDatabasesListRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -62205,9 +64759,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlDatabasesListRequest.decode = function decode(reader, length, error) {
+                        SqlDatabasesListRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.SqlDatabasesListRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -62223,7 +64781,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -62254,9 +64812,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlDatabasesListRequest.verify = function verify(message) {
+                        SqlDatabasesListRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.instance != null && message.hasOwnProperty("instance"))
                                 if (!$util.isString(message.instance))
                                     return "instance: string expected";
@@ -62274,9 +64836,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.SqlDatabasesListRequest} SqlDatabasesListRequest
                          */
-                        SqlDatabasesListRequest.fromObject = function fromObject(object) {
+                        SqlDatabasesListRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.SqlDatabasesListRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.SqlDatabasesListRequest();
                             if (object.instance != null)
                                 message.instance = String(object.instance);
@@ -62361,7 +64927,7 @@
                         function SqlDatabasesUpdateRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -62456,9 +65022,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlDatabasesUpdateRequest.decode = function decode(reader, length, error) {
+                        SqlDatabasesUpdateRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.SqlDatabasesUpdateRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -62478,11 +65048,11 @@
                                         break;
                                     }
                                 case 100: {
-                                        message.body = $root.google.cloud.sql.v1.Database.decode(reader, reader.uint32());
+                                        message.body = $root.google.cloud.sql.v1.Database.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -62513,9 +65083,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlDatabasesUpdateRequest.verify = function verify(message) {
+                        SqlDatabasesUpdateRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.database != null && message.hasOwnProperty("database"))
                                 if (!$util.isString(message.database))
                                     return "database: string expected";
@@ -62526,7 +65100,7 @@
                                 if (!$util.isString(message.project))
                                     return "project: string expected";
                             if (message.body != null && message.hasOwnProperty("body")) {
-                                var error = $root.google.cloud.sql.v1.Database.verify(message.body);
+                                var error = $root.google.cloud.sql.v1.Database.verify(message.body, long + 1);
                                 if (error)
                                     return "body." + error;
                             }
@@ -62541,9 +65115,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.SqlDatabasesUpdateRequest} SqlDatabasesUpdateRequest
                          */
-                        SqlDatabasesUpdateRequest.fromObject = function fromObject(object) {
+                        SqlDatabasesUpdateRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.SqlDatabasesUpdateRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.SqlDatabasesUpdateRequest();
                             if (object.database != null)
                                 message.database = String(object.database);
@@ -62554,7 +65132,7 @@
                             if (object.body != null) {
                                 if (typeof object.body !== "object")
                                     throw TypeError(".google.cloud.sql.v1.SqlDatabasesUpdateRequest.body: object expected");
-                                message.body = $root.google.cloud.sql.v1.Database.fromObject(object.body);
+                                message.body = $root.google.cloud.sql.v1.Database.fromObject(object.body, long + 1);
                             }
                             return message;
                         };
@@ -62640,7 +65218,7 @@
                             this.items = [];
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -62716,9 +65294,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        DatabasesListResponse.decode = function decode(reader, length, error) {
+                        DatabasesListResponse.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.DatabasesListResponse();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -62732,11 +65314,11 @@
                                 case 2: {
                                         if (!(message.items && message.items.length))
                                             message.items = [];
-                                        message.items.push($root.google.cloud.sql.v1.Database.decode(reader, reader.uint32()));
+                                        message.items.push($root.google.cloud.sql.v1.Database.decode(reader, reader.uint32(), undefined, long + 1));
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -62767,9 +65349,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        DatabasesListResponse.verify = function verify(message) {
+                        DatabasesListResponse.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.kind != null && message.hasOwnProperty("kind"))
                                 if (!$util.isString(message.kind))
                                     return "kind: string expected";
@@ -62777,7 +65363,7 @@
                                 if (!Array.isArray(message.items))
                                     return "items: array expected";
                                 for (var i = 0; i < message.items.length; ++i) {
-                                    var error = $root.google.cloud.sql.v1.Database.verify(message.items[i]);
+                                    var error = $root.google.cloud.sql.v1.Database.verify(message.items[i], long + 1);
                                     if (error)
                                         return "items." + error;
                                 }
@@ -62793,9 +65379,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.DatabasesListResponse} DatabasesListResponse
                          */
-                        DatabasesListResponse.fromObject = function fromObject(object) {
+                        DatabasesListResponse.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.DatabasesListResponse)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.DatabasesListResponse();
                             if (object.kind != null)
                                 message.kind = String(object.kind);
@@ -62806,7 +65396,7 @@
                                 for (var i = 0; i < object.items.length; ++i) {
                                     if (typeof object.items[i] !== "object")
                                         throw TypeError(".google.cloud.sql.v1.DatabasesListResponse.items: object expected");
-                                    message.items[i] = $root.google.cloud.sql.v1.Database.fromObject(object.items[i]);
+                                    message.items[i] = $root.google.cloud.sql.v1.Database.fromObject(object.items[i], long + 1);
                                 }
                             }
                             return message;
@@ -63027,7 +65617,7 @@
                         function SqlFlagsListRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -63111,9 +65701,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlFlagsListRequest.decode = function decode(reader, length, error) {
+                        SqlFlagsListRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.SqlFlagsListRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -63129,7 +65723,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -63160,9 +65754,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlFlagsListRequest.verify = function verify(message) {
+                        SqlFlagsListRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             var properties = {};
                             if (message.databaseVersion != null && message.hasOwnProperty("databaseVersion"))
                                 if (!$util.isString(message.databaseVersion))
@@ -63189,9 +65787,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.SqlFlagsListRequest} SqlFlagsListRequest
                          */
-                        SqlFlagsListRequest.fromObject = function fromObject(object) {
+                        SqlFlagsListRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.SqlFlagsListRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.SqlFlagsListRequest();
                             if (object.databaseVersion != null)
                                 message.databaseVersion = String(object.databaseVersion);
@@ -63294,7 +65896,7 @@
                             this.items = [];
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -63370,9 +65972,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        FlagsListResponse.decode = function decode(reader, length, error) {
+                        FlagsListResponse.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.FlagsListResponse();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -63386,11 +65992,11 @@
                                 case 2: {
                                         if (!(message.items && message.items.length))
                                             message.items = [];
-                                        message.items.push($root.google.cloud.sql.v1.Flag.decode(reader, reader.uint32()));
+                                        message.items.push($root.google.cloud.sql.v1.Flag.decode(reader, reader.uint32(), undefined, long + 1));
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -63421,9 +66027,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        FlagsListResponse.verify = function verify(message) {
+                        FlagsListResponse.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.kind != null && message.hasOwnProperty("kind"))
                                 if (!$util.isString(message.kind))
                                     return "kind: string expected";
@@ -63431,7 +66041,7 @@
                                 if (!Array.isArray(message.items))
                                     return "items: array expected";
                                 for (var i = 0; i < message.items.length; ++i) {
-                                    var error = $root.google.cloud.sql.v1.Flag.verify(message.items[i]);
+                                    var error = $root.google.cloud.sql.v1.Flag.verify(message.items[i], long + 1);
                                     if (error)
                                         return "items." + error;
                                 }
@@ -63447,9 +66057,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.FlagsListResponse} FlagsListResponse
                          */
-                        FlagsListResponse.fromObject = function fromObject(object) {
+                        FlagsListResponse.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.FlagsListResponse)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.FlagsListResponse();
                             if (object.kind != null)
                                 message.kind = String(object.kind);
@@ -63460,7 +66074,7 @@
                                 for (var i = 0; i < object.items.length; ++i) {
                                     if (typeof object.items[i] !== "object")
                                         throw TypeError(".google.cloud.sql.v1.FlagsListResponse.items: object expected");
-                                    message.items[i] = $root.google.cloud.sql.v1.Flag.fromObject(object.items[i]);
+                                    message.items[i] = $root.google.cloud.sql.v1.Flag.fromObject(object.items[i], long + 1);
                                 }
                             }
                             return message;
@@ -63557,7 +66171,7 @@
                             this.allowedIntValues = [];
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -63765,9 +66379,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        Flag.decode = function decode(reader, length, error) {
+                        Flag.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.Flag();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -63800,15 +66418,15 @@
                                         break;
                                     }
                                 case 5: {
-                                        message.minValue = $root.google.protobuf.Int64Value.decode(reader, reader.uint32());
+                                        message.minValue = $root.google.protobuf.Int64Value.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 6: {
-                                        message.maxValue = $root.google.protobuf.Int64Value.decode(reader, reader.uint32());
+                                        message.maxValue = $root.google.protobuf.Int64Value.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 7: {
-                                        message.requiresRestart = $root.google.protobuf.BoolValue.decode(reader, reader.uint32());
+                                        message.requiresRestart = $root.google.protobuf.BoolValue.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 8: {
@@ -63816,7 +66434,7 @@
                                         break;
                                     }
                                 case 9: {
-                                        message.inBeta = $root.google.protobuf.BoolValue.decode(reader, reader.uint32());
+                                        message.inBeta = $root.google.protobuf.BoolValue.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 10: {
@@ -63839,11 +66457,11 @@
                                         break;
                                     }
                                 case 17: {
-                                        message.recommendedIntValue = $root.google.protobuf.Int64Value.decode(reader, reader.uint32());
+                                        message.recommendedIntValue = $root.google.protobuf.Int64Value.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -63874,9 +66492,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        Flag.verify = function verify(message) {
+                        Flag.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             var properties = {};
                             if (message.name != null && message.hasOwnProperty("name"))
                                 if (!$util.isString(message.name))
@@ -63945,6 +66567,7 @@
                                     case 272:
                                     case 408:
                                     case 557:
+                                    case 684:
                                     case 26:
                                     case 27:
                                     case 28:
@@ -63953,6 +66576,9 @@
                                     case 200:
                                     case 201:
                                     case 202:
+                                    case 549:
+                                    case 550:
+                                    case 551:
                                         break;
                                     }
                             }
@@ -63964,17 +66590,17 @@
                                         return "allowedStringValues: string[] expected";
                             }
                             if (message.minValue != null && message.hasOwnProperty("minValue")) {
-                                var error = $root.google.protobuf.Int64Value.verify(message.minValue);
+                                var error = $root.google.protobuf.Int64Value.verify(message.minValue, long + 1);
                                 if (error)
                                     return "minValue." + error;
                             }
                             if (message.maxValue != null && message.hasOwnProperty("maxValue")) {
-                                var error = $root.google.protobuf.Int64Value.verify(message.maxValue);
+                                var error = $root.google.protobuf.Int64Value.verify(message.maxValue, long + 1);
                                 if (error)
                                     return "maxValue." + error;
                             }
                             if (message.requiresRestart != null && message.hasOwnProperty("requiresRestart")) {
-                                var error = $root.google.protobuf.BoolValue.verify(message.requiresRestart);
+                                var error = $root.google.protobuf.BoolValue.verify(message.requiresRestart, long + 1);
                                 if (error)
                                     return "requiresRestart." + error;
                             }
@@ -63982,7 +66608,7 @@
                                 if (!$util.isString(message.kind))
                                     return "kind: string expected";
                             if (message.inBeta != null && message.hasOwnProperty("inBeta")) {
-                                var error = $root.google.protobuf.BoolValue.verify(message.inBeta);
+                                var error = $root.google.protobuf.BoolValue.verify(message.inBeta, long + 1);
                                 if (error)
                                     return "inBeta." + error;
                             }
@@ -64012,7 +66638,7 @@
                                     return "recommendedValue: multiple values";
                                 properties.recommendedValue = 1;
                                 {
-                                    var error = $root.google.protobuf.Int64Value.verify(message.recommendedIntValue);
+                                    var error = $root.google.protobuf.Int64Value.verify(message.recommendedIntValue, long + 1);
                                     if (error)
                                         return "recommendedIntValue." + error;
                                 }
@@ -64028,9 +66654,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.Flag} Flag
                          */
-                        Flag.fromObject = function fromObject(object) {
+                        Flag.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.Flag)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.Flag();
                             if (object.name != null)
                                 message.name = String(object.name);
@@ -64257,6 +66887,10 @@
                                     case 557:
                                         message.appliesTo[i] = 557;
                                         break;
+                                    case "POSTGRES_19":
+                                    case 684:
+                                        message.appliesTo[i] = 684;
+                                        break;
                                     case "SQLSERVER_2019_STANDARD":
                                     case 26:
                                         message.appliesTo[i] = 26;
@@ -64289,6 +66923,18 @@
                                     case 202:
                                         message.appliesTo[i] = 202;
                                         break;
+                                    case "SQLSERVER_2025_STANDARD":
+                                    case 549:
+                                        message.appliesTo[i] = 549;
+                                        break;
+                                    case "SQLSERVER_2025_ENTERPRISE":
+                                    case 550:
+                                        message.appliesTo[i] = 550;
+                                        break;
+                                    case "SQLSERVER_2025_EXPRESS":
+                                    case 551:
+                                        message.appliesTo[i] = 551;
+                                        break;
                                     }
                             }
                             if (object.allowedStringValues) {
@@ -64301,24 +66947,24 @@
                             if (object.minValue != null) {
                                 if (typeof object.minValue !== "object")
                                     throw TypeError(".google.cloud.sql.v1.Flag.minValue: object expected");
-                                message.minValue = $root.google.protobuf.Int64Value.fromObject(object.minValue);
+                                message.minValue = $root.google.protobuf.Int64Value.fromObject(object.minValue, long + 1);
                             }
                             if (object.maxValue != null) {
                                 if (typeof object.maxValue !== "object")
                                     throw TypeError(".google.cloud.sql.v1.Flag.maxValue: object expected");
-                                message.maxValue = $root.google.protobuf.Int64Value.fromObject(object.maxValue);
+                                message.maxValue = $root.google.protobuf.Int64Value.fromObject(object.maxValue, long + 1);
                             }
                             if (object.requiresRestart != null) {
                                 if (typeof object.requiresRestart !== "object")
                                     throw TypeError(".google.cloud.sql.v1.Flag.requiresRestart: object expected");
-                                message.requiresRestart = $root.google.protobuf.BoolValue.fromObject(object.requiresRestart);
+                                message.requiresRestart = $root.google.protobuf.BoolValue.fromObject(object.requiresRestart, long + 1);
                             }
                             if (object.kind != null)
                                 message.kind = String(object.kind);
                             if (object.inBeta != null) {
                                 if (typeof object.inBeta !== "object")
                                     throw TypeError(".google.cloud.sql.v1.Flag.inBeta: object expected");
-                                message.inBeta = $root.google.protobuf.BoolValue.fromObject(object.inBeta);
+                                message.inBeta = $root.google.protobuf.BoolValue.fromObject(object.inBeta, long + 1);
                             }
                             if (object.allowedIntValues) {
                                 if (!Array.isArray(object.allowedIntValues))
@@ -64359,7 +67005,7 @@
                             if (object.recommendedIntValue != null) {
                                 if (typeof object.recommendedIntValue !== "object")
                                     throw TypeError(".google.cloud.sql.v1.Flag.recommendedIntValue: object expected");
-                                message.recommendedIntValue = $root.google.protobuf.Int64Value.fromObject(object.recommendedIntValue);
+                                message.recommendedIntValue = $root.google.protobuf.Int64Value.fromObject(object.recommendedIntValue, long + 1);
                             }
                             return message;
                         };
@@ -64735,7 +67381,7 @@
                         function SqlOperationsGetRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -64810,9 +67456,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlOperationsGetRequest.decode = function decode(reader, length, error) {
+                        SqlOperationsGetRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.SqlOperationsGetRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -64828,7 +67478,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -64859,9 +67509,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlOperationsGetRequest.verify = function verify(message) {
+                        SqlOperationsGetRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.operation != null && message.hasOwnProperty("operation"))
                                 if (!$util.isString(message.operation))
                                     return "operation: string expected";
@@ -64879,9 +67533,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.SqlOperationsGetRequest} SqlOperationsGetRequest
                          */
-                        SqlOperationsGetRequest.fromObject = function fromObject(object) {
+                        SqlOperationsGetRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.SqlOperationsGetRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.SqlOperationsGetRequest();
                             if (object.operation != null)
                                 message.operation = String(object.operation);
@@ -64966,7 +67624,7 @@
                         function SqlOperationsListRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -65061,9 +67719,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlOperationsListRequest.decode = function decode(reader, length, error) {
+                        SqlOperationsListRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.SqlOperationsListRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -65087,7 +67749,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -65118,9 +67780,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlOperationsListRequest.verify = function verify(message) {
+                        SqlOperationsListRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.instance != null && message.hasOwnProperty("instance"))
                                 if (!$util.isString(message.instance))
                                     return "instance: string expected";
@@ -65144,9 +67810,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.SqlOperationsListRequest} SqlOperationsListRequest
                          */
-                        SqlOperationsListRequest.fromObject = function fromObject(object) {
+                        SqlOperationsListRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.SqlOperationsListRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.SqlOperationsListRequest();
                             if (object.instance != null)
                                 message.instance = String(object.instance);
@@ -65241,7 +67911,7 @@
                             this.items = [];
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -65327,9 +67997,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        OperationsListResponse.decode = function decode(reader, length, error) {
+                        OperationsListResponse.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.OperationsListResponse();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -65343,7 +68017,7 @@
                                 case 2: {
                                         if (!(message.items && message.items.length))
                                             message.items = [];
-                                        message.items.push($root.google.cloud.sql.v1.Operation.decode(reader, reader.uint32()));
+                                        message.items.push($root.google.cloud.sql.v1.Operation.decode(reader, reader.uint32(), undefined, long + 1));
                                         break;
                                     }
                                 case 3: {
@@ -65351,7 +68025,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -65382,9 +68056,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        OperationsListResponse.verify = function verify(message) {
+                        OperationsListResponse.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.kind != null && message.hasOwnProperty("kind"))
                                 if (!$util.isString(message.kind))
                                     return "kind: string expected";
@@ -65392,7 +68070,7 @@
                                 if (!Array.isArray(message.items))
                                     return "items: array expected";
                                 for (var i = 0; i < message.items.length; ++i) {
-                                    var error = $root.google.cloud.sql.v1.Operation.verify(message.items[i]);
+                                    var error = $root.google.cloud.sql.v1.Operation.verify(message.items[i], long + 1);
                                     if (error)
                                         return "items." + error;
                                 }
@@ -65411,9 +68089,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.OperationsListResponse} OperationsListResponse
                          */
-                        OperationsListResponse.fromObject = function fromObject(object) {
+                        OperationsListResponse.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.OperationsListResponse)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.OperationsListResponse();
                             if (object.kind != null)
                                 message.kind = String(object.kind);
@@ -65424,7 +68106,7 @@
                                 for (var i = 0; i < object.items.length; ++i) {
                                     if (typeof object.items[i] !== "object")
                                         throw TypeError(".google.cloud.sql.v1.OperationsListResponse.items: object expected");
-                                    message.items[i] = $root.google.cloud.sql.v1.Operation.fromObject(object.items[i]);
+                                    message.items[i] = $root.google.cloud.sql.v1.Operation.fromObject(object.items[i], long + 1);
                                 }
                             }
                             if (object.nextPageToken != null)
@@ -65513,7 +68195,7 @@
                         function SqlOperationsCancelRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -65588,9 +68270,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlOperationsCancelRequest.decode = function decode(reader, length, error) {
+                        SqlOperationsCancelRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.SqlOperationsCancelRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -65606,7 +68292,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -65637,9 +68323,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlOperationsCancelRequest.verify = function verify(message) {
+                        SqlOperationsCancelRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.operation != null && message.hasOwnProperty("operation"))
                                 if (!$util.isString(message.operation))
                                     return "operation: string expected";
@@ -65657,9 +68347,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.SqlOperationsCancelRequest} SqlOperationsCancelRequest
                          */
-                        SqlOperationsCancelRequest.fromObject = function fromObject(object) {
+                        SqlOperationsCancelRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.SqlOperationsCancelRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.SqlOperationsCancelRequest();
                             if (object.operation != null)
                                 message.operation = String(object.operation);
@@ -65945,7 +68639,7 @@
                         function SqlSslCertsDeleteRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -66030,9 +68724,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlSslCertsDeleteRequest.decode = function decode(reader, length, error) {
+                        SqlSslCertsDeleteRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.SqlSslCertsDeleteRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -66052,7 +68750,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -66083,9 +68781,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlSslCertsDeleteRequest.verify = function verify(message) {
+                        SqlSslCertsDeleteRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.instance != null && message.hasOwnProperty("instance"))
                                 if (!$util.isString(message.instance))
                                     return "instance: string expected";
@@ -66106,9 +68808,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.SqlSslCertsDeleteRequest} SqlSslCertsDeleteRequest
                          */
-                        SqlSslCertsDeleteRequest.fromObject = function fromObject(object) {
+                        SqlSslCertsDeleteRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.SqlSslCertsDeleteRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.SqlSslCertsDeleteRequest();
                             if (object.instance != null)
                                 message.instance = String(object.instance);
@@ -66197,7 +68903,7 @@
                         function SqlSslCertsGetRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -66282,9 +68988,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlSslCertsGetRequest.decode = function decode(reader, length, error) {
+                        SqlSslCertsGetRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.SqlSslCertsGetRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -66304,7 +69014,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -66335,9 +69045,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlSslCertsGetRequest.verify = function verify(message) {
+                        SqlSslCertsGetRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.instance != null && message.hasOwnProperty("instance"))
                                 if (!$util.isString(message.instance))
                                     return "instance: string expected";
@@ -66358,9 +69072,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.SqlSslCertsGetRequest} SqlSslCertsGetRequest
                          */
-                        SqlSslCertsGetRequest.fromObject = function fromObject(object) {
+                        SqlSslCertsGetRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.SqlSslCertsGetRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.SqlSslCertsGetRequest();
                             if (object.instance != null)
                                 message.instance = String(object.instance);
@@ -66449,7 +69167,7 @@
                         function SqlSslCertsInsertRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -66534,9 +69252,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlSslCertsInsertRequest.decode = function decode(reader, length, error) {
+                        SqlSslCertsInsertRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.SqlSslCertsInsertRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -66552,11 +69274,11 @@
                                         break;
                                     }
                                 case 100: {
-                                        message.body = $root.google.cloud.sql.v1.SslCertsInsertRequest.decode(reader, reader.uint32());
+                                        message.body = $root.google.cloud.sql.v1.SslCertsInsertRequest.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -66587,9 +69309,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlSslCertsInsertRequest.verify = function verify(message) {
+                        SqlSslCertsInsertRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.instance != null && message.hasOwnProperty("instance"))
                                 if (!$util.isString(message.instance))
                                     return "instance: string expected";
@@ -66597,7 +69323,7 @@
                                 if (!$util.isString(message.project))
                                     return "project: string expected";
                             if (message.body != null && message.hasOwnProperty("body")) {
-                                var error = $root.google.cloud.sql.v1.SslCertsInsertRequest.verify(message.body);
+                                var error = $root.google.cloud.sql.v1.SslCertsInsertRequest.verify(message.body, long + 1);
                                 if (error)
                                     return "body." + error;
                             }
@@ -66612,9 +69338,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.SqlSslCertsInsertRequest} SqlSslCertsInsertRequest
                          */
-                        SqlSslCertsInsertRequest.fromObject = function fromObject(object) {
+                        SqlSslCertsInsertRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.SqlSslCertsInsertRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.SqlSslCertsInsertRequest();
                             if (object.instance != null)
                                 message.instance = String(object.instance);
@@ -66623,7 +69353,7 @@
                             if (object.body != null) {
                                 if (typeof object.body !== "object")
                                     throw TypeError(".google.cloud.sql.v1.SqlSslCertsInsertRequest.body: object expected");
-                                message.body = $root.google.cloud.sql.v1.SslCertsInsertRequest.fromObject(object.body);
+                                message.body = $root.google.cloud.sql.v1.SslCertsInsertRequest.fromObject(object.body, long + 1);
                             }
                             return message;
                         };
@@ -66705,7 +69435,7 @@
                         function SqlSslCertsListRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -66780,9 +69510,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlSslCertsListRequest.decode = function decode(reader, length, error) {
+                        SqlSslCertsListRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.SqlSslCertsListRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -66798,7 +69532,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -66829,9 +69563,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlSslCertsListRequest.verify = function verify(message) {
+                        SqlSslCertsListRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.instance != null && message.hasOwnProperty("instance"))
                                 if (!$util.isString(message.instance))
                                     return "instance: string expected";
@@ -66849,9 +69587,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.SqlSslCertsListRequest} SqlSslCertsListRequest
                          */
-                        SqlSslCertsListRequest.fromObject = function fromObject(object) {
+                        SqlSslCertsListRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.SqlSslCertsListRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.SqlSslCertsListRequest();
                             if (object.instance != null)
                                 message.instance = String(object.instance);
@@ -66933,7 +69675,7 @@
                         function SslCertsInsertRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -66998,9 +69740,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SslCertsInsertRequest.decode = function decode(reader, length, error) {
+                        SslCertsInsertRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.SslCertsInsertRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -67012,7 +69758,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -67043,9 +69789,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SslCertsInsertRequest.verify = function verify(message) {
+                        SslCertsInsertRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.commonName != null && message.hasOwnProperty("commonName"))
                                 if (!$util.isString(message.commonName))
                                     return "commonName: string expected";
@@ -67060,9 +69810,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.SslCertsInsertRequest} SslCertsInsertRequest
                          */
-                        SslCertsInsertRequest.fromObject = function fromObject(object) {
+                        SslCertsInsertRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.SslCertsInsertRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.SslCertsInsertRequest();
                             if (object.commonName != null)
                                 message.commonName = String(object.commonName);
@@ -67141,7 +69895,7 @@
                         function SslCertsInsertResponse(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -67236,9 +69990,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SslCertsInsertResponse.decode = function decode(reader, length, error) {
+                        SslCertsInsertResponse.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.SslCertsInsertResponse();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -67250,19 +70008,19 @@
                                         break;
                                     }
                                 case 2: {
-                                        message.operation = $root.google.cloud.sql.v1.Operation.decode(reader, reader.uint32());
+                                        message.operation = $root.google.cloud.sql.v1.Operation.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 3: {
-                                        message.serverCaCert = $root.google.cloud.sql.v1.SslCert.decode(reader, reader.uint32());
+                                        message.serverCaCert = $root.google.cloud.sql.v1.SslCert.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 4: {
-                                        message.clientCert = $root.google.cloud.sql.v1.SslCertDetail.decode(reader, reader.uint32());
+                                        message.clientCert = $root.google.cloud.sql.v1.SslCertDetail.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -67293,24 +70051,28 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SslCertsInsertResponse.verify = function verify(message) {
+                        SslCertsInsertResponse.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.kind != null && message.hasOwnProperty("kind"))
                                 if (!$util.isString(message.kind))
                                     return "kind: string expected";
                             if (message.operation != null && message.hasOwnProperty("operation")) {
-                                var error = $root.google.cloud.sql.v1.Operation.verify(message.operation);
+                                var error = $root.google.cloud.sql.v1.Operation.verify(message.operation, long + 1);
                                 if (error)
                                     return "operation." + error;
                             }
                             if (message.serverCaCert != null && message.hasOwnProperty("serverCaCert")) {
-                                var error = $root.google.cloud.sql.v1.SslCert.verify(message.serverCaCert);
+                                var error = $root.google.cloud.sql.v1.SslCert.verify(message.serverCaCert, long + 1);
                                 if (error)
                                     return "serverCaCert." + error;
                             }
                             if (message.clientCert != null && message.hasOwnProperty("clientCert")) {
-                                var error = $root.google.cloud.sql.v1.SslCertDetail.verify(message.clientCert);
+                                var error = $root.google.cloud.sql.v1.SslCertDetail.verify(message.clientCert, long + 1);
                                 if (error)
                                     return "clientCert." + error;
                             }
@@ -67325,26 +70087,30 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.SslCertsInsertResponse} SslCertsInsertResponse
                          */
-                        SslCertsInsertResponse.fromObject = function fromObject(object) {
+                        SslCertsInsertResponse.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.SslCertsInsertResponse)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.SslCertsInsertResponse();
                             if (object.kind != null)
                                 message.kind = String(object.kind);
                             if (object.operation != null) {
                                 if (typeof object.operation !== "object")
                                     throw TypeError(".google.cloud.sql.v1.SslCertsInsertResponse.operation: object expected");
-                                message.operation = $root.google.cloud.sql.v1.Operation.fromObject(object.operation);
+                                message.operation = $root.google.cloud.sql.v1.Operation.fromObject(object.operation, long + 1);
                             }
                             if (object.serverCaCert != null) {
                                 if (typeof object.serverCaCert !== "object")
                                     throw TypeError(".google.cloud.sql.v1.SslCertsInsertResponse.serverCaCert: object expected");
-                                message.serverCaCert = $root.google.cloud.sql.v1.SslCert.fromObject(object.serverCaCert);
+                                message.serverCaCert = $root.google.cloud.sql.v1.SslCert.fromObject(object.serverCaCert, long + 1);
                             }
                             if (object.clientCert != null) {
                                 if (typeof object.clientCert !== "object")
                                     throw TypeError(".google.cloud.sql.v1.SslCertsInsertResponse.clientCert: object expected");
-                                message.clientCert = $root.google.cloud.sql.v1.SslCertDetail.fromObject(object.clientCert);
+                                message.clientCert = $root.google.cloud.sql.v1.SslCertDetail.fromObject(object.clientCert, long + 1);
                             }
                             return message;
                         };
@@ -67430,7 +70196,7 @@
                             this.items = [];
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -67506,9 +70272,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SslCertsListResponse.decode = function decode(reader, length, error) {
+                        SslCertsListResponse.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.SslCertsListResponse();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -67522,11 +70292,11 @@
                                 case 2: {
                                         if (!(message.items && message.items.length))
                                             message.items = [];
-                                        message.items.push($root.google.cloud.sql.v1.SslCert.decode(reader, reader.uint32()));
+                                        message.items.push($root.google.cloud.sql.v1.SslCert.decode(reader, reader.uint32(), undefined, long + 1));
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -67557,9 +70327,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SslCertsListResponse.verify = function verify(message) {
+                        SslCertsListResponse.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.kind != null && message.hasOwnProperty("kind"))
                                 if (!$util.isString(message.kind))
                                     return "kind: string expected";
@@ -67567,7 +70341,7 @@
                                 if (!Array.isArray(message.items))
                                     return "items: array expected";
                                 for (var i = 0; i < message.items.length; ++i) {
-                                    var error = $root.google.cloud.sql.v1.SslCert.verify(message.items[i]);
+                                    var error = $root.google.cloud.sql.v1.SslCert.verify(message.items[i], long + 1);
                                     if (error)
                                         return "items." + error;
                                 }
@@ -67583,9 +70357,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.SslCertsListResponse} SslCertsListResponse
                          */
-                        SslCertsListResponse.fromObject = function fromObject(object) {
+                        SslCertsListResponse.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.SslCertsListResponse)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.SslCertsListResponse();
                             if (object.kind != null)
                                 message.kind = String(object.kind);
@@ -67596,7 +70374,7 @@
                                 for (var i = 0; i < object.items.length; ++i) {
                                     if (typeof object.items[i] !== "object")
                                         throw TypeError(".google.cloud.sql.v1.SslCertsListResponse.items: object expected");
-                                    message.items[i] = $root.google.cloud.sql.v1.SslCert.fromObject(object.items[i]);
+                                    message.items[i] = $root.google.cloud.sql.v1.SslCert.fromObject(object.items[i], long + 1);
                                 }
                             }
                             return message;
@@ -67746,7 +70524,7 @@
                         function SqlTiersListRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -67811,9 +70589,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlTiersListRequest.decode = function decode(reader, length, error) {
+                        SqlTiersListRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.SqlTiersListRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -67825,7 +70607,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -67856,9 +70638,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlTiersListRequest.verify = function verify(message) {
+                        SqlTiersListRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.project != null && message.hasOwnProperty("project"))
                                 if (!$util.isString(message.project))
                                     return "project: string expected";
@@ -67873,9 +70659,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.SqlTiersListRequest} SqlTiersListRequest
                          */
-                        SqlTiersListRequest.fromObject = function fromObject(object) {
+                        SqlTiersListRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.SqlTiersListRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.SqlTiersListRequest();
                             if (object.project != null)
                                 message.project = String(object.project);
@@ -67953,7 +70743,7 @@
                             this.items = [];
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -68029,9 +70819,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        TiersListResponse.decode = function decode(reader, length, error) {
+                        TiersListResponse.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.TiersListResponse();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -68045,11 +70839,11 @@
                                 case 2: {
                                         if (!(message.items && message.items.length))
                                             message.items = [];
-                                        message.items.push($root.google.cloud.sql.v1.Tier.decode(reader, reader.uint32()));
+                                        message.items.push($root.google.cloud.sql.v1.Tier.decode(reader, reader.uint32(), undefined, long + 1));
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -68080,9 +70874,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        TiersListResponse.verify = function verify(message) {
+                        TiersListResponse.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.kind != null && message.hasOwnProperty("kind"))
                                 if (!$util.isString(message.kind))
                                     return "kind: string expected";
@@ -68090,7 +70888,7 @@
                                 if (!Array.isArray(message.items))
                                     return "items: array expected";
                                 for (var i = 0; i < message.items.length; ++i) {
-                                    var error = $root.google.cloud.sql.v1.Tier.verify(message.items[i]);
+                                    var error = $root.google.cloud.sql.v1.Tier.verify(message.items[i], long + 1);
                                     if (error)
                                         return "items." + error;
                                 }
@@ -68106,9 +70904,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.TiersListResponse} TiersListResponse
                          */
-                        TiersListResponse.fromObject = function fromObject(object) {
+                        TiersListResponse.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.TiersListResponse)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.TiersListResponse();
                             if (object.kind != null)
                                 message.kind = String(object.kind);
@@ -68119,7 +70921,7 @@
                                 for (var i = 0; i < object.items.length; ++i) {
                                     if (typeof object.items[i] !== "object")
                                         throw TypeError(".google.cloud.sql.v1.TiersListResponse.items: object expected");
-                                    message.items[i] = $root.google.cloud.sql.v1.Tier.fromObject(object.items[i]);
+                                    message.items[i] = $root.google.cloud.sql.v1.Tier.fromObject(object.items[i], long + 1);
                                 }
                             }
                             return message;
@@ -68206,7 +71008,7 @@
                             this.region = [];
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -68312,9 +71114,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        Tier.decode = function decode(reader, length, error) {
+                        Tier.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.Tier();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -68344,7 +71150,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -68375,9 +71181,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        Tier.verify = function verify(message) {
+                        Tier.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.tier != null && message.hasOwnProperty("tier"))
                                 if (!$util.isString(message.tier))
                                     return "tier: string expected";
@@ -68408,9 +71218,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.Tier} Tier
                          */
-                        Tier.fromObject = function fromObject(object) {
+                        Tier.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.Tier)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.Tier();
                             if (object.tier != null)
                                 message.tier = String(object.tier);
@@ -68747,7 +71561,7 @@
                         function SqlUsersDeleteRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -68842,9 +71656,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlUsersDeleteRequest.decode = function decode(reader, length, error) {
+                        SqlUsersDeleteRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.SqlUsersDeleteRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -68868,7 +71686,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -68899,9 +71717,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlUsersDeleteRequest.verify = function verify(message) {
+                        SqlUsersDeleteRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.host != null && message.hasOwnProperty("host"))
                                 if (!$util.isString(message.host))
                                     return "host: string expected";
@@ -68925,9 +71747,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.SqlUsersDeleteRequest} SqlUsersDeleteRequest
                          */
-                        SqlUsersDeleteRequest.fromObject = function fromObject(object) {
+                        SqlUsersDeleteRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.SqlUsersDeleteRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.SqlUsersDeleteRequest();
                             if (object.host != null)
                                 message.host = String(object.host);
@@ -69022,7 +71848,7 @@
                         function SqlUsersGetRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -69117,9 +71943,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlUsersGetRequest.decode = function decode(reader, length, error) {
+                        SqlUsersGetRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.SqlUsersGetRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -69143,7 +71973,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -69174,9 +72004,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlUsersGetRequest.verify = function verify(message) {
+                        SqlUsersGetRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.instance != null && message.hasOwnProperty("instance"))
                                 if (!$util.isString(message.instance))
                                     return "instance: string expected";
@@ -69200,9 +72034,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.SqlUsersGetRequest} SqlUsersGetRequest
                          */
-                        SqlUsersGetRequest.fromObject = function fromObject(object) {
+                        SqlUsersGetRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.SqlUsersGetRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.SqlUsersGetRequest();
                             if (object.instance != null)
                                 message.instance = String(object.instance);
@@ -69296,7 +72134,7 @@
                         function SqlUsersInsertRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -69381,9 +72219,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlUsersInsertRequest.decode = function decode(reader, length, error) {
+                        SqlUsersInsertRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.SqlUsersInsertRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -69399,11 +72241,11 @@
                                         break;
                                     }
                                 case 100: {
-                                        message.body = $root.google.cloud.sql.v1.User.decode(reader, reader.uint32());
+                                        message.body = $root.google.cloud.sql.v1.User.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -69434,9 +72276,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlUsersInsertRequest.verify = function verify(message) {
+                        SqlUsersInsertRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.instance != null && message.hasOwnProperty("instance"))
                                 if (!$util.isString(message.instance))
                                     return "instance: string expected";
@@ -69444,7 +72290,7 @@
                                 if (!$util.isString(message.project))
                                     return "project: string expected";
                             if (message.body != null && message.hasOwnProperty("body")) {
-                                var error = $root.google.cloud.sql.v1.User.verify(message.body);
+                                var error = $root.google.cloud.sql.v1.User.verify(message.body, long + 1);
                                 if (error)
                                     return "body." + error;
                             }
@@ -69459,9 +72305,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.SqlUsersInsertRequest} SqlUsersInsertRequest
                          */
-                        SqlUsersInsertRequest.fromObject = function fromObject(object) {
+                        SqlUsersInsertRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.SqlUsersInsertRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.SqlUsersInsertRequest();
                             if (object.instance != null)
                                 message.instance = String(object.instance);
@@ -69470,7 +72320,7 @@
                             if (object.body != null) {
                                 if (typeof object.body !== "object")
                                     throw TypeError(".google.cloud.sql.v1.SqlUsersInsertRequest.body: object expected");
-                                message.body = $root.google.cloud.sql.v1.User.fromObject(object.body);
+                                message.body = $root.google.cloud.sql.v1.User.fromObject(object.body, long + 1);
                             }
                             return message;
                         };
@@ -69552,7 +72402,7 @@
                         function SqlUsersListRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -69627,9 +72477,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlUsersListRequest.decode = function decode(reader, length, error) {
+                        SqlUsersListRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.SqlUsersListRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -69645,7 +72499,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -69676,9 +72530,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlUsersListRequest.verify = function verify(message) {
+                        SqlUsersListRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.instance != null && message.hasOwnProperty("instance"))
                                 if (!$util.isString(message.instance))
                                     return "instance: string expected";
@@ -69696,9 +72554,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.SqlUsersListRequest} SqlUsersListRequest
                          */
-                        SqlUsersListRequest.fromObject = function fromObject(object) {
+                        SqlUsersListRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.SqlUsersListRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.SqlUsersListRequest();
                             if (object.instance != null)
                                 message.instance = String(object.instance);
@@ -69787,7 +72649,7 @@
                             this.databaseRoles = [];
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -69922,9 +72784,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlUsersUpdateRequest.decode = function decode(reader, length, error) {
+                        SqlUsersUpdateRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.SqlUsersUpdateRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -69958,11 +72824,11 @@
                                         break;
                                     }
                                 case 100: {
-                                        message.body = $root.google.cloud.sql.v1.User.decode(reader, reader.uint32());
+                                        message.body = $root.google.cloud.sql.v1.User.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -69993,9 +72859,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlUsersUpdateRequest.verify = function verify(message) {
+                        SqlUsersUpdateRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             var properties = {};
                             if (message.host != null && message.hasOwnProperty("host"))
                                 if (!$util.isString(message.host))
@@ -70022,7 +72892,7 @@
                                     return "revokeExistingRoles: boolean expected";
                             }
                             if (message.body != null && message.hasOwnProperty("body")) {
-                                var error = $root.google.cloud.sql.v1.User.verify(message.body);
+                                var error = $root.google.cloud.sql.v1.User.verify(message.body, long + 1);
                                 if (error)
                                     return "body." + error;
                             }
@@ -70037,9 +72907,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.SqlUsersUpdateRequest} SqlUsersUpdateRequest
                          */
-                        SqlUsersUpdateRequest.fromObject = function fromObject(object) {
+                        SqlUsersUpdateRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.SqlUsersUpdateRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.SqlUsersUpdateRequest();
                             if (object.host != null)
                                 message.host = String(object.host);
@@ -70061,7 +72935,7 @@
                             if (object.body != null) {
                                 if (typeof object.body !== "object")
                                     throw TypeError(".google.cloud.sql.v1.SqlUsersUpdateRequest.body: object expected");
-                                message.body = $root.google.cloud.sql.v1.User.fromObject(object.body);
+                                message.body = $root.google.cloud.sql.v1.User.fromObject(object.body, long + 1);
                             }
                             return message;
                         };
@@ -70164,7 +73038,7 @@
                         function UserPasswordValidationPolicy(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -70269,9 +73143,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        UserPasswordValidationPolicy.decode = function decode(reader, length, error) {
+                        UserPasswordValidationPolicy.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.UserPasswordValidationPolicy();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -70283,7 +73161,7 @@
                                         break;
                                     }
                                 case 2: {
-                                        message.passwordExpirationDuration = $root.google.protobuf.Duration.decode(reader, reader.uint32());
+                                        message.passwordExpirationDuration = $root.google.protobuf.Duration.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 3: {
@@ -70291,7 +73169,7 @@
                                         break;
                                     }
                                 case 4: {
-                                        message.status = $root.google.cloud.sql.v1.PasswordStatus.decode(reader, reader.uint32());
+                                        message.status = $root.google.cloud.sql.v1.PasswordStatus.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 5: {
@@ -70299,7 +73177,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -70330,14 +73208,18 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        UserPasswordValidationPolicy.verify = function verify(message) {
+                        UserPasswordValidationPolicy.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.allowedFailedAttempts != null && message.hasOwnProperty("allowedFailedAttempts"))
                                 if (!$util.isInteger(message.allowedFailedAttempts))
                                     return "allowedFailedAttempts: integer expected";
                             if (message.passwordExpirationDuration != null && message.hasOwnProperty("passwordExpirationDuration")) {
-                                var error = $root.google.protobuf.Duration.verify(message.passwordExpirationDuration);
+                                var error = $root.google.protobuf.Duration.verify(message.passwordExpirationDuration, long + 1);
                                 if (error)
                                     return "passwordExpirationDuration." + error;
                             }
@@ -70345,7 +73227,7 @@
                                 if (typeof message.enableFailedAttemptsCheck !== "boolean")
                                     return "enableFailedAttemptsCheck: boolean expected";
                             if (message.status != null && message.hasOwnProperty("status")) {
-                                var error = $root.google.cloud.sql.v1.PasswordStatus.verify(message.status);
+                                var error = $root.google.cloud.sql.v1.PasswordStatus.verify(message.status, long + 1);
                                 if (error)
                                     return "status." + error;
                             }
@@ -70363,23 +73245,27 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.UserPasswordValidationPolicy} UserPasswordValidationPolicy
                          */
-                        UserPasswordValidationPolicy.fromObject = function fromObject(object) {
+                        UserPasswordValidationPolicy.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.UserPasswordValidationPolicy)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.UserPasswordValidationPolicy();
                             if (object.allowedFailedAttempts != null)
                                 message.allowedFailedAttempts = object.allowedFailedAttempts | 0;
                             if (object.passwordExpirationDuration != null) {
                                 if (typeof object.passwordExpirationDuration !== "object")
                                     throw TypeError(".google.cloud.sql.v1.UserPasswordValidationPolicy.passwordExpirationDuration: object expected");
-                                message.passwordExpirationDuration = $root.google.protobuf.Duration.fromObject(object.passwordExpirationDuration);
+                                message.passwordExpirationDuration = $root.google.protobuf.Duration.fromObject(object.passwordExpirationDuration, long + 1);
                             }
                             if (object.enableFailedAttemptsCheck != null)
                                 message.enableFailedAttemptsCheck = Boolean(object.enableFailedAttemptsCheck);
                             if (object.status != null) {
                                 if (typeof object.status !== "object")
                                     throw TypeError(".google.cloud.sql.v1.UserPasswordValidationPolicy.status: object expected");
-                                message.status = $root.google.cloud.sql.v1.PasswordStatus.fromObject(object.status);
+                                message.status = $root.google.cloud.sql.v1.PasswordStatus.fromObject(object.status, long + 1);
                             }
                             if (object.enablePasswordVerification != null)
                                 message.enablePasswordVerification = Boolean(object.enablePasswordVerification);
@@ -70469,7 +73355,7 @@
                         function PasswordStatus(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -70544,9 +73430,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        PasswordStatus.decode = function decode(reader, length, error) {
+                        PasswordStatus.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.PasswordStatus();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -70558,11 +73448,11 @@
                                         break;
                                     }
                                 case 2: {
-                                        message.passwordExpirationTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+                                        message.passwordExpirationTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -70593,14 +73483,18 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        PasswordStatus.verify = function verify(message) {
+                        PasswordStatus.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.locked != null && message.hasOwnProperty("locked"))
                                 if (typeof message.locked !== "boolean")
                                     return "locked: boolean expected";
                             if (message.passwordExpirationTime != null && message.hasOwnProperty("passwordExpirationTime")) {
-                                var error = $root.google.protobuf.Timestamp.verify(message.passwordExpirationTime);
+                                var error = $root.google.protobuf.Timestamp.verify(message.passwordExpirationTime, long + 1);
                                 if (error)
                                     return "passwordExpirationTime." + error;
                             }
@@ -70615,16 +73509,20 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.PasswordStatus} PasswordStatus
                          */
-                        PasswordStatus.fromObject = function fromObject(object) {
+                        PasswordStatus.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.PasswordStatus)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.PasswordStatus();
                             if (object.locked != null)
                                 message.locked = Boolean(object.locked);
                             if (object.passwordExpirationTime != null) {
                                 if (typeof object.passwordExpirationTime !== "object")
                                     throw TypeError(".google.cloud.sql.v1.PasswordStatus.passwordExpirationTime: object expected");
-                                message.passwordExpirationTime = $root.google.protobuf.Timestamp.fromObject(object.passwordExpirationTime);
+                                message.passwordExpirationTime = $root.google.protobuf.Timestamp.fromObject(object.passwordExpirationTime, long + 1);
                             }
                             return message;
                         };
@@ -70716,7 +73614,7 @@
                             this.databaseRoles = [];
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -70938,9 +73836,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        User.decode = function decode(reader, length, error) {
+                        User.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.User();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -70980,7 +73882,7 @@
                                         break;
                                     }
                                 case 9: {
-                                        message.sqlserverUserDetails = $root.google.cloud.sql.v1.SqlServerUserDetails.decode(reader, reader.uint32());
+                                        message.sqlserverUserDetails = $root.google.cloud.sql.v1.SqlServerUserDetails.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 11: {
@@ -70988,7 +73890,7 @@
                                         break;
                                     }
                                 case 12: {
-                                        message.passwordPolicy = $root.google.cloud.sql.v1.UserPasswordValidationPolicy.decode(reader, reader.uint32());
+                                        message.passwordPolicy = $root.google.cloud.sql.v1.UserPasswordValidationPolicy.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 13: {
@@ -71006,7 +73908,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -71037,9 +73939,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        User.verify = function verify(message) {
+                        User.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             var properties = {};
                             if (message.kind != null && message.hasOwnProperty("kind"))
                                 if (!$util.isString(message.kind))
@@ -71078,7 +73984,7 @@
                             if (message.sqlserverUserDetails != null && message.hasOwnProperty("sqlserverUserDetails")) {
                                 properties.userDetails = 1;
                                 {
-                                    var error = $root.google.cloud.sql.v1.SqlServerUserDetails.verify(message.sqlserverUserDetails);
+                                    var error = $root.google.cloud.sql.v1.SqlServerUserDetails.verify(message.sqlserverUserDetails, long + 1);
                                     if (error)
                                         return "sqlserverUserDetails." + error;
                                 }
@@ -71087,7 +73993,7 @@
                                 if (!$util.isString(message.iamEmail))
                                     return "iamEmail: string expected";
                             if (message.passwordPolicy != null && message.hasOwnProperty("passwordPolicy")) {
-                                var error = $root.google.cloud.sql.v1.UserPasswordValidationPolicy.verify(message.passwordPolicy);
+                                var error = $root.google.cloud.sql.v1.UserPasswordValidationPolicy.verify(message.passwordPolicy, long + 1);
                                 if (error)
                                     return "passwordPolicy." + error;
                             }
@@ -71132,9 +74038,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.User} User
                          */
-                        User.fromObject = function fromObject(object) {
+                        User.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.User)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.User();
                             if (object.kind != null)
                                 message.kind = String(object.kind);
@@ -71189,14 +74099,14 @@
                             if (object.sqlserverUserDetails != null) {
                                 if (typeof object.sqlserverUserDetails !== "object")
                                     throw TypeError(".google.cloud.sql.v1.User.sqlserverUserDetails: object expected");
-                                message.sqlserverUserDetails = $root.google.cloud.sql.v1.SqlServerUserDetails.fromObject(object.sqlserverUserDetails);
+                                message.sqlserverUserDetails = $root.google.cloud.sql.v1.SqlServerUserDetails.fromObject(object.sqlserverUserDetails, long + 1);
                             }
                             if (object.iamEmail != null)
                                 message.iamEmail = String(object.iamEmail);
                             if (object.passwordPolicy != null) {
                                 if (typeof object.passwordPolicy !== "object")
                                     throw TypeError(".google.cloud.sql.v1.User.passwordPolicy: object expected");
-                                message.passwordPolicy = $root.google.cloud.sql.v1.UserPasswordValidationPolicy.fromObject(object.passwordPolicy);
+                                message.passwordPolicy = $root.google.cloud.sql.v1.UserPasswordValidationPolicy.fromObject(object.passwordPolicy, long + 1);
                             }
                             switch (object.dualPasswordType) {
                             default:
@@ -71431,7 +74341,7 @@
                             this.serverRoles = [];
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -71507,9 +74417,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlServerUserDetails.decode = function decode(reader, length, error) {
+                        SqlServerUserDetails.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.SqlServerUserDetails();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -71527,7 +74441,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -71558,9 +74472,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlServerUserDetails.verify = function verify(message) {
+                        SqlServerUserDetails.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.disabled != null && message.hasOwnProperty("disabled"))
                                 if (typeof message.disabled !== "boolean")
                                     return "disabled: boolean expected";
@@ -71582,9 +74500,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.SqlServerUserDetails} SqlServerUserDetails
                          */
-                        SqlServerUserDetails.fromObject = function fromObject(object) {
+                        SqlServerUserDetails.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.SqlServerUserDetails)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.SqlServerUserDetails();
                             if (object.disabled != null)
                                 message.disabled = Boolean(object.disabled);
@@ -71677,7 +74599,7 @@
                             this.items = [];
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -71763,9 +74685,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        UsersListResponse.decode = function decode(reader, length, error) {
+                        UsersListResponse.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1.UsersListResponse();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -71779,7 +74705,7 @@
                                 case 2: {
                                         if (!(message.items && message.items.length))
                                             message.items = [];
-                                        message.items.push($root.google.cloud.sql.v1.User.decode(reader, reader.uint32()));
+                                        message.items.push($root.google.cloud.sql.v1.User.decode(reader, reader.uint32(), undefined, long + 1));
                                         break;
                                     }
                                 case 3: {
@@ -71787,7 +74713,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -71818,9 +74744,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        UsersListResponse.verify = function verify(message) {
+                        UsersListResponse.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.kind != null && message.hasOwnProperty("kind"))
                                 if (!$util.isString(message.kind))
                                     return "kind: string expected";
@@ -71828,7 +74758,7 @@
                                 if (!Array.isArray(message.items))
                                     return "items: array expected";
                                 for (var i = 0; i < message.items.length; ++i) {
-                                    var error = $root.google.cloud.sql.v1.User.verify(message.items[i]);
+                                    var error = $root.google.cloud.sql.v1.User.verify(message.items[i], long + 1);
                                     if (error)
                                         return "items." + error;
                                 }
@@ -71847,9 +74777,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1.UsersListResponse} UsersListResponse
                          */
-                        UsersListResponse.fromObject = function fromObject(object) {
+                        UsersListResponse.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1.UsersListResponse)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1.UsersListResponse();
                             if (object.kind != null)
                                 message.kind = String(object.kind);
@@ -71860,7 +74794,7 @@
                                 for (var i = 0; i < object.items.length; ++i) {
                                     if (typeof object.items[i] !== "object")
                                         throw TypeError(".google.cloud.sql.v1.UsersListResponse.items: object expected");
-                                    message.items[i] = $root.google.cloud.sql.v1.User.fromObject(object.items[i]);
+                                    message.items[i] = $root.google.cloud.sql.v1.User.fromObject(object.items[i], long + 1);
                                 }
                             }
                             if (object.nextPageToken != null)
@@ -74384,7 +77318,7 @@
                         function CreateBackupRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -74459,9 +77393,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        CreateBackupRequest.decode = function decode(reader, length, error) {
+                        CreateBackupRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.CreateBackupRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -74473,11 +77411,11 @@
                                         break;
                                     }
                                 case 2: {
-                                        message.backup = $root.google.cloud.sql.v1beta4.Backup.decode(reader, reader.uint32());
+                                        message.backup = $root.google.cloud.sql.v1beta4.Backup.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -74508,14 +77446,18 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        CreateBackupRequest.verify = function verify(message) {
+                        CreateBackupRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.parent != null && message.hasOwnProperty("parent"))
                                 if (!$util.isString(message.parent))
                                     return "parent: string expected";
                             if (message.backup != null && message.hasOwnProperty("backup")) {
-                                var error = $root.google.cloud.sql.v1beta4.Backup.verify(message.backup);
+                                var error = $root.google.cloud.sql.v1beta4.Backup.verify(message.backup, long + 1);
                                 if (error)
                                     return "backup." + error;
                             }
@@ -74530,16 +77472,20 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.CreateBackupRequest} CreateBackupRequest
                          */
-                        CreateBackupRequest.fromObject = function fromObject(object) {
+                        CreateBackupRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.CreateBackupRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.CreateBackupRequest();
                             if (object.parent != null)
                                 message.parent = String(object.parent);
                             if (object.backup != null) {
                                 if (typeof object.backup !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.CreateBackupRequest.backup: object expected");
-                                message.backup = $root.google.cloud.sql.v1beta4.Backup.fromObject(object.backup);
+                                message.backup = $root.google.cloud.sql.v1beta4.Backup.fromObject(object.backup, long + 1);
                             }
                             return message;
                         };
@@ -74617,7 +77563,7 @@
                         function GetBackupRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -74682,9 +77628,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        GetBackupRequest.decode = function decode(reader, length, error) {
+                        GetBackupRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.GetBackupRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -74696,7 +77646,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -74727,9 +77677,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        GetBackupRequest.verify = function verify(message) {
+                        GetBackupRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.name != null && message.hasOwnProperty("name"))
                                 if (!$util.isString(message.name))
                                     return "name: string expected";
@@ -74744,9 +77698,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.GetBackupRequest} GetBackupRequest
                          */
-                        GetBackupRequest.fromObject = function fromObject(object) {
+                        GetBackupRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.GetBackupRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.GetBackupRequest();
                             if (object.name != null)
                                 message.name = String(object.name);
@@ -74825,7 +77783,7 @@
                         function ListBackupsRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -74920,9 +77878,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        ListBackupsRequest.decode = function decode(reader, length, error) {
+                        ListBackupsRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.ListBackupsRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -74946,7 +77908,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -74977,9 +77939,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        ListBackupsRequest.verify = function verify(message) {
+                        ListBackupsRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.parent != null && message.hasOwnProperty("parent"))
                                 if (!$util.isString(message.parent))
                                     return "parent: string expected";
@@ -75003,9 +77969,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.ListBackupsRequest} ListBackupsRequest
                          */
-                        ListBackupsRequest.fromObject = function fromObject(object) {
+                        ListBackupsRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.ListBackupsRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.ListBackupsRequest();
                             if (object.parent != null)
                                 message.parent = String(object.parent);
@@ -75101,7 +78071,7 @@
                             this.warnings = [];
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -75188,9 +78158,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        ListBackupsResponse.decode = function decode(reader, length, error) {
+                        ListBackupsResponse.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.ListBackupsResponse();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -75200,7 +78174,7 @@
                                 case 1: {
                                         if (!(message.backups && message.backups.length))
                                             message.backups = [];
-                                        message.backups.push($root.google.cloud.sql.v1beta4.Backup.decode(reader, reader.uint32()));
+                                        message.backups.push($root.google.cloud.sql.v1beta4.Backup.decode(reader, reader.uint32(), undefined, long + 1));
                                         break;
                                     }
                                 case 2: {
@@ -75210,11 +78184,11 @@
                                 case 3: {
                                         if (!(message.warnings && message.warnings.length))
                                             message.warnings = [];
-                                        message.warnings.push($root.google.cloud.sql.v1beta4.ApiWarning.decode(reader, reader.uint32()));
+                                        message.warnings.push($root.google.cloud.sql.v1beta4.ApiWarning.decode(reader, reader.uint32(), undefined, long + 1));
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -75245,14 +78219,18 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        ListBackupsResponse.verify = function verify(message) {
+                        ListBackupsResponse.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.backups != null && message.hasOwnProperty("backups")) {
                                 if (!Array.isArray(message.backups))
                                     return "backups: array expected";
                                 for (var i = 0; i < message.backups.length; ++i) {
-                                    var error = $root.google.cloud.sql.v1beta4.Backup.verify(message.backups[i]);
+                                    var error = $root.google.cloud.sql.v1beta4.Backup.verify(message.backups[i], long + 1);
                                     if (error)
                                         return "backups." + error;
                                 }
@@ -75264,7 +78242,7 @@
                                 if (!Array.isArray(message.warnings))
                                     return "warnings: array expected";
                                 for (var i = 0; i < message.warnings.length; ++i) {
-                                    var error = $root.google.cloud.sql.v1beta4.ApiWarning.verify(message.warnings[i]);
+                                    var error = $root.google.cloud.sql.v1beta4.ApiWarning.verify(message.warnings[i], long + 1);
                                     if (error)
                                         return "warnings." + error;
                                 }
@@ -75280,9 +78258,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.ListBackupsResponse} ListBackupsResponse
                          */
-                        ListBackupsResponse.fromObject = function fromObject(object) {
+                        ListBackupsResponse.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.ListBackupsResponse)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.ListBackupsResponse();
                             if (object.backups) {
                                 if (!Array.isArray(object.backups))
@@ -75291,7 +78273,7 @@
                                 for (var i = 0; i < object.backups.length; ++i) {
                                     if (typeof object.backups[i] !== "object")
                                         throw TypeError(".google.cloud.sql.v1beta4.ListBackupsResponse.backups: object expected");
-                                    message.backups[i] = $root.google.cloud.sql.v1beta4.Backup.fromObject(object.backups[i]);
+                                    message.backups[i] = $root.google.cloud.sql.v1beta4.Backup.fromObject(object.backups[i], long + 1);
                                 }
                             }
                             if (object.nextPageToken != null)
@@ -75303,7 +78285,7 @@
                                 for (var i = 0; i < object.warnings.length; ++i) {
                                     if (typeof object.warnings[i] !== "object")
                                         throw TypeError(".google.cloud.sql.v1beta4.ListBackupsResponse.warnings: object expected");
-                                    message.warnings[i] = $root.google.cloud.sql.v1beta4.ApiWarning.fromObject(object.warnings[i]);
+                                    message.warnings[i] = $root.google.cloud.sql.v1beta4.ApiWarning.fromObject(object.warnings[i], long + 1);
                                 }
                             }
                             return message;
@@ -75393,7 +78375,7 @@
                         function UpdateBackupRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -75468,9 +78450,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        UpdateBackupRequest.decode = function decode(reader, length, error) {
+                        UpdateBackupRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.UpdateBackupRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -75478,15 +78464,15 @@
                                     break;
                                 switch (tag >>> 3) {
                                 case 1: {
-                                        message.backup = $root.google.cloud.sql.v1beta4.Backup.decode(reader, reader.uint32());
+                                        message.backup = $root.google.cloud.sql.v1beta4.Backup.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 2: {
-                                        message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32());
+                                        message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -75517,16 +78503,20 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        UpdateBackupRequest.verify = function verify(message) {
+                        UpdateBackupRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.backup != null && message.hasOwnProperty("backup")) {
-                                var error = $root.google.cloud.sql.v1beta4.Backup.verify(message.backup);
+                                var error = $root.google.cloud.sql.v1beta4.Backup.verify(message.backup, long + 1);
                                 if (error)
                                     return "backup." + error;
                             }
                             if (message.updateMask != null && message.hasOwnProperty("updateMask")) {
-                                var error = $root.google.protobuf.FieldMask.verify(message.updateMask);
+                                var error = $root.google.protobuf.FieldMask.verify(message.updateMask, long + 1);
                                 if (error)
                                     return "updateMask." + error;
                             }
@@ -75541,19 +78531,23 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.UpdateBackupRequest} UpdateBackupRequest
                          */
-                        UpdateBackupRequest.fromObject = function fromObject(object) {
+                        UpdateBackupRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.UpdateBackupRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.UpdateBackupRequest();
                             if (object.backup != null) {
                                 if (typeof object.backup !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.UpdateBackupRequest.backup: object expected");
-                                message.backup = $root.google.cloud.sql.v1beta4.Backup.fromObject(object.backup);
+                                message.backup = $root.google.cloud.sql.v1beta4.Backup.fromObject(object.backup, long + 1);
                             }
                             if (object.updateMask != null) {
                                 if (typeof object.updateMask !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.UpdateBackupRequest.updateMask: object expected");
-                                message.updateMask = $root.google.protobuf.FieldMask.fromObject(object.updateMask);
+                                message.updateMask = $root.google.protobuf.FieldMask.fromObject(object.updateMask, long + 1);
                             }
                             return message;
                         };
@@ -75631,7 +78625,7 @@
                         function DeleteBackupRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -75696,9 +78690,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        DeleteBackupRequest.decode = function decode(reader, length, error) {
+                        DeleteBackupRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.DeleteBackupRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -75710,7 +78708,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -75741,9 +78739,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        DeleteBackupRequest.verify = function verify(message) {
+                        DeleteBackupRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.name != null && message.hasOwnProperty("name"))
                                 if (!$util.isString(message.name))
                                     return "name: string expected";
@@ -75758,9 +78760,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.DeleteBackupRequest} DeleteBackupRequest
                          */
-                        DeleteBackupRequest.fromObject = function fromObject(object) {
+                        DeleteBackupRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.DeleteBackupRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.DeleteBackupRequest();
                             if (object.name != null)
                                 message.name = String(object.name);
@@ -75838,7 +78844,7 @@
                         function SqlBackupRunsDeleteRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -75923,9 +78929,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlBackupRunsDeleteRequest.decode = function decode(reader, length, error) {
+                        SqlBackupRunsDeleteRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.SqlBackupRunsDeleteRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -75945,7 +78955,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -75976,9 +78986,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlBackupRunsDeleteRequest.verify = function verify(message) {
+                        SqlBackupRunsDeleteRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.id != null && message.hasOwnProperty("id"))
                                 if (!$util.isInteger(message.id) && !(message.id && $util.isInteger(message.id.low) && $util.isInteger(message.id.high)))
                                     return "id: integer|Long expected";
@@ -75999,9 +79013,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.SqlBackupRunsDeleteRequest} SqlBackupRunsDeleteRequest
                          */
-                        SqlBackupRunsDeleteRequest.fromObject = function fromObject(object) {
+                        SqlBackupRunsDeleteRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.SqlBackupRunsDeleteRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.SqlBackupRunsDeleteRequest();
                             if (object.id != null)
                                 if ($util.Long)
@@ -76104,7 +79122,7 @@
                         function SqlBackupRunsGetRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -76189,9 +79207,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlBackupRunsGetRequest.decode = function decode(reader, length, error) {
+                        SqlBackupRunsGetRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.SqlBackupRunsGetRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -76211,7 +79233,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -76242,9 +79264,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlBackupRunsGetRequest.verify = function verify(message) {
+                        SqlBackupRunsGetRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.id != null && message.hasOwnProperty("id"))
                                 if (!$util.isInteger(message.id) && !(message.id && $util.isInteger(message.id.low) && $util.isInteger(message.id.high)))
                                     return "id: integer|Long expected";
@@ -76265,9 +79291,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.SqlBackupRunsGetRequest} SqlBackupRunsGetRequest
                          */
-                        SqlBackupRunsGetRequest.fromObject = function fromObject(object) {
+                        SqlBackupRunsGetRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.SqlBackupRunsGetRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.SqlBackupRunsGetRequest();
                             if (object.id != null)
                                 if ($util.Long)
@@ -76370,7 +79400,7 @@
                         function SqlBackupRunsInsertRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -76455,9 +79485,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlBackupRunsInsertRequest.decode = function decode(reader, length, error) {
+                        SqlBackupRunsInsertRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.SqlBackupRunsInsertRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -76473,11 +79507,11 @@
                                         break;
                                     }
                                 case 100: {
-                                        message.body = $root.google.cloud.sql.v1beta4.BackupRun.decode(reader, reader.uint32());
+                                        message.body = $root.google.cloud.sql.v1beta4.BackupRun.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -76508,9 +79542,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlBackupRunsInsertRequest.verify = function verify(message) {
+                        SqlBackupRunsInsertRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.instance != null && message.hasOwnProperty("instance"))
                                 if (!$util.isString(message.instance))
                                     return "instance: string expected";
@@ -76518,7 +79556,7 @@
                                 if (!$util.isString(message.project))
                                     return "project: string expected";
                             if (message.body != null && message.hasOwnProperty("body")) {
-                                var error = $root.google.cloud.sql.v1beta4.BackupRun.verify(message.body);
+                                var error = $root.google.cloud.sql.v1beta4.BackupRun.verify(message.body, long + 1);
                                 if (error)
                                     return "body." + error;
                             }
@@ -76533,9 +79571,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.SqlBackupRunsInsertRequest} SqlBackupRunsInsertRequest
                          */
-                        SqlBackupRunsInsertRequest.fromObject = function fromObject(object) {
+                        SqlBackupRunsInsertRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.SqlBackupRunsInsertRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.SqlBackupRunsInsertRequest();
                             if (object.instance != null)
                                 message.instance = String(object.instance);
@@ -76544,7 +79586,7 @@
                             if (object.body != null) {
                                 if (typeof object.body !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.SqlBackupRunsInsertRequest.body: object expected");
-                                message.body = $root.google.cloud.sql.v1beta4.BackupRun.fromObject(object.body);
+                                message.body = $root.google.cloud.sql.v1beta4.BackupRun.fromObject(object.body, long + 1);
                             }
                             return message;
                         };
@@ -76628,7 +79670,7 @@
                         function SqlBackupRunsListRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -76723,9 +79765,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlBackupRunsListRequest.decode = function decode(reader, length, error) {
+                        SqlBackupRunsListRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.SqlBackupRunsListRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -76749,7 +79795,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -76780,9 +79826,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlBackupRunsListRequest.verify = function verify(message) {
+                        SqlBackupRunsListRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.instance != null && message.hasOwnProperty("instance"))
                                 if (!$util.isString(message.instance))
                                     return "instance: string expected";
@@ -76806,9 +79856,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.SqlBackupRunsListRequest} SqlBackupRunsListRequest
                          */
-                        SqlBackupRunsListRequest.fromObject = function fromObject(object) {
+                        SqlBackupRunsListRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.SqlBackupRunsListRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.SqlBackupRunsListRequest();
                             if (object.instance != null)
                                 message.instance = String(object.instance);
@@ -76902,7 +79956,7 @@
                         function SqlDatabasesDeleteRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -76987,9 +80041,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlDatabasesDeleteRequest.decode = function decode(reader, length, error) {
+                        SqlDatabasesDeleteRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.SqlDatabasesDeleteRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -77009,7 +80067,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -77040,9 +80098,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlDatabasesDeleteRequest.verify = function verify(message) {
+                        SqlDatabasesDeleteRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.database != null && message.hasOwnProperty("database"))
                                 if (!$util.isString(message.database))
                                     return "database: string expected";
@@ -77063,9 +80125,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.SqlDatabasesDeleteRequest} SqlDatabasesDeleteRequest
                          */
-                        SqlDatabasesDeleteRequest.fromObject = function fromObject(object) {
+                        SqlDatabasesDeleteRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.SqlDatabasesDeleteRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.SqlDatabasesDeleteRequest();
                             if (object.database != null)
                                 message.database = String(object.database);
@@ -77154,7 +80220,7 @@
                         function SqlDatabasesGetRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -77239,9 +80305,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlDatabasesGetRequest.decode = function decode(reader, length, error) {
+                        SqlDatabasesGetRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.SqlDatabasesGetRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -77261,7 +80331,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -77292,9 +80362,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlDatabasesGetRequest.verify = function verify(message) {
+                        SqlDatabasesGetRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.database != null && message.hasOwnProperty("database"))
                                 if (!$util.isString(message.database))
                                     return "database: string expected";
@@ -77315,9 +80389,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.SqlDatabasesGetRequest} SqlDatabasesGetRequest
                          */
-                        SqlDatabasesGetRequest.fromObject = function fromObject(object) {
+                        SqlDatabasesGetRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.SqlDatabasesGetRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.SqlDatabasesGetRequest();
                             if (object.database != null)
                                 message.database = String(object.database);
@@ -77406,7 +80484,7 @@
                         function SqlDatabasesInsertRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -77491,9 +80569,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlDatabasesInsertRequest.decode = function decode(reader, length, error) {
+                        SqlDatabasesInsertRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.SqlDatabasesInsertRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -77509,11 +80591,11 @@
                                         break;
                                     }
                                 case 100: {
-                                        message.body = $root.google.cloud.sql.v1beta4.Database.decode(reader, reader.uint32());
+                                        message.body = $root.google.cloud.sql.v1beta4.Database.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -77544,9 +80626,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlDatabasesInsertRequest.verify = function verify(message) {
+                        SqlDatabasesInsertRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.instance != null && message.hasOwnProperty("instance"))
                                 if (!$util.isString(message.instance))
                                     return "instance: string expected";
@@ -77554,7 +80640,7 @@
                                 if (!$util.isString(message.project))
                                     return "project: string expected";
                             if (message.body != null && message.hasOwnProperty("body")) {
-                                var error = $root.google.cloud.sql.v1beta4.Database.verify(message.body);
+                                var error = $root.google.cloud.sql.v1beta4.Database.verify(message.body, long + 1);
                                 if (error)
                                     return "body." + error;
                             }
@@ -77569,9 +80655,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.SqlDatabasesInsertRequest} SqlDatabasesInsertRequest
                          */
-                        SqlDatabasesInsertRequest.fromObject = function fromObject(object) {
+                        SqlDatabasesInsertRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.SqlDatabasesInsertRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.SqlDatabasesInsertRequest();
                             if (object.instance != null)
                                 message.instance = String(object.instance);
@@ -77580,7 +80670,7 @@
                             if (object.body != null) {
                                 if (typeof object.body !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.SqlDatabasesInsertRequest.body: object expected");
-                                message.body = $root.google.cloud.sql.v1beta4.Database.fromObject(object.body);
+                                message.body = $root.google.cloud.sql.v1beta4.Database.fromObject(object.body, long + 1);
                             }
                             return message;
                         };
@@ -77662,7 +80752,7 @@
                         function SqlDatabasesListRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -77737,9 +80827,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlDatabasesListRequest.decode = function decode(reader, length, error) {
+                        SqlDatabasesListRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.SqlDatabasesListRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -77755,7 +80849,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -77786,9 +80880,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlDatabasesListRequest.verify = function verify(message) {
+                        SqlDatabasesListRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.instance != null && message.hasOwnProperty("instance"))
                                 if (!$util.isString(message.instance))
                                     return "instance: string expected";
@@ -77806,9 +80904,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.SqlDatabasesListRequest} SqlDatabasesListRequest
                          */
-                        SqlDatabasesListRequest.fromObject = function fromObject(object) {
+                        SqlDatabasesListRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.SqlDatabasesListRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.SqlDatabasesListRequest();
                             if (object.instance != null)
                                 message.instance = String(object.instance);
@@ -77893,7 +80995,7 @@
                         function SqlDatabasesUpdateRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -77988,9 +81090,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlDatabasesUpdateRequest.decode = function decode(reader, length, error) {
+                        SqlDatabasesUpdateRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.SqlDatabasesUpdateRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -78010,11 +81116,11 @@
                                         break;
                                     }
                                 case 100: {
-                                        message.body = $root.google.cloud.sql.v1beta4.Database.decode(reader, reader.uint32());
+                                        message.body = $root.google.cloud.sql.v1beta4.Database.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -78045,9 +81151,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlDatabasesUpdateRequest.verify = function verify(message) {
+                        SqlDatabasesUpdateRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.database != null && message.hasOwnProperty("database"))
                                 if (!$util.isString(message.database))
                                     return "database: string expected";
@@ -78058,7 +81168,7 @@
                                 if (!$util.isString(message.project))
                                     return "project: string expected";
                             if (message.body != null && message.hasOwnProperty("body")) {
-                                var error = $root.google.cloud.sql.v1beta4.Database.verify(message.body);
+                                var error = $root.google.cloud.sql.v1beta4.Database.verify(message.body, long + 1);
                                 if (error)
                                     return "body." + error;
                             }
@@ -78073,9 +81183,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.SqlDatabasesUpdateRequest} SqlDatabasesUpdateRequest
                          */
-                        SqlDatabasesUpdateRequest.fromObject = function fromObject(object) {
+                        SqlDatabasesUpdateRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.SqlDatabasesUpdateRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.SqlDatabasesUpdateRequest();
                             if (object.database != null)
                                 message.database = String(object.database);
@@ -78086,7 +81200,7 @@
                             if (object.body != null) {
                                 if (typeof object.body !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.SqlDatabasesUpdateRequest.body: object expected");
-                                message.body = $root.google.cloud.sql.v1beta4.Database.fromObject(object.body);
+                                message.body = $root.google.cloud.sql.v1beta4.Database.fromObject(object.body, long + 1);
                             }
                             return message;
                         };
@@ -78171,7 +81285,7 @@
                         function SqlFlagsListRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -78255,9 +81369,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlFlagsListRequest.decode = function decode(reader, length, error) {
+                        SqlFlagsListRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.SqlFlagsListRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -78273,7 +81391,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -78304,9 +81422,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlFlagsListRequest.verify = function verify(message) {
+                        SqlFlagsListRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             var properties = {};
                             if (message.databaseVersion != null && message.hasOwnProperty("databaseVersion"))
                                 if (!$util.isString(message.databaseVersion))
@@ -78333,9 +81455,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.SqlFlagsListRequest} SqlFlagsListRequest
                          */
-                        SqlFlagsListRequest.fromObject = function fromObject(object) {
+                        SqlFlagsListRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.SqlFlagsListRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.SqlFlagsListRequest();
                             if (object.databaseVersion != null)
                                 message.databaseVersion = String(object.databaseVersion);
@@ -78437,7 +81563,7 @@
                         function SqlInstancesAddServerCaRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -78512,9 +81638,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlInstancesAddServerCaRequest.decode = function decode(reader, length, error) {
+                        SqlInstancesAddServerCaRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.SqlInstancesAddServerCaRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -78530,7 +81660,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -78561,9 +81691,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlInstancesAddServerCaRequest.verify = function verify(message) {
+                        SqlInstancesAddServerCaRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.instance != null && message.hasOwnProperty("instance"))
                                 if (!$util.isString(message.instance))
                                     return "instance: string expected";
@@ -78581,9 +81715,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.SqlInstancesAddServerCaRequest} SqlInstancesAddServerCaRequest
                          */
-                        SqlInstancesAddServerCaRequest.fromObject = function fromObject(object) {
+                        SqlInstancesAddServerCaRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.SqlInstancesAddServerCaRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.SqlInstancesAddServerCaRequest();
                             if (object.instance != null)
                                 message.instance = String(object.instance);
@@ -78666,7 +81804,7 @@
                         function SqlInstancesAddServerCertificateRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -78741,9 +81879,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlInstancesAddServerCertificateRequest.decode = function decode(reader, length, error) {
+                        SqlInstancesAddServerCertificateRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.SqlInstancesAddServerCertificateRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -78759,7 +81901,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -78790,9 +81932,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlInstancesAddServerCertificateRequest.verify = function verify(message) {
+                        SqlInstancesAddServerCertificateRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.instance != null && message.hasOwnProperty("instance"))
                                 if (!$util.isString(message.instance))
                                     return "instance: string expected";
@@ -78810,9 +81956,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.SqlInstancesAddServerCertificateRequest} SqlInstancesAddServerCertificateRequest
                          */
-                        SqlInstancesAddServerCertificateRequest.fromObject = function fromObject(object) {
+                        SqlInstancesAddServerCertificateRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.SqlInstancesAddServerCertificateRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.SqlInstancesAddServerCertificateRequest();
                             if (object.instance != null)
                                 message.instance = String(object.instance);
@@ -78895,7 +82045,7 @@
                         function SqlInstancesAddEntraIdCertificateRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -78970,9 +82120,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlInstancesAddEntraIdCertificateRequest.decode = function decode(reader, length, error) {
+                        SqlInstancesAddEntraIdCertificateRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.SqlInstancesAddEntraIdCertificateRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -78988,7 +82142,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -79019,9 +82173,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlInstancesAddEntraIdCertificateRequest.verify = function verify(message) {
+                        SqlInstancesAddEntraIdCertificateRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.instance != null && message.hasOwnProperty("instance"))
                                 if (!$util.isString(message.instance))
                                     return "instance: string expected";
@@ -79039,9 +82197,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.SqlInstancesAddEntraIdCertificateRequest} SqlInstancesAddEntraIdCertificateRequest
                          */
-                        SqlInstancesAddEntraIdCertificateRequest.fromObject = function fromObject(object) {
+                        SqlInstancesAddEntraIdCertificateRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.SqlInstancesAddEntraIdCertificateRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.SqlInstancesAddEntraIdCertificateRequest();
                             if (object.instance != null)
                                 message.instance = String(object.instance);
@@ -79125,7 +82287,7 @@
                         function SqlInstancesCloneRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -79210,9 +82372,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlInstancesCloneRequest.decode = function decode(reader, length, error) {
+                        SqlInstancesCloneRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.SqlInstancesCloneRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -79228,11 +82394,11 @@
                                         break;
                                     }
                                 case 100: {
-                                        message.body = $root.google.cloud.sql.v1beta4.InstancesCloneRequest.decode(reader, reader.uint32());
+                                        message.body = $root.google.cloud.sql.v1beta4.InstancesCloneRequest.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -79263,9 +82429,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlInstancesCloneRequest.verify = function verify(message) {
+                        SqlInstancesCloneRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.instance != null && message.hasOwnProperty("instance"))
                                 if (!$util.isString(message.instance))
                                     return "instance: string expected";
@@ -79273,7 +82443,7 @@
                                 if (!$util.isString(message.project))
                                     return "project: string expected";
                             if (message.body != null && message.hasOwnProperty("body")) {
-                                var error = $root.google.cloud.sql.v1beta4.InstancesCloneRequest.verify(message.body);
+                                var error = $root.google.cloud.sql.v1beta4.InstancesCloneRequest.verify(message.body, long + 1);
                                 if (error)
                                     return "body." + error;
                             }
@@ -79288,9 +82458,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.SqlInstancesCloneRequest} SqlInstancesCloneRequest
                          */
-                        SqlInstancesCloneRequest.fromObject = function fromObject(object) {
+                        SqlInstancesCloneRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.SqlInstancesCloneRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.SqlInstancesCloneRequest();
                             if (object.instance != null)
                                 message.instance = String(object.instance);
@@ -79299,7 +82473,7 @@
                             if (object.body != null) {
                                 if (typeof object.body !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.SqlInstancesCloneRequest.body: object expected");
-                                message.body = $root.google.cloud.sql.v1beta4.InstancesCloneRequest.fromObject(object.body);
+                                message.body = $root.google.cloud.sql.v1beta4.InstancesCloneRequest.fromObject(object.body, long + 1);
                             }
                             return message;
                         };
@@ -79385,7 +82559,7 @@
                         function SqlInstancesDeleteRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -79520,9 +82694,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlInstancesDeleteRequest.decode = function decode(reader, length, error) {
+                        SqlInstancesDeleteRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.SqlInstancesDeleteRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -79546,7 +82724,7 @@
                                         break;
                                     }
                                 case 6: {
-                                        message.finalBackupExpiryTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+                                        message.finalBackupExpiryTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 5: {
@@ -79554,7 +82732,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -79585,9 +82763,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlInstancesDeleteRequest.verify = function verify(message) {
+                        SqlInstancesDeleteRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             var properties = {};
                             if (message.instance != null && message.hasOwnProperty("instance"))
                                 if (!$util.isString(message.instance))
@@ -79610,7 +82792,7 @@
                                     return "expiration: multiple values";
                                 properties.expiration = 1;
                                 {
-                                    var error = $root.google.protobuf.Timestamp.verify(message.finalBackupExpiryTime);
+                                    var error = $root.google.protobuf.Timestamp.verify(message.finalBackupExpiryTime, long + 1);
                                     if (error)
                                         return "finalBackupExpiryTime." + error;
                                 }
@@ -79629,9 +82811,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.SqlInstancesDeleteRequest} SqlInstancesDeleteRequest
                          */
-                        SqlInstancesDeleteRequest.fromObject = function fromObject(object) {
+                        SqlInstancesDeleteRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.SqlInstancesDeleteRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.SqlInstancesDeleteRequest();
                             if (object.instance != null)
                                 message.instance = String(object.instance);
@@ -79651,7 +82837,7 @@
                             if (object.finalBackupExpiryTime != null) {
                                 if (typeof object.finalBackupExpiryTime !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.SqlInstancesDeleteRequest.finalBackupExpiryTime: object expected");
-                                message.finalBackupExpiryTime = $root.google.protobuf.Timestamp.fromObject(object.finalBackupExpiryTime);
+                                message.finalBackupExpiryTime = $root.google.protobuf.Timestamp.fromObject(object.finalBackupExpiryTime, long + 1);
                             }
                             if (object.finalBackupDescription != null)
                                 message.finalBackupDescription = String(object.finalBackupDescription);
@@ -79754,7 +82940,7 @@
                         function SqlInstancesDemoteMasterRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -79839,9 +83025,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlInstancesDemoteMasterRequest.decode = function decode(reader, length, error) {
+                        SqlInstancesDemoteMasterRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.SqlInstancesDemoteMasterRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -79857,11 +83047,11 @@
                                         break;
                                     }
                                 case 100: {
-                                        message.body = $root.google.cloud.sql.v1beta4.InstancesDemoteMasterRequest.decode(reader, reader.uint32());
+                                        message.body = $root.google.cloud.sql.v1beta4.InstancesDemoteMasterRequest.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -79892,9 +83082,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlInstancesDemoteMasterRequest.verify = function verify(message) {
+                        SqlInstancesDemoteMasterRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.instance != null && message.hasOwnProperty("instance"))
                                 if (!$util.isString(message.instance))
                                     return "instance: string expected";
@@ -79902,7 +83096,7 @@
                                 if (!$util.isString(message.project))
                                     return "project: string expected";
                             if (message.body != null && message.hasOwnProperty("body")) {
-                                var error = $root.google.cloud.sql.v1beta4.InstancesDemoteMasterRequest.verify(message.body);
+                                var error = $root.google.cloud.sql.v1beta4.InstancesDemoteMasterRequest.verify(message.body, long + 1);
                                 if (error)
                                     return "body." + error;
                             }
@@ -79917,9 +83111,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.SqlInstancesDemoteMasterRequest} SqlInstancesDemoteMasterRequest
                          */
-                        SqlInstancesDemoteMasterRequest.fromObject = function fromObject(object) {
+                        SqlInstancesDemoteMasterRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.SqlInstancesDemoteMasterRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.SqlInstancesDemoteMasterRequest();
                             if (object.instance != null)
                                 message.instance = String(object.instance);
@@ -79928,7 +83126,7 @@
                             if (object.body != null) {
                                 if (typeof object.body !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.SqlInstancesDemoteMasterRequest.body: object expected");
-                                message.body = $root.google.cloud.sql.v1beta4.InstancesDemoteMasterRequest.fromObject(object.body);
+                                message.body = $root.google.cloud.sql.v1beta4.InstancesDemoteMasterRequest.fromObject(object.body, long + 1);
                             }
                             return message;
                         };
@@ -80011,7 +83209,7 @@
                         function SqlInstancesDemoteRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -80096,9 +83294,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlInstancesDemoteRequest.decode = function decode(reader, length, error) {
+                        SqlInstancesDemoteRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.SqlInstancesDemoteRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -80114,11 +83316,11 @@
                                         break;
                                     }
                                 case 100: {
-                                        message.body = $root.google.cloud.sql.v1beta4.InstancesDemoteRequest.decode(reader, reader.uint32());
+                                        message.body = $root.google.cloud.sql.v1beta4.InstancesDemoteRequest.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -80149,9 +83351,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlInstancesDemoteRequest.verify = function verify(message) {
+                        SqlInstancesDemoteRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.instance != null && message.hasOwnProperty("instance"))
                                 if (!$util.isString(message.instance))
                                     return "instance: string expected";
@@ -80159,7 +83365,7 @@
                                 if (!$util.isString(message.project))
                                     return "project: string expected";
                             if (message.body != null && message.hasOwnProperty("body")) {
-                                var error = $root.google.cloud.sql.v1beta4.InstancesDemoteRequest.verify(message.body);
+                                var error = $root.google.cloud.sql.v1beta4.InstancesDemoteRequest.verify(message.body, long + 1);
                                 if (error)
                                     return "body." + error;
                             }
@@ -80174,9 +83380,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.SqlInstancesDemoteRequest} SqlInstancesDemoteRequest
                          */
-                        SqlInstancesDemoteRequest.fromObject = function fromObject(object) {
+                        SqlInstancesDemoteRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.SqlInstancesDemoteRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.SqlInstancesDemoteRequest();
                             if (object.instance != null)
                                 message.instance = String(object.instance);
@@ -80185,7 +83395,7 @@
                             if (object.body != null) {
                                 if (typeof object.body !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.SqlInstancesDemoteRequest.body: object expected");
-                                message.body = $root.google.cloud.sql.v1beta4.InstancesDemoteRequest.fromObject(object.body);
+                                message.body = $root.google.cloud.sql.v1beta4.InstancesDemoteRequest.fromObject(object.body, long + 1);
                             }
                             return message;
                         };
@@ -80268,7 +83478,7 @@
                         function SqlInstancesExportRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -80353,9 +83563,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlInstancesExportRequest.decode = function decode(reader, length, error) {
+                        SqlInstancesExportRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.SqlInstancesExportRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -80371,11 +83585,11 @@
                                         break;
                                     }
                                 case 100: {
-                                        message.body = $root.google.cloud.sql.v1beta4.InstancesExportRequest.decode(reader, reader.uint32());
+                                        message.body = $root.google.cloud.sql.v1beta4.InstancesExportRequest.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -80406,9 +83620,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlInstancesExportRequest.verify = function verify(message) {
+                        SqlInstancesExportRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.instance != null && message.hasOwnProperty("instance"))
                                 if (!$util.isString(message.instance))
                                     return "instance: string expected";
@@ -80416,7 +83634,7 @@
                                 if (!$util.isString(message.project))
                                     return "project: string expected";
                             if (message.body != null && message.hasOwnProperty("body")) {
-                                var error = $root.google.cloud.sql.v1beta4.InstancesExportRequest.verify(message.body);
+                                var error = $root.google.cloud.sql.v1beta4.InstancesExportRequest.verify(message.body, long + 1);
                                 if (error)
                                     return "body." + error;
                             }
@@ -80431,9 +83649,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.SqlInstancesExportRequest} SqlInstancesExportRequest
                          */
-                        SqlInstancesExportRequest.fromObject = function fromObject(object) {
+                        SqlInstancesExportRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.SqlInstancesExportRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.SqlInstancesExportRequest();
                             if (object.instance != null)
                                 message.instance = String(object.instance);
@@ -80442,7 +83664,7 @@
                             if (object.body != null) {
                                 if (typeof object.body !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.SqlInstancesExportRequest.body: object expected");
-                                message.body = $root.google.cloud.sql.v1beta4.InstancesExportRequest.fromObject(object.body);
+                                message.body = $root.google.cloud.sql.v1beta4.InstancesExportRequest.fromObject(object.body, long + 1);
                             }
                             return message;
                         };
@@ -80525,7 +83747,7 @@
                         function SqlInstancesFailoverRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -80610,9 +83832,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlInstancesFailoverRequest.decode = function decode(reader, length, error) {
+                        SqlInstancesFailoverRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.SqlInstancesFailoverRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -80628,11 +83854,11 @@
                                         break;
                                     }
                                 case 100: {
-                                        message.body = $root.google.cloud.sql.v1beta4.InstancesFailoverRequest.decode(reader, reader.uint32());
+                                        message.body = $root.google.cloud.sql.v1beta4.InstancesFailoverRequest.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -80663,9 +83889,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlInstancesFailoverRequest.verify = function verify(message) {
+                        SqlInstancesFailoverRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.instance != null && message.hasOwnProperty("instance"))
                                 if (!$util.isString(message.instance))
                                     return "instance: string expected";
@@ -80673,7 +83903,7 @@
                                 if (!$util.isString(message.project))
                                     return "project: string expected";
                             if (message.body != null && message.hasOwnProperty("body")) {
-                                var error = $root.google.cloud.sql.v1beta4.InstancesFailoverRequest.verify(message.body);
+                                var error = $root.google.cloud.sql.v1beta4.InstancesFailoverRequest.verify(message.body, long + 1);
                                 if (error)
                                     return "body." + error;
                             }
@@ -80688,9 +83918,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.SqlInstancesFailoverRequest} SqlInstancesFailoverRequest
                          */
-                        SqlInstancesFailoverRequest.fromObject = function fromObject(object) {
+                        SqlInstancesFailoverRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.SqlInstancesFailoverRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.SqlInstancesFailoverRequest();
                             if (object.instance != null)
                                 message.instance = String(object.instance);
@@ -80699,7 +83933,7 @@
                             if (object.body != null) {
                                 if (typeof object.body !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.SqlInstancesFailoverRequest.body: object expected");
-                                message.body = $root.google.cloud.sql.v1beta4.InstancesFailoverRequest.fromObject(object.body);
+                                message.body = $root.google.cloud.sql.v1beta4.InstancesFailoverRequest.fromObject(object.body, long + 1);
                             }
                             return message;
                         };
@@ -80781,7 +84015,7 @@
                         function SqlInstancesGetRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -80856,9 +84090,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlInstancesGetRequest.decode = function decode(reader, length, error) {
+                        SqlInstancesGetRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.SqlInstancesGetRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -80874,7 +84112,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -80905,9 +84143,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlInstancesGetRequest.verify = function verify(message) {
+                        SqlInstancesGetRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.instance != null && message.hasOwnProperty("instance"))
                                 if (!$util.isString(message.instance))
                                     return "instance: string expected";
@@ -80925,9 +84167,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.SqlInstancesGetRequest} SqlInstancesGetRequest
                          */
-                        SqlInstancesGetRequest.fromObject = function fromObject(object) {
+                        SqlInstancesGetRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.SqlInstancesGetRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.SqlInstancesGetRequest();
                             if (object.instance != null)
                                 message.instance = String(object.instance);
@@ -81011,7 +84257,7 @@
                         function SqlInstancesImportRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -81096,9 +84342,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlInstancesImportRequest.decode = function decode(reader, length, error) {
+                        SqlInstancesImportRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.SqlInstancesImportRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -81114,11 +84364,11 @@
                                         break;
                                     }
                                 case 100: {
-                                        message.body = $root.google.cloud.sql.v1beta4.InstancesImportRequest.decode(reader, reader.uint32());
+                                        message.body = $root.google.cloud.sql.v1beta4.InstancesImportRequest.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -81149,9 +84399,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlInstancesImportRequest.verify = function verify(message) {
+                        SqlInstancesImportRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.instance != null && message.hasOwnProperty("instance"))
                                 if (!$util.isString(message.instance))
                                     return "instance: string expected";
@@ -81159,7 +84413,7 @@
                                 if (!$util.isString(message.project))
                                     return "project: string expected";
                             if (message.body != null && message.hasOwnProperty("body")) {
-                                var error = $root.google.cloud.sql.v1beta4.InstancesImportRequest.verify(message.body);
+                                var error = $root.google.cloud.sql.v1beta4.InstancesImportRequest.verify(message.body, long + 1);
                                 if (error)
                                     return "body." + error;
                             }
@@ -81174,9 +84428,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.SqlInstancesImportRequest} SqlInstancesImportRequest
                          */
-                        SqlInstancesImportRequest.fromObject = function fromObject(object) {
+                        SqlInstancesImportRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.SqlInstancesImportRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.SqlInstancesImportRequest();
                             if (object.instance != null)
                                 message.instance = String(object.instance);
@@ -81185,7 +84443,7 @@
                             if (object.body != null) {
                                 if (typeof object.body !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.SqlInstancesImportRequest.body: object expected");
-                                message.body = $root.google.cloud.sql.v1beta4.InstancesImportRequest.fromObject(object.body);
+                                message.body = $root.google.cloud.sql.v1beta4.InstancesImportRequest.fromObject(object.body, long + 1);
                             }
                             return message;
                         };
@@ -81267,7 +84525,7 @@
                         function SqlInstancesInsertRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -81342,9 +84600,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlInstancesInsertRequest.decode = function decode(reader, length, error) {
+                        SqlInstancesInsertRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.SqlInstancesInsertRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -81356,11 +84618,11 @@
                                         break;
                                     }
                                 case 100: {
-                                        message.body = $root.google.cloud.sql.v1beta4.DatabaseInstance.decode(reader, reader.uint32());
+                                        message.body = $root.google.cloud.sql.v1beta4.DatabaseInstance.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -81391,14 +84653,18 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlInstancesInsertRequest.verify = function verify(message) {
+                        SqlInstancesInsertRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.project != null && message.hasOwnProperty("project"))
                                 if (!$util.isString(message.project))
                                     return "project: string expected";
                             if (message.body != null && message.hasOwnProperty("body")) {
-                                var error = $root.google.cloud.sql.v1beta4.DatabaseInstance.verify(message.body);
+                                var error = $root.google.cloud.sql.v1beta4.DatabaseInstance.verify(message.body, long + 1);
                                 if (error)
                                     return "body." + error;
                             }
@@ -81413,16 +84679,20 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.SqlInstancesInsertRequest} SqlInstancesInsertRequest
                          */
-                        SqlInstancesInsertRequest.fromObject = function fromObject(object) {
+                        SqlInstancesInsertRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.SqlInstancesInsertRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.SqlInstancesInsertRequest();
                             if (object.project != null)
                                 message.project = String(object.project);
                             if (object.body != null) {
                                 if (typeof object.body !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.SqlInstancesInsertRequest.body: object expected");
-                                message.body = $root.google.cloud.sql.v1beta4.DatabaseInstance.fromObject(object.body);
+                                message.body = $root.google.cloud.sql.v1beta4.DatabaseInstance.fromObject(object.body, long + 1);
                             }
                             return message;
                         };
@@ -81503,7 +84773,7 @@
                         function SqlInstancesListRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -81598,9 +84868,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlInstancesListRequest.decode = function decode(reader, length, error) {
+                        SqlInstancesListRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.SqlInstancesListRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -81624,7 +84898,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -81655,9 +84929,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlInstancesListRequest.verify = function verify(message) {
+                        SqlInstancesListRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.filter != null && message.hasOwnProperty("filter"))
                                 if (!$util.isString(message.filter))
                                     return "filter: string expected";
@@ -81681,9 +84959,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.SqlInstancesListRequest} SqlInstancesListRequest
                          */
-                        SqlInstancesListRequest.fromObject = function fromObject(object) {
+                        SqlInstancesListRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.SqlInstancesListRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.SqlInstancesListRequest();
                             if (object.filter != null)
                                 message.filter = String(object.filter);
@@ -81776,7 +85058,7 @@
                         function SqlInstancesListServerCasRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -81851,9 +85133,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlInstancesListServerCasRequest.decode = function decode(reader, length, error) {
+                        SqlInstancesListServerCasRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.SqlInstancesListServerCasRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -81869,7 +85155,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -81900,9 +85186,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlInstancesListServerCasRequest.verify = function verify(message) {
+                        SqlInstancesListServerCasRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.instance != null && message.hasOwnProperty("instance"))
                                 if (!$util.isString(message.instance))
                                     return "instance: string expected";
@@ -81920,9 +85210,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.SqlInstancesListServerCasRequest} SqlInstancesListServerCasRequest
                          */
-                        SqlInstancesListServerCasRequest.fromObject = function fromObject(object) {
+                        SqlInstancesListServerCasRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.SqlInstancesListServerCasRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.SqlInstancesListServerCasRequest();
                             if (object.instance != null)
                                 message.instance = String(object.instance);
@@ -82005,7 +85299,7 @@
                         function SqlInstancesListServerCertificatesRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -82080,9 +85374,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlInstancesListServerCertificatesRequest.decode = function decode(reader, length, error) {
+                        SqlInstancesListServerCertificatesRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.SqlInstancesListServerCertificatesRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -82098,7 +85396,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -82129,9 +85427,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlInstancesListServerCertificatesRequest.verify = function verify(message) {
+                        SqlInstancesListServerCertificatesRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.instance != null && message.hasOwnProperty("instance"))
                                 if (!$util.isString(message.instance))
                                     return "instance: string expected";
@@ -82149,9 +85451,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.SqlInstancesListServerCertificatesRequest} SqlInstancesListServerCertificatesRequest
                          */
-                        SqlInstancesListServerCertificatesRequest.fromObject = function fromObject(object) {
+                        SqlInstancesListServerCertificatesRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.SqlInstancesListServerCertificatesRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.SqlInstancesListServerCertificatesRequest();
                             if (object.instance != null)
                                 message.instance = String(object.instance);
@@ -82234,7 +85540,7 @@
                         function SqlInstancesListEntraIdCertificatesRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -82309,9 +85615,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlInstancesListEntraIdCertificatesRequest.decode = function decode(reader, length, error) {
+                        SqlInstancesListEntraIdCertificatesRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.SqlInstancesListEntraIdCertificatesRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -82327,7 +85637,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -82358,9 +85668,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlInstancesListEntraIdCertificatesRequest.verify = function verify(message) {
+                        SqlInstancesListEntraIdCertificatesRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.instance != null && message.hasOwnProperty("instance"))
                                 if (!$util.isString(message.instance))
                                     return "instance: string expected";
@@ -82378,9 +85692,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.SqlInstancesListEntraIdCertificatesRequest} SqlInstancesListEntraIdCertificatesRequest
                          */
-                        SqlInstancesListEntraIdCertificatesRequest.fromObject = function fromObject(object) {
+                        SqlInstancesListEntraIdCertificatesRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.SqlInstancesListEntraIdCertificatesRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.SqlInstancesListEntraIdCertificatesRequest();
                             if (object.instance != null)
                                 message.instance = String(object.instance);
@@ -82464,7 +85782,7 @@
                         function SqlInstancesPatchRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -82549,9 +85867,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlInstancesPatchRequest.decode = function decode(reader, length, error) {
+                        SqlInstancesPatchRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.SqlInstancesPatchRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -82567,11 +85889,11 @@
                                         break;
                                     }
                                 case 100: {
-                                        message.body = $root.google.cloud.sql.v1beta4.DatabaseInstance.decode(reader, reader.uint32());
+                                        message.body = $root.google.cloud.sql.v1beta4.DatabaseInstance.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -82602,9 +85924,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlInstancesPatchRequest.verify = function verify(message) {
+                        SqlInstancesPatchRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.instance != null && message.hasOwnProperty("instance"))
                                 if (!$util.isString(message.instance))
                                     return "instance: string expected";
@@ -82612,7 +85938,7 @@
                                 if (!$util.isString(message.project))
                                     return "project: string expected";
                             if (message.body != null && message.hasOwnProperty("body")) {
-                                var error = $root.google.cloud.sql.v1beta4.DatabaseInstance.verify(message.body);
+                                var error = $root.google.cloud.sql.v1beta4.DatabaseInstance.verify(message.body, long + 1);
                                 if (error)
                                     return "body." + error;
                             }
@@ -82627,9 +85953,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.SqlInstancesPatchRequest} SqlInstancesPatchRequest
                          */
-                        SqlInstancesPatchRequest.fromObject = function fromObject(object) {
+                        SqlInstancesPatchRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.SqlInstancesPatchRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.SqlInstancesPatchRequest();
                             if (object.instance != null)
                                 message.instance = String(object.instance);
@@ -82638,7 +85968,7 @@
                             if (object.body != null) {
                                 if (typeof object.body !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.SqlInstancesPatchRequest.body: object expected");
-                                message.body = $root.google.cloud.sql.v1beta4.DatabaseInstance.fromObject(object.body);
+                                message.body = $root.google.cloud.sql.v1beta4.DatabaseInstance.fromObject(object.body, long + 1);
                             }
                             return message;
                         };
@@ -82721,7 +86051,7 @@
                         function SqlInstancesPromoteReplicaRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -82806,9 +86136,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlInstancesPromoteReplicaRequest.decode = function decode(reader, length, error) {
+                        SqlInstancesPromoteReplicaRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.SqlInstancesPromoteReplicaRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -82828,7 +86162,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -82859,9 +86193,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlInstancesPromoteReplicaRequest.verify = function verify(message) {
+                        SqlInstancesPromoteReplicaRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.instance != null && message.hasOwnProperty("instance"))
                                 if (!$util.isString(message.instance))
                                     return "instance: string expected";
@@ -82882,9 +86220,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.SqlInstancesPromoteReplicaRequest} SqlInstancesPromoteReplicaRequest
                          */
-                        SqlInstancesPromoteReplicaRequest.fromObject = function fromObject(object) {
+                        SqlInstancesPromoteReplicaRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.SqlInstancesPromoteReplicaRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.SqlInstancesPromoteReplicaRequest();
                             if (object.instance != null)
                                 message.instance = String(object.instance);
@@ -82973,7 +86315,7 @@
                         function SqlInstancesSwitchoverRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -83058,9 +86400,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlInstancesSwitchoverRequest.decode = function decode(reader, length, error) {
+                        SqlInstancesSwitchoverRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.SqlInstancesSwitchoverRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -83076,11 +86422,11 @@
                                         break;
                                     }
                                 case 3: {
-                                        message.dbTimeout = $root.google.protobuf.Duration.decode(reader, reader.uint32());
+                                        message.dbTimeout = $root.google.protobuf.Duration.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -83111,9 +86457,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlInstancesSwitchoverRequest.verify = function verify(message) {
+                        SqlInstancesSwitchoverRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.instance != null && message.hasOwnProperty("instance"))
                                 if (!$util.isString(message.instance))
                                     return "instance: string expected";
@@ -83121,7 +86471,7 @@
                                 if (!$util.isString(message.project))
                                     return "project: string expected";
                             if (message.dbTimeout != null && message.hasOwnProperty("dbTimeout")) {
-                                var error = $root.google.protobuf.Duration.verify(message.dbTimeout);
+                                var error = $root.google.protobuf.Duration.verify(message.dbTimeout, long + 1);
                                 if (error)
                                     return "dbTimeout." + error;
                             }
@@ -83136,9 +86486,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.SqlInstancesSwitchoverRequest} SqlInstancesSwitchoverRequest
                          */
-                        SqlInstancesSwitchoverRequest.fromObject = function fromObject(object) {
+                        SqlInstancesSwitchoverRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.SqlInstancesSwitchoverRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.SqlInstancesSwitchoverRequest();
                             if (object.instance != null)
                                 message.instance = String(object.instance);
@@ -83147,7 +86501,7 @@
                             if (object.dbTimeout != null) {
                                 if (typeof object.dbTimeout !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.SqlInstancesSwitchoverRequest.dbTimeout: object expected");
-                                message.dbTimeout = $root.google.protobuf.Duration.fromObject(object.dbTimeout);
+                                message.dbTimeout = $root.google.protobuf.Duration.fromObject(object.dbTimeout, long + 1);
                             }
                             return message;
                         };
@@ -83230,7 +86584,7 @@
                         function SqlInstancesResetSslConfigRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -83315,9 +86669,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlInstancesResetSslConfigRequest.decode = function decode(reader, length, error) {
+                        SqlInstancesResetSslConfigRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.SqlInstancesResetSslConfigRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -83337,7 +86695,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -83368,9 +86726,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlInstancesResetSslConfigRequest.verify = function verify(message) {
+                        SqlInstancesResetSslConfigRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.instance != null && message.hasOwnProperty("instance"))
                                 if (!$util.isString(message.instance))
                                     return "instance: string expected";
@@ -83397,9 +86759,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.SqlInstancesResetSslConfigRequest} SqlInstancesResetSslConfigRequest
                          */
-                        SqlInstancesResetSslConfigRequest.fromObject = function fromObject(object) {
+                        SqlInstancesResetSslConfigRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.SqlInstancesResetSslConfigRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.SqlInstancesResetSslConfigRequest();
                             if (object.instance != null)
                                 message.instance = String(object.instance);
@@ -83521,7 +86887,7 @@
                         function SqlInstancesRestartRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -83596,9 +86962,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlInstancesRestartRequest.decode = function decode(reader, length, error) {
+                        SqlInstancesRestartRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.SqlInstancesRestartRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -83614,7 +86984,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -83645,9 +87015,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlInstancesRestartRequest.verify = function verify(message) {
+                        SqlInstancesRestartRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.instance != null && message.hasOwnProperty("instance"))
                                 if (!$util.isString(message.instance))
                                     return "instance: string expected";
@@ -83665,9 +87039,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.SqlInstancesRestartRequest} SqlInstancesRestartRequest
                          */
-                        SqlInstancesRestartRequest.fromObject = function fromObject(object) {
+                        SqlInstancesRestartRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.SqlInstancesRestartRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.SqlInstancesRestartRequest();
                             if (object.instance != null)
                                 message.instance = String(object.instance);
@@ -83751,7 +87129,7 @@
                         function SqlInstancesRestoreBackupRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -83836,9 +87214,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlInstancesRestoreBackupRequest.decode = function decode(reader, length, error) {
+                        SqlInstancesRestoreBackupRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.SqlInstancesRestoreBackupRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -83854,11 +87236,11 @@
                                         break;
                                     }
                                 case 100: {
-                                        message.body = $root.google.cloud.sql.v1beta4.InstancesRestoreBackupRequest.decode(reader, reader.uint32());
+                                        message.body = $root.google.cloud.sql.v1beta4.InstancesRestoreBackupRequest.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -83889,9 +87271,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlInstancesRestoreBackupRequest.verify = function verify(message) {
+                        SqlInstancesRestoreBackupRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.instance != null && message.hasOwnProperty("instance"))
                                 if (!$util.isString(message.instance))
                                     return "instance: string expected";
@@ -83899,7 +87285,7 @@
                                 if (!$util.isString(message.project))
                                     return "project: string expected";
                             if (message.body != null && message.hasOwnProperty("body")) {
-                                var error = $root.google.cloud.sql.v1beta4.InstancesRestoreBackupRequest.verify(message.body);
+                                var error = $root.google.cloud.sql.v1beta4.InstancesRestoreBackupRequest.verify(message.body, long + 1);
                                 if (error)
                                     return "body." + error;
                             }
@@ -83914,9 +87300,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.SqlInstancesRestoreBackupRequest} SqlInstancesRestoreBackupRequest
                          */
-                        SqlInstancesRestoreBackupRequest.fromObject = function fromObject(object) {
+                        SqlInstancesRestoreBackupRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.SqlInstancesRestoreBackupRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.SqlInstancesRestoreBackupRequest();
                             if (object.instance != null)
                                 message.instance = String(object.instance);
@@ -83925,7 +87315,7 @@
                             if (object.body != null) {
                                 if (typeof object.body !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.SqlInstancesRestoreBackupRequest.body: object expected");
-                                message.body = $root.google.cloud.sql.v1beta4.InstancesRestoreBackupRequest.fromObject(object.body);
+                                message.body = $root.google.cloud.sql.v1beta4.InstancesRestoreBackupRequest.fromObject(object.body, long + 1);
                             }
                             return message;
                         };
@@ -84008,7 +87398,7 @@
                         function SqlInstancesRotateServerCaRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -84093,9 +87483,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlInstancesRotateServerCaRequest.decode = function decode(reader, length, error) {
+                        SqlInstancesRotateServerCaRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.SqlInstancesRotateServerCaRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -84111,11 +87505,11 @@
                                         break;
                                     }
                                 case 100: {
-                                        message.body = $root.google.cloud.sql.v1beta4.InstancesRotateServerCaRequest.decode(reader, reader.uint32());
+                                        message.body = $root.google.cloud.sql.v1beta4.InstancesRotateServerCaRequest.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -84146,9 +87540,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlInstancesRotateServerCaRequest.verify = function verify(message) {
+                        SqlInstancesRotateServerCaRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.instance != null && message.hasOwnProperty("instance"))
                                 if (!$util.isString(message.instance))
                                     return "instance: string expected";
@@ -84156,7 +87554,7 @@
                                 if (!$util.isString(message.project))
                                     return "project: string expected";
                             if (message.body != null && message.hasOwnProperty("body")) {
-                                var error = $root.google.cloud.sql.v1beta4.InstancesRotateServerCaRequest.verify(message.body);
+                                var error = $root.google.cloud.sql.v1beta4.InstancesRotateServerCaRequest.verify(message.body, long + 1);
                                 if (error)
                                     return "body." + error;
                             }
@@ -84171,9 +87569,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.SqlInstancesRotateServerCaRequest} SqlInstancesRotateServerCaRequest
                          */
-                        SqlInstancesRotateServerCaRequest.fromObject = function fromObject(object) {
+                        SqlInstancesRotateServerCaRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.SqlInstancesRotateServerCaRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.SqlInstancesRotateServerCaRequest();
                             if (object.instance != null)
                                 message.instance = String(object.instance);
@@ -84182,7 +87584,7 @@
                             if (object.body != null) {
                                 if (typeof object.body !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.SqlInstancesRotateServerCaRequest.body: object expected");
-                                message.body = $root.google.cloud.sql.v1beta4.InstancesRotateServerCaRequest.fromObject(object.body);
+                                message.body = $root.google.cloud.sql.v1beta4.InstancesRotateServerCaRequest.fromObject(object.body, long + 1);
                             }
                             return message;
                         };
@@ -84265,7 +87667,7 @@
                         function SqlInstancesRotateServerCertificateRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -84350,9 +87752,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlInstancesRotateServerCertificateRequest.decode = function decode(reader, length, error) {
+                        SqlInstancesRotateServerCertificateRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.SqlInstancesRotateServerCertificateRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -84368,11 +87774,11 @@
                                         break;
                                     }
                                 case 100: {
-                                        message.body = $root.google.cloud.sql.v1beta4.InstancesRotateServerCertificateRequest.decode(reader, reader.uint32());
+                                        message.body = $root.google.cloud.sql.v1beta4.InstancesRotateServerCertificateRequest.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -84403,9 +87809,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlInstancesRotateServerCertificateRequest.verify = function verify(message) {
+                        SqlInstancesRotateServerCertificateRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.instance != null && message.hasOwnProperty("instance"))
                                 if (!$util.isString(message.instance))
                                     return "instance: string expected";
@@ -84413,7 +87823,7 @@
                                 if (!$util.isString(message.project))
                                     return "project: string expected";
                             if (message.body != null && message.hasOwnProperty("body")) {
-                                var error = $root.google.cloud.sql.v1beta4.InstancesRotateServerCertificateRequest.verify(message.body);
+                                var error = $root.google.cloud.sql.v1beta4.InstancesRotateServerCertificateRequest.verify(message.body, long + 1);
                                 if (error)
                                     return "body." + error;
                             }
@@ -84428,9 +87838,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.SqlInstancesRotateServerCertificateRequest} SqlInstancesRotateServerCertificateRequest
                          */
-                        SqlInstancesRotateServerCertificateRequest.fromObject = function fromObject(object) {
+                        SqlInstancesRotateServerCertificateRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.SqlInstancesRotateServerCertificateRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.SqlInstancesRotateServerCertificateRequest();
                             if (object.instance != null)
                                 message.instance = String(object.instance);
@@ -84439,7 +87853,7 @@
                             if (object.body != null) {
                                 if (typeof object.body !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.SqlInstancesRotateServerCertificateRequest.body: object expected");
-                                message.body = $root.google.cloud.sql.v1beta4.InstancesRotateServerCertificateRequest.fromObject(object.body);
+                                message.body = $root.google.cloud.sql.v1beta4.InstancesRotateServerCertificateRequest.fromObject(object.body, long + 1);
                             }
                             return message;
                         };
@@ -84522,7 +87936,7 @@
                         function SqlInstancesRotateEntraIdCertificateRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -84607,9 +88021,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlInstancesRotateEntraIdCertificateRequest.decode = function decode(reader, length, error) {
+                        SqlInstancesRotateEntraIdCertificateRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.SqlInstancesRotateEntraIdCertificateRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -84625,11 +88043,11 @@
                                         break;
                                     }
                                 case 100: {
-                                        message.body = $root.google.cloud.sql.v1beta4.InstancesRotateEntraIdCertificateRequest.decode(reader, reader.uint32());
+                                        message.body = $root.google.cloud.sql.v1beta4.InstancesRotateEntraIdCertificateRequest.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -84660,9 +88078,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlInstancesRotateEntraIdCertificateRequest.verify = function verify(message) {
+                        SqlInstancesRotateEntraIdCertificateRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.instance != null && message.hasOwnProperty("instance"))
                                 if (!$util.isString(message.instance))
                                     return "instance: string expected";
@@ -84670,7 +88092,7 @@
                                 if (!$util.isString(message.project))
                                     return "project: string expected";
                             if (message.body != null && message.hasOwnProperty("body")) {
-                                var error = $root.google.cloud.sql.v1beta4.InstancesRotateEntraIdCertificateRequest.verify(message.body);
+                                var error = $root.google.cloud.sql.v1beta4.InstancesRotateEntraIdCertificateRequest.verify(message.body, long + 1);
                                 if (error)
                                     return "body." + error;
                             }
@@ -84685,9 +88107,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.SqlInstancesRotateEntraIdCertificateRequest} SqlInstancesRotateEntraIdCertificateRequest
                          */
-                        SqlInstancesRotateEntraIdCertificateRequest.fromObject = function fromObject(object) {
+                        SqlInstancesRotateEntraIdCertificateRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.SqlInstancesRotateEntraIdCertificateRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.SqlInstancesRotateEntraIdCertificateRequest();
                             if (object.instance != null)
                                 message.instance = String(object.instance);
@@ -84696,7 +88122,7 @@
                             if (object.body != null) {
                                 if (typeof object.body !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.SqlInstancesRotateEntraIdCertificateRequest.body: object expected");
-                                message.body = $root.google.cloud.sql.v1beta4.InstancesRotateEntraIdCertificateRequest.fromObject(object.body);
+                                message.body = $root.google.cloud.sql.v1beta4.InstancesRotateEntraIdCertificateRequest.fromObject(object.body, long + 1);
                             }
                             return message;
                         };
@@ -84778,7 +88204,7 @@
                         function SqlInstancesStartReplicaRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -84853,9 +88279,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlInstancesStartReplicaRequest.decode = function decode(reader, length, error) {
+                        SqlInstancesStartReplicaRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.SqlInstancesStartReplicaRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -84871,7 +88301,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -84902,9 +88332,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlInstancesStartReplicaRequest.verify = function verify(message) {
+                        SqlInstancesStartReplicaRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.instance != null && message.hasOwnProperty("instance"))
                                 if (!$util.isString(message.instance))
                                     return "instance: string expected";
@@ -84922,9 +88356,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.SqlInstancesStartReplicaRequest} SqlInstancesStartReplicaRequest
                          */
-                        SqlInstancesStartReplicaRequest.fromObject = function fromObject(object) {
+                        SqlInstancesStartReplicaRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.SqlInstancesStartReplicaRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.SqlInstancesStartReplicaRequest();
                             if (object.instance != null)
                                 message.instance = String(object.instance);
@@ -85007,7 +88445,7 @@
                         function SqlInstancesStopReplicaRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -85082,9 +88520,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlInstancesStopReplicaRequest.decode = function decode(reader, length, error) {
+                        SqlInstancesStopReplicaRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.SqlInstancesStopReplicaRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -85100,7 +88542,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -85131,9 +88573,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlInstancesStopReplicaRequest.verify = function verify(message) {
+                        SqlInstancesStopReplicaRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.instance != null && message.hasOwnProperty("instance"))
                                 if (!$util.isString(message.instance))
                                     return "instance: string expected";
@@ -85151,9 +88597,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.SqlInstancesStopReplicaRequest} SqlInstancesStopReplicaRequest
                          */
-                        SqlInstancesStopReplicaRequest.fromObject = function fromObject(object) {
+                        SqlInstancesStopReplicaRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.SqlInstancesStopReplicaRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.SqlInstancesStopReplicaRequest();
                             if (object.instance != null)
                                 message.instance = String(object.instance);
@@ -85237,7 +88687,7 @@
                         function SqlInstancesTruncateLogRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -85322,9 +88772,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlInstancesTruncateLogRequest.decode = function decode(reader, length, error) {
+                        SqlInstancesTruncateLogRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.SqlInstancesTruncateLogRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -85340,11 +88794,11 @@
                                         break;
                                     }
                                 case 100: {
-                                        message.body = $root.google.cloud.sql.v1beta4.InstancesTruncateLogRequest.decode(reader, reader.uint32());
+                                        message.body = $root.google.cloud.sql.v1beta4.InstancesTruncateLogRequest.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -85375,9 +88829,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlInstancesTruncateLogRequest.verify = function verify(message) {
+                        SqlInstancesTruncateLogRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.instance != null && message.hasOwnProperty("instance"))
                                 if (!$util.isString(message.instance))
                                     return "instance: string expected";
@@ -85385,7 +88843,7 @@
                                 if (!$util.isString(message.project))
                                     return "project: string expected";
                             if (message.body != null && message.hasOwnProperty("body")) {
-                                var error = $root.google.cloud.sql.v1beta4.InstancesTruncateLogRequest.verify(message.body);
+                                var error = $root.google.cloud.sql.v1beta4.InstancesTruncateLogRequest.verify(message.body, long + 1);
                                 if (error)
                                     return "body." + error;
                             }
@@ -85400,9 +88858,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.SqlInstancesTruncateLogRequest} SqlInstancesTruncateLogRequest
                          */
-                        SqlInstancesTruncateLogRequest.fromObject = function fromObject(object) {
+                        SqlInstancesTruncateLogRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.SqlInstancesTruncateLogRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.SqlInstancesTruncateLogRequest();
                             if (object.instance != null)
                                 message.instance = String(object.instance);
@@ -85411,7 +88873,7 @@
                             if (object.body != null) {
                                 if (typeof object.body !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.SqlInstancesTruncateLogRequest.body: object expected");
-                                message.body = $root.google.cloud.sql.v1beta4.InstancesTruncateLogRequest.fromObject(object.body);
+                                message.body = $root.google.cloud.sql.v1beta4.InstancesTruncateLogRequest.fromObject(object.body, long + 1);
                             }
                             return message;
                         };
@@ -85494,7 +88956,7 @@
                         function SqlInstancesUpdateRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -85579,9 +89041,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlInstancesUpdateRequest.decode = function decode(reader, length, error) {
+                        SqlInstancesUpdateRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.SqlInstancesUpdateRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -85597,11 +89063,11 @@
                                         break;
                                     }
                                 case 100: {
-                                        message.body = $root.google.cloud.sql.v1beta4.DatabaseInstance.decode(reader, reader.uint32());
+                                        message.body = $root.google.cloud.sql.v1beta4.DatabaseInstance.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -85632,9 +89098,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlInstancesUpdateRequest.verify = function verify(message) {
+                        SqlInstancesUpdateRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.instance != null && message.hasOwnProperty("instance"))
                                 if (!$util.isString(message.instance))
                                     return "instance: string expected";
@@ -85642,7 +89112,7 @@
                                 if (!$util.isString(message.project))
                                     return "project: string expected";
                             if (message.body != null && message.hasOwnProperty("body")) {
-                                var error = $root.google.cloud.sql.v1beta4.DatabaseInstance.verify(message.body);
+                                var error = $root.google.cloud.sql.v1beta4.DatabaseInstance.verify(message.body, long + 1);
                                 if (error)
                                     return "body." + error;
                             }
@@ -85657,9 +89127,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.SqlInstancesUpdateRequest} SqlInstancesUpdateRequest
                          */
-                        SqlInstancesUpdateRequest.fromObject = function fromObject(object) {
+                        SqlInstancesUpdateRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.SqlInstancesUpdateRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.SqlInstancesUpdateRequest();
                             if (object.instance != null)
                                 message.instance = String(object.instance);
@@ -85668,7 +89142,7 @@
                             if (object.body != null) {
                                 if (typeof object.body !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.SqlInstancesUpdateRequest.body: object expected");
-                                message.body = $root.google.cloud.sql.v1beta4.DatabaseInstance.fromObject(object.body);
+                                message.body = $root.google.cloud.sql.v1beta4.DatabaseInstance.fromObject(object.body, long + 1);
                             }
                             return message;
                         };
@@ -85751,7 +89225,7 @@
                         function SqlInstancesReencryptRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -85836,9 +89310,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlInstancesReencryptRequest.decode = function decode(reader, length, error) {
+                        SqlInstancesReencryptRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.SqlInstancesReencryptRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -85854,11 +89332,11 @@
                                         break;
                                     }
                                 case 3: {
-                                        message.body = $root.google.cloud.sql.v1beta4.InstancesReencryptRequest.decode(reader, reader.uint32());
+                                        message.body = $root.google.cloud.sql.v1beta4.InstancesReencryptRequest.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -85889,9 +89367,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlInstancesReencryptRequest.verify = function verify(message) {
+                        SqlInstancesReencryptRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.instance != null && message.hasOwnProperty("instance"))
                                 if (!$util.isString(message.instance))
                                     return "instance: string expected";
@@ -85899,7 +89381,7 @@
                                 if (!$util.isString(message.project))
                                     return "project: string expected";
                             if (message.body != null && message.hasOwnProperty("body")) {
-                                var error = $root.google.cloud.sql.v1beta4.InstancesReencryptRequest.verify(message.body);
+                                var error = $root.google.cloud.sql.v1beta4.InstancesReencryptRequest.verify(message.body, long + 1);
                                 if (error)
                                     return "body." + error;
                             }
@@ -85914,9 +89396,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.SqlInstancesReencryptRequest} SqlInstancesReencryptRequest
                          */
-                        SqlInstancesReencryptRequest.fromObject = function fromObject(object) {
+                        SqlInstancesReencryptRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.SqlInstancesReencryptRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.SqlInstancesReencryptRequest();
                             if (object.instance != null)
                                 message.instance = String(object.instance);
@@ -85925,7 +89411,7 @@
                             if (object.body != null) {
                                 if (typeof object.body !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.SqlInstancesReencryptRequest.body: object expected");
-                                message.body = $root.google.cloud.sql.v1beta4.InstancesReencryptRequest.fromObject(object.body);
+                                message.body = $root.google.cloud.sql.v1beta4.InstancesReencryptRequest.fromObject(object.body, long + 1);
                             }
                             return message;
                         };
@@ -86006,7 +89492,7 @@
                         function InstancesReencryptRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -86080,9 +89566,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        InstancesReencryptRequest.decode = function decode(reader, length, error) {
+                        InstancesReencryptRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.InstancesReencryptRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -86090,11 +89580,11 @@
                                     break;
                                 switch (tag >>> 3) {
                                 case 1: {
-                                        message.backupReencryptionConfig = $root.google.cloud.sql.v1beta4.BackupReencryptionConfig.decode(reader, reader.uint32());
+                                        message.backupReencryptionConfig = $root.google.cloud.sql.v1beta4.BackupReencryptionConfig.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -86125,14 +89615,18 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        InstancesReencryptRequest.verify = function verify(message) {
+                        InstancesReencryptRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             var properties = {};
                             if (message.backupReencryptionConfig != null && message.hasOwnProperty("backupReencryptionConfig")) {
                                 properties._backupReencryptionConfig = 1;
                                 {
-                                    var error = $root.google.cloud.sql.v1beta4.BackupReencryptionConfig.verify(message.backupReencryptionConfig);
+                                    var error = $root.google.cloud.sql.v1beta4.BackupReencryptionConfig.verify(message.backupReencryptionConfig, long + 1);
                                     if (error)
                                         return "backupReencryptionConfig." + error;
                                 }
@@ -86148,14 +89642,18 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.InstancesReencryptRequest} InstancesReencryptRequest
                          */
-                        InstancesReencryptRequest.fromObject = function fromObject(object) {
+                        InstancesReencryptRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.InstancesReencryptRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.InstancesReencryptRequest();
                             if (object.backupReencryptionConfig != null) {
                                 if (typeof object.backupReencryptionConfig !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.InstancesReencryptRequest.backupReencryptionConfig: object expected");
-                                message.backupReencryptionConfig = $root.google.cloud.sql.v1beta4.BackupReencryptionConfig.fromObject(object.backupReencryptionConfig);
+                                message.backupReencryptionConfig = $root.google.cloud.sql.v1beta4.BackupReencryptionConfig.fromObject(object.backupReencryptionConfig, long + 1);
                             }
                             return message;
                         };
@@ -86231,7 +89729,7 @@
                         function BackupReencryptionConfig(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -86321,9 +89819,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        BackupReencryptionConfig.decode = function decode(reader, length, error) {
+                        BackupReencryptionConfig.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.BackupReencryptionConfig();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -86339,7 +89841,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -86370,9 +89872,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        BackupReencryptionConfig.verify = function verify(message) {
+                        BackupReencryptionConfig.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             var properties = {};
                             if (message.backupLimit != null && message.hasOwnProperty("backupLimit")) {
                                 properties._backupLimit = 1;
@@ -86401,9 +89907,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.BackupReencryptionConfig} BackupReencryptionConfig
                          */
-                        BackupReencryptionConfig.fromObject = function fromObject(object) {
+                        BackupReencryptionConfig.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.BackupReencryptionConfig)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.BackupReencryptionConfig();
                             if (object.backupLimit != null)
                                 message.backupLimit = object.backupLimit | 0;
@@ -86523,7 +90033,7 @@
                         function SqlInstancesRescheduleMaintenanceRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -86608,9 +90118,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlInstancesRescheduleMaintenanceRequest.decode = function decode(reader, length, error) {
+                        SqlInstancesRescheduleMaintenanceRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.SqlInstancesRescheduleMaintenanceRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -86626,11 +90140,11 @@
                                         break;
                                     }
                                 case 100: {
-                                        message.body = $root.google.cloud.sql.v1beta4.SqlInstancesRescheduleMaintenanceRequestBody.decode(reader, reader.uint32());
+                                        message.body = $root.google.cloud.sql.v1beta4.SqlInstancesRescheduleMaintenanceRequestBody.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -86661,9 +90175,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlInstancesRescheduleMaintenanceRequest.verify = function verify(message) {
+                        SqlInstancesRescheduleMaintenanceRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.instance != null && message.hasOwnProperty("instance"))
                                 if (!$util.isString(message.instance))
                                     return "instance: string expected";
@@ -86671,7 +90189,7 @@
                                 if (!$util.isString(message.project))
                                     return "project: string expected";
                             if (message.body != null && message.hasOwnProperty("body")) {
-                                var error = $root.google.cloud.sql.v1beta4.SqlInstancesRescheduleMaintenanceRequestBody.verify(message.body);
+                                var error = $root.google.cloud.sql.v1beta4.SqlInstancesRescheduleMaintenanceRequestBody.verify(message.body, long + 1);
                                 if (error)
                                     return "body." + error;
                             }
@@ -86686,9 +90204,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.SqlInstancesRescheduleMaintenanceRequest} SqlInstancesRescheduleMaintenanceRequest
                          */
-                        SqlInstancesRescheduleMaintenanceRequest.fromObject = function fromObject(object) {
+                        SqlInstancesRescheduleMaintenanceRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.SqlInstancesRescheduleMaintenanceRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.SqlInstancesRescheduleMaintenanceRequest();
                             if (object.instance != null)
                                 message.instance = String(object.instance);
@@ -86697,7 +90219,7 @@
                             if (object.body != null) {
                                 if (typeof object.body !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.SqlInstancesRescheduleMaintenanceRequest.body: object expected");
-                                message.body = $root.google.cloud.sql.v1beta4.SqlInstancesRescheduleMaintenanceRequestBody.fromObject(object.body);
+                                message.body = $root.google.cloud.sql.v1beta4.SqlInstancesRescheduleMaintenanceRequestBody.fromObject(object.body, long + 1);
                             }
                             return message;
                         };
@@ -86780,7 +90302,7 @@
                         function SqlInstancesPerformDiskShrinkRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -86865,9 +90387,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlInstancesPerformDiskShrinkRequest.decode = function decode(reader, length, error) {
+                        SqlInstancesPerformDiskShrinkRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.SqlInstancesPerformDiskShrinkRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -86883,11 +90409,11 @@
                                         break;
                                     }
                                 case 100: {
-                                        message.body = $root.google.cloud.sql.v1beta4.PerformDiskShrinkContext.decode(reader, reader.uint32());
+                                        message.body = $root.google.cloud.sql.v1beta4.PerformDiskShrinkContext.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -86918,9 +90444,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlInstancesPerformDiskShrinkRequest.verify = function verify(message) {
+                        SqlInstancesPerformDiskShrinkRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.instance != null && message.hasOwnProperty("instance"))
                                 if (!$util.isString(message.instance))
                                     return "instance: string expected";
@@ -86928,7 +90458,7 @@
                                 if (!$util.isString(message.project))
                                     return "project: string expected";
                             if (message.body != null && message.hasOwnProperty("body")) {
-                                var error = $root.google.cloud.sql.v1beta4.PerformDiskShrinkContext.verify(message.body);
+                                var error = $root.google.cloud.sql.v1beta4.PerformDiskShrinkContext.verify(message.body, long + 1);
                                 if (error)
                                     return "body." + error;
                             }
@@ -86943,9 +90473,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.SqlInstancesPerformDiskShrinkRequest} SqlInstancesPerformDiskShrinkRequest
                          */
-                        SqlInstancesPerformDiskShrinkRequest.fromObject = function fromObject(object) {
+                        SqlInstancesPerformDiskShrinkRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.SqlInstancesPerformDiskShrinkRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.SqlInstancesPerformDiskShrinkRequest();
                             if (object.instance != null)
                                 message.instance = String(object.instance);
@@ -86954,7 +90488,7 @@
                             if (object.body != null) {
                                 if (typeof object.body !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.SqlInstancesPerformDiskShrinkRequest.body: object expected");
-                                message.body = $root.google.cloud.sql.v1beta4.PerformDiskShrinkContext.fromObject(object.body);
+                                message.body = $root.google.cloud.sql.v1beta4.PerformDiskShrinkContext.fromObject(object.body, long + 1);
                             }
                             return message;
                         };
@@ -87053,7 +90587,7 @@
                         function ExternalSyncSelectedObject(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -87118,9 +90652,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        ExternalSyncSelectedObject.decode = function decode(reader, length, error) {
+                        ExternalSyncSelectedObject.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.ExternalSyncSelectedObject();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -87132,7 +90670,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -87163,9 +90701,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        ExternalSyncSelectedObject.verify = function verify(message) {
+                        ExternalSyncSelectedObject.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.database != null && message.hasOwnProperty("database"))
                                 if (!$util.isString(message.database))
                                     return "database: string expected";
@@ -87180,9 +90722,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.ExternalSyncSelectedObject} ExternalSyncSelectedObject
                          */
-                        ExternalSyncSelectedObject.fromObject = function fromObject(object) {
+                        ExternalSyncSelectedObject.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.ExternalSyncSelectedObject)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.ExternalSyncSelectedObject();
                             if (object.database != null)
                                 message.database = String(object.database);
@@ -87267,7 +90813,7 @@
                             this.selectedObjects = [];
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -87427,9 +90973,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlInstancesVerifyExternalSyncSettingsRequest.decode = function decode(reader, length, error) {
+                        SqlInstancesVerifyExternalSyncSettingsRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.SqlInstancesVerifyExternalSyncSettingsRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -87457,7 +91007,7 @@
                                         break;
                                     }
                                 case 6: {
-                                        message.mysqlSyncConfig = $root.google.cloud.sql.v1beta4.MySqlSyncConfig.decode(reader, reader.uint32());
+                                        message.mysqlSyncConfig = $root.google.cloud.sql.v1beta4.MySqlSyncConfig.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 7: {
@@ -87471,11 +91021,11 @@
                                 case 9: {
                                         if (!(message.selectedObjects && message.selectedObjects.length))
                                             message.selectedObjects = [];
-                                        message.selectedObjects.push($root.google.cloud.sql.v1beta4.ExternalSyncSelectedObject.decode(reader, reader.uint32()));
+                                        message.selectedObjects.push($root.google.cloud.sql.v1beta4.ExternalSyncSelectedObject.decode(reader, reader.uint32(), undefined, long + 1));
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -87506,9 +91056,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlInstancesVerifyExternalSyncSettingsRequest.verify = function verify(message) {
+                        SqlInstancesVerifyExternalSyncSettingsRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             var properties = {};
                             if (message.instance != null && message.hasOwnProperty("instance"))
                                 if (!$util.isString(message.instance))
@@ -87534,7 +91088,7 @@
                             if (message.mysqlSyncConfig != null && message.hasOwnProperty("mysqlSyncConfig")) {
                                 properties.syncConfig = 1;
                                 {
-                                    var error = $root.google.cloud.sql.v1beta4.MySqlSyncConfig.verify(message.mysqlSyncConfig);
+                                    var error = $root.google.cloud.sql.v1beta4.MySqlSyncConfig.verify(message.mysqlSyncConfig, long + 1);
                                     if (error)
                                         return "mysqlSyncConfig." + error;
                                 }
@@ -87562,7 +91116,7 @@
                                 if (!Array.isArray(message.selectedObjects))
                                     return "selectedObjects: array expected";
                                 for (var i = 0; i < message.selectedObjects.length; ++i) {
-                                    var error = $root.google.cloud.sql.v1beta4.ExternalSyncSelectedObject.verify(message.selectedObjects[i]);
+                                    var error = $root.google.cloud.sql.v1beta4.ExternalSyncSelectedObject.verify(message.selectedObjects[i], long + 1);
                                     if (error)
                                         return "selectedObjects." + error;
                                 }
@@ -87578,9 +91132,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.SqlInstancesVerifyExternalSyncSettingsRequest} SqlInstancesVerifyExternalSyncSettingsRequest
                          */
-                        SqlInstancesVerifyExternalSyncSettingsRequest.fromObject = function fromObject(object) {
+                        SqlInstancesVerifyExternalSyncSettingsRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.SqlInstancesVerifyExternalSyncSettingsRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.SqlInstancesVerifyExternalSyncSettingsRequest();
                             if (object.instance != null)
                                 message.instance = String(object.instance);
@@ -87613,7 +91171,7 @@
                             if (object.mysqlSyncConfig != null) {
                                 if (typeof object.mysqlSyncConfig !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.SqlInstancesVerifyExternalSyncSettingsRequest.mysqlSyncConfig: object expected");
-                                message.mysqlSyncConfig = $root.google.cloud.sql.v1beta4.MySqlSyncConfig.fromObject(object.mysqlSyncConfig);
+                                message.mysqlSyncConfig = $root.google.cloud.sql.v1beta4.MySqlSyncConfig.fromObject(object.mysqlSyncConfig, long + 1);
                             }
                             switch (object.migrationType) {
                             default:
@@ -87666,7 +91224,7 @@
                                 for (var i = 0; i < object.selectedObjects.length; ++i) {
                                     if (typeof object.selectedObjects[i] !== "object")
                                         throw TypeError(".google.cloud.sql.v1beta4.SqlInstancesVerifyExternalSyncSettingsRequest.selectedObjects: object expected");
-                                    message.selectedObjects[i] = $root.google.cloud.sql.v1beta4.ExternalSyncSelectedObject.fromObject(object.selectedObjects[i]);
+                                    message.selectedObjects[i] = $root.google.cloud.sql.v1beta4.ExternalSyncSelectedObject.fromObject(object.selectedObjects[i], long + 1);
                                 }
                             }
                             return message;
@@ -87811,7 +91369,7 @@
                         function SqlInstancesStartExternalSyncRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -87960,9 +91518,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlInstancesStartExternalSyncRequest.decode = function decode(reader, length, error) {
+                        SqlInstancesStartExternalSyncRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.SqlInstancesStartExternalSyncRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -87986,7 +91548,7 @@
                                         break;
                                     }
                                 case 6: {
-                                        message.mysqlSyncConfig = $root.google.cloud.sql.v1beta4.MySqlSyncConfig.decode(reader, reader.uint32());
+                                        message.mysqlSyncConfig = $root.google.cloud.sql.v1beta4.MySqlSyncConfig.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 7: {
@@ -88002,7 +91564,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -88033,9 +91595,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlInstancesStartExternalSyncRequest.verify = function verify(message) {
+                        SqlInstancesStartExternalSyncRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             var properties = {};
                             if (message.instance != null && message.hasOwnProperty("instance"))
                                 if (!$util.isString(message.instance))
@@ -88058,7 +91624,7 @@
                             if (message.mysqlSyncConfig != null && message.hasOwnProperty("mysqlSyncConfig")) {
                                 properties.syncConfig = 1;
                                 {
-                                    var error = $root.google.cloud.sql.v1beta4.MySqlSyncConfig.verify(message.mysqlSyncConfig);
+                                    var error = $root.google.cloud.sql.v1beta4.MySqlSyncConfig.verify(message.mysqlSyncConfig, long + 1);
                                     if (error)
                                         return "mysqlSyncConfig." + error;
                                 }
@@ -88096,9 +91662,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.SqlInstancesStartExternalSyncRequest} SqlInstancesStartExternalSyncRequest
                          */
-                        SqlInstancesStartExternalSyncRequest.fromObject = function fromObject(object) {
+                        SqlInstancesStartExternalSyncRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.SqlInstancesStartExternalSyncRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.SqlInstancesStartExternalSyncRequest();
                             if (object.instance != null)
                                 message.instance = String(object.instance);
@@ -88129,7 +91699,7 @@
                             if (object.mysqlSyncConfig != null) {
                                 if (typeof object.mysqlSyncConfig !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.SqlInstancesStartExternalSyncRequest.mysqlSyncConfig: object expected");
-                                message.mysqlSyncConfig = $root.google.cloud.sql.v1beta4.MySqlSyncConfig.fromObject(object.mysqlSyncConfig);
+                                message.mysqlSyncConfig = $root.google.cloud.sql.v1beta4.MySqlSyncConfig.fromObject(object.mysqlSyncConfig, long + 1);
                             }
                             switch (object.syncParallelLevel) {
                             default:
@@ -88274,7 +91844,7 @@
                         function SqlInstancesResetReplicaSizeRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -88349,9 +91919,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlInstancesResetReplicaSizeRequest.decode = function decode(reader, length, error) {
+                        SqlInstancesResetReplicaSizeRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.SqlInstancesResetReplicaSizeRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -88367,7 +91941,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -88398,9 +91972,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlInstancesResetReplicaSizeRequest.verify = function verify(message) {
+                        SqlInstancesResetReplicaSizeRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.instance != null && message.hasOwnProperty("instance"))
                                 if (!$util.isString(message.instance))
                                     return "instance: string expected";
@@ -88418,9 +91996,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.SqlInstancesResetReplicaSizeRequest} SqlInstancesResetReplicaSizeRequest
                          */
-                        SqlInstancesResetReplicaSizeRequest.fromObject = function fromObject(object) {
+                        SqlInstancesResetReplicaSizeRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.SqlInstancesResetReplicaSizeRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.SqlInstancesResetReplicaSizeRequest();
                             if (object.instance != null)
                                 message.instance = String(object.instance);
@@ -88503,7 +92085,7 @@
                         function SqlOperationsGetRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -88578,9 +92160,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlOperationsGetRequest.decode = function decode(reader, length, error) {
+                        SqlOperationsGetRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.SqlOperationsGetRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -88596,7 +92182,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -88627,9 +92213,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlOperationsGetRequest.verify = function verify(message) {
+                        SqlOperationsGetRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.operation != null && message.hasOwnProperty("operation"))
                                 if (!$util.isString(message.operation))
                                     return "operation: string expected";
@@ -88647,9 +92237,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.SqlOperationsGetRequest} SqlOperationsGetRequest
                          */
-                        SqlOperationsGetRequest.fromObject = function fromObject(object) {
+                        SqlOperationsGetRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.SqlOperationsGetRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.SqlOperationsGetRequest();
                             if (object.operation != null)
                                 message.operation = String(object.operation);
@@ -88734,7 +92328,7 @@
                         function SqlOperationsListRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -88829,9 +92423,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlOperationsListRequest.decode = function decode(reader, length, error) {
+                        SqlOperationsListRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.SqlOperationsListRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -88855,7 +92453,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -88886,9 +92484,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlOperationsListRequest.verify = function verify(message) {
+                        SqlOperationsListRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.instance != null && message.hasOwnProperty("instance"))
                                 if (!$util.isString(message.instance))
                                     return "instance: string expected";
@@ -88912,9 +92514,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.SqlOperationsListRequest} SqlOperationsListRequest
                          */
-                        SqlOperationsListRequest.fromObject = function fromObject(object) {
+                        SqlOperationsListRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.SqlOperationsListRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.SqlOperationsListRequest();
                             if (object.instance != null)
                                 message.instance = String(object.instance);
@@ -89007,7 +92613,7 @@
                         function SqlOperationsCancelRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -89082,9 +92688,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlOperationsCancelRequest.decode = function decode(reader, length, error) {
+                        SqlOperationsCancelRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.SqlOperationsCancelRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -89100,7 +92710,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -89131,9 +92741,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlOperationsCancelRequest.verify = function verify(message) {
+                        SqlOperationsCancelRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.operation != null && message.hasOwnProperty("operation"))
                                 if (!$util.isString(message.operation))
                                     return "operation: string expected";
@@ -89151,9 +92765,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.SqlOperationsCancelRequest} SqlOperationsCancelRequest
                          */
-                        SqlOperationsCancelRequest.fromObject = function fromObject(object) {
+                        SqlOperationsCancelRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.SqlOperationsCancelRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.SqlOperationsCancelRequest();
                             if (object.operation != null)
                                 message.operation = String(object.operation);
@@ -89237,7 +92855,7 @@
                         function SqlInstancesCreateEphemeralCertRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -89322,9 +92940,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlInstancesCreateEphemeralCertRequest.decode = function decode(reader, length, error) {
+                        SqlInstancesCreateEphemeralCertRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.SqlInstancesCreateEphemeralCertRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -89340,11 +92962,11 @@
                                         break;
                                     }
                                 case 100: {
-                                        message.body = $root.google.cloud.sql.v1beta4.SslCertsCreateEphemeralRequest.decode(reader, reader.uint32());
+                                        message.body = $root.google.cloud.sql.v1beta4.SslCertsCreateEphemeralRequest.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -89375,9 +92997,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlInstancesCreateEphemeralCertRequest.verify = function verify(message) {
+                        SqlInstancesCreateEphemeralCertRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.instance != null && message.hasOwnProperty("instance"))
                                 if (!$util.isString(message.instance))
                                     return "instance: string expected";
@@ -89385,7 +93011,7 @@
                                 if (!$util.isString(message.project))
                                     return "project: string expected";
                             if (message.body != null && message.hasOwnProperty("body")) {
-                                var error = $root.google.cloud.sql.v1beta4.SslCertsCreateEphemeralRequest.verify(message.body);
+                                var error = $root.google.cloud.sql.v1beta4.SslCertsCreateEphemeralRequest.verify(message.body, long + 1);
                                 if (error)
                                     return "body." + error;
                             }
@@ -89400,9 +93026,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.SqlInstancesCreateEphemeralCertRequest} SqlInstancesCreateEphemeralCertRequest
                          */
-                        SqlInstancesCreateEphemeralCertRequest.fromObject = function fromObject(object) {
+                        SqlInstancesCreateEphemeralCertRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.SqlInstancesCreateEphemeralCertRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.SqlInstancesCreateEphemeralCertRequest();
                             if (object.instance != null)
                                 message.instance = String(object.instance);
@@ -89411,7 +93041,7 @@
                             if (object.body != null) {
                                 if (typeof object.body !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.SqlInstancesCreateEphemeralCertRequest.body: object expected");
-                                message.body = $root.google.cloud.sql.v1beta4.SslCertsCreateEphemeralRequest.fromObject(object.body);
+                                message.body = $root.google.cloud.sql.v1beta4.SslCertsCreateEphemeralRequest.fromObject(object.body, long + 1);
                             }
                             return message;
                         };
@@ -89494,7 +93124,7 @@
                         function SqlSslCertsDeleteRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -89579,9 +93209,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlSslCertsDeleteRequest.decode = function decode(reader, length, error) {
+                        SqlSslCertsDeleteRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.SqlSslCertsDeleteRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -89601,7 +93235,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -89632,9 +93266,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlSslCertsDeleteRequest.verify = function verify(message) {
+                        SqlSslCertsDeleteRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.instance != null && message.hasOwnProperty("instance"))
                                 if (!$util.isString(message.instance))
                                     return "instance: string expected";
@@ -89655,9 +93293,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.SqlSslCertsDeleteRequest} SqlSslCertsDeleteRequest
                          */
-                        SqlSslCertsDeleteRequest.fromObject = function fromObject(object) {
+                        SqlSslCertsDeleteRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.SqlSslCertsDeleteRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.SqlSslCertsDeleteRequest();
                             if (object.instance != null)
                                 message.instance = String(object.instance);
@@ -89746,7 +93388,7 @@
                         function SqlSslCertsGetRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -89831,9 +93473,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlSslCertsGetRequest.decode = function decode(reader, length, error) {
+                        SqlSslCertsGetRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.SqlSslCertsGetRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -89853,7 +93499,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -89884,9 +93530,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlSslCertsGetRequest.verify = function verify(message) {
+                        SqlSslCertsGetRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.instance != null && message.hasOwnProperty("instance"))
                                 if (!$util.isString(message.instance))
                                     return "instance: string expected";
@@ -89907,9 +93557,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.SqlSslCertsGetRequest} SqlSslCertsGetRequest
                          */
-                        SqlSslCertsGetRequest.fromObject = function fromObject(object) {
+                        SqlSslCertsGetRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.SqlSslCertsGetRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.SqlSslCertsGetRequest();
                             if (object.instance != null)
                                 message.instance = String(object.instance);
@@ -89998,7 +93652,7 @@
                         function SqlSslCertsInsertRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -90083,9 +93737,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlSslCertsInsertRequest.decode = function decode(reader, length, error) {
+                        SqlSslCertsInsertRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.SqlSslCertsInsertRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -90101,11 +93759,11 @@
                                         break;
                                     }
                                 case 100: {
-                                        message.body = $root.google.cloud.sql.v1beta4.SslCertsInsertRequest.decode(reader, reader.uint32());
+                                        message.body = $root.google.cloud.sql.v1beta4.SslCertsInsertRequest.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -90136,9 +93794,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlSslCertsInsertRequest.verify = function verify(message) {
+                        SqlSslCertsInsertRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.instance != null && message.hasOwnProperty("instance"))
                                 if (!$util.isString(message.instance))
                                     return "instance: string expected";
@@ -90146,7 +93808,7 @@
                                 if (!$util.isString(message.project))
                                     return "project: string expected";
                             if (message.body != null && message.hasOwnProperty("body")) {
-                                var error = $root.google.cloud.sql.v1beta4.SslCertsInsertRequest.verify(message.body);
+                                var error = $root.google.cloud.sql.v1beta4.SslCertsInsertRequest.verify(message.body, long + 1);
                                 if (error)
                                     return "body." + error;
                             }
@@ -90161,9 +93823,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.SqlSslCertsInsertRequest} SqlSslCertsInsertRequest
                          */
-                        SqlSslCertsInsertRequest.fromObject = function fromObject(object) {
+                        SqlSslCertsInsertRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.SqlSslCertsInsertRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.SqlSslCertsInsertRequest();
                             if (object.instance != null)
                                 message.instance = String(object.instance);
@@ -90172,7 +93838,7 @@
                             if (object.body != null) {
                                 if (typeof object.body !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.SqlSslCertsInsertRequest.body: object expected");
-                                message.body = $root.google.cloud.sql.v1beta4.SslCertsInsertRequest.fromObject(object.body);
+                                message.body = $root.google.cloud.sql.v1beta4.SslCertsInsertRequest.fromObject(object.body, long + 1);
                             }
                             return message;
                         };
@@ -90254,7 +93920,7 @@
                         function SqlSslCertsListRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -90329,9 +93995,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlSslCertsListRequest.decode = function decode(reader, length, error) {
+                        SqlSslCertsListRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.SqlSslCertsListRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -90347,7 +94017,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -90378,9 +94048,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlSslCertsListRequest.verify = function verify(message) {
+                        SqlSslCertsListRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.instance != null && message.hasOwnProperty("instance"))
                                 if (!$util.isString(message.instance))
                                     return "instance: string expected";
@@ -90398,9 +94072,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.SqlSslCertsListRequest} SqlSslCertsListRequest
                          */
-                        SqlSslCertsListRequest.fromObject = function fromObject(object) {
+                        SqlSslCertsListRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.SqlSslCertsListRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.SqlSslCertsListRequest();
                             if (object.instance != null)
                                 message.instance = String(object.instance);
@@ -90483,7 +94161,7 @@
                         function SqlInstancesGetDiskShrinkConfigRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -90558,9 +94236,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlInstancesGetDiskShrinkConfigRequest.decode = function decode(reader, length, error) {
+                        SqlInstancesGetDiskShrinkConfigRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.SqlInstancesGetDiskShrinkConfigRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -90576,7 +94258,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -90607,9 +94289,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlInstancesGetDiskShrinkConfigRequest.verify = function verify(message) {
+                        SqlInstancesGetDiskShrinkConfigRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.instance != null && message.hasOwnProperty("instance"))
                                 if (!$util.isString(message.instance))
                                     return "instance: string expected";
@@ -90627,9 +94313,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.SqlInstancesGetDiskShrinkConfigRequest} SqlInstancesGetDiskShrinkConfigRequest
                          */
-                        SqlInstancesGetDiskShrinkConfigRequest.fromObject = function fromObject(object) {
+                        SqlInstancesGetDiskShrinkConfigRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.SqlInstancesGetDiskShrinkConfigRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.SqlInstancesGetDiskShrinkConfigRequest();
                             if (object.instance != null)
                                 message.instance = String(object.instance);
@@ -90713,7 +94403,7 @@
                         function SqlInstancesGetLatestRecoveryTimeRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -90807,9 +94497,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlInstancesGetLatestRecoveryTimeRequest.decode = function decode(reader, length, error) {
+                        SqlInstancesGetLatestRecoveryTimeRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.SqlInstancesGetLatestRecoveryTimeRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -90825,11 +94519,11 @@
                                         break;
                                     }
                                 case 3: {
-                                        message.sourceInstanceDeletionTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+                                        message.sourceInstanceDeletionTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -90860,9 +94554,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlInstancesGetLatestRecoveryTimeRequest.verify = function verify(message) {
+                        SqlInstancesGetLatestRecoveryTimeRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             var properties = {};
                             if (message.instance != null && message.hasOwnProperty("instance"))
                                 if (!$util.isString(message.instance))
@@ -90873,7 +94571,7 @@
                             if (message.sourceInstanceDeletionTime != null && message.hasOwnProperty("sourceInstanceDeletionTime")) {
                                 properties._sourceInstanceDeletionTime = 1;
                                 {
-                                    var error = $root.google.protobuf.Timestamp.verify(message.sourceInstanceDeletionTime);
+                                    var error = $root.google.protobuf.Timestamp.verify(message.sourceInstanceDeletionTime, long + 1);
                                     if (error)
                                         return "sourceInstanceDeletionTime." + error;
                                 }
@@ -90889,9 +94587,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.SqlInstancesGetLatestRecoveryTimeRequest} SqlInstancesGetLatestRecoveryTimeRequest
                          */
-                        SqlInstancesGetLatestRecoveryTimeRequest.fromObject = function fromObject(object) {
+                        SqlInstancesGetLatestRecoveryTimeRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.SqlInstancesGetLatestRecoveryTimeRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.SqlInstancesGetLatestRecoveryTimeRequest();
                             if (object.instance != null)
                                 message.instance = String(object.instance);
@@ -90900,7 +94602,7 @@
                             if (object.sourceInstanceDeletionTime != null) {
                                 if (typeof object.sourceInstanceDeletionTime !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.SqlInstancesGetLatestRecoveryTimeRequest.sourceInstanceDeletionTime: object expected");
-                                message.sourceInstanceDeletionTime = $root.google.protobuf.Timestamp.fromObject(object.sourceInstanceDeletionTime);
+                                message.sourceInstanceDeletionTime = $root.google.protobuf.Timestamp.fromObject(object.sourceInstanceDeletionTime, long + 1);
                             }
                             return message;
                         };
@@ -90985,7 +94687,7 @@
                         function SqlInstancesGetLatestRecoveryTimeResponse(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -91070,9 +94772,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlInstancesGetLatestRecoveryTimeResponse.decode = function decode(reader, length, error) {
+                        SqlInstancesGetLatestRecoveryTimeResponse.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.SqlInstancesGetLatestRecoveryTimeResponse();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -91084,15 +94790,15 @@
                                         break;
                                     }
                                 case 2: {
-                                        message.latestRecoveryTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+                                        message.latestRecoveryTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 3: {
-                                        message.earliestRecoveryTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+                                        message.earliestRecoveryTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -91123,19 +94829,23 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlInstancesGetLatestRecoveryTimeResponse.verify = function verify(message) {
+                        SqlInstancesGetLatestRecoveryTimeResponse.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.kind != null && message.hasOwnProperty("kind"))
                                 if (!$util.isString(message.kind))
                                     return "kind: string expected";
                             if (message.latestRecoveryTime != null && message.hasOwnProperty("latestRecoveryTime")) {
-                                var error = $root.google.protobuf.Timestamp.verify(message.latestRecoveryTime);
+                                var error = $root.google.protobuf.Timestamp.verify(message.latestRecoveryTime, long + 1);
                                 if (error)
                                     return "latestRecoveryTime." + error;
                             }
                             if (message.earliestRecoveryTime != null && message.hasOwnProperty("earliestRecoveryTime")) {
-                                var error = $root.google.protobuf.Timestamp.verify(message.earliestRecoveryTime);
+                                var error = $root.google.protobuf.Timestamp.verify(message.earliestRecoveryTime, long + 1);
                                 if (error)
                                     return "earliestRecoveryTime." + error;
                             }
@@ -91150,21 +94860,25 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.SqlInstancesGetLatestRecoveryTimeResponse} SqlInstancesGetLatestRecoveryTimeResponse
                          */
-                        SqlInstancesGetLatestRecoveryTimeResponse.fromObject = function fromObject(object) {
+                        SqlInstancesGetLatestRecoveryTimeResponse.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.SqlInstancesGetLatestRecoveryTimeResponse)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.SqlInstancesGetLatestRecoveryTimeResponse();
                             if (object.kind != null)
                                 message.kind = String(object.kind);
                             if (object.latestRecoveryTime != null) {
                                 if (typeof object.latestRecoveryTime !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.SqlInstancesGetLatestRecoveryTimeResponse.latestRecoveryTime: object expected");
-                                message.latestRecoveryTime = $root.google.protobuf.Timestamp.fromObject(object.latestRecoveryTime);
+                                message.latestRecoveryTime = $root.google.protobuf.Timestamp.fromObject(object.latestRecoveryTime, long + 1);
                             }
                             if (object.earliestRecoveryTime != null) {
                                 if (typeof object.earliestRecoveryTime !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.SqlInstancesGetLatestRecoveryTimeResponse.earliestRecoveryTime: object expected");
-                                message.earliestRecoveryTime = $root.google.protobuf.Timestamp.fromObject(object.earliestRecoveryTime);
+                                message.earliestRecoveryTime = $root.google.protobuf.Timestamp.fromObject(object.earliestRecoveryTime, long + 1);
                             }
                             return message;
                         };
@@ -91247,7 +94961,7 @@
                         function SqlInstancesExecuteSqlRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -91332,9 +95046,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlInstancesExecuteSqlRequest.decode = function decode(reader, length, error) {
+                        SqlInstancesExecuteSqlRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.SqlInstancesExecuteSqlRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -91350,11 +95068,11 @@
                                         break;
                                     }
                                 case 100: {
-                                        message.body = $root.google.cloud.sql.v1beta4.ExecuteSqlPayload.decode(reader, reader.uint32());
+                                        message.body = $root.google.cloud.sql.v1beta4.ExecuteSqlPayload.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -91385,9 +95103,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlInstancesExecuteSqlRequest.verify = function verify(message) {
+                        SqlInstancesExecuteSqlRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.instance != null && message.hasOwnProperty("instance"))
                                 if (!$util.isString(message.instance))
                                     return "instance: string expected";
@@ -91395,7 +95117,7 @@
                                 if (!$util.isString(message.project))
                                     return "project: string expected";
                             if (message.body != null && message.hasOwnProperty("body")) {
-                                var error = $root.google.cloud.sql.v1beta4.ExecuteSqlPayload.verify(message.body);
+                                var error = $root.google.cloud.sql.v1beta4.ExecuteSqlPayload.verify(message.body, long + 1);
                                 if (error)
                                     return "body." + error;
                             }
@@ -91410,9 +95132,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.SqlInstancesExecuteSqlRequest} SqlInstancesExecuteSqlRequest
                          */
-                        SqlInstancesExecuteSqlRequest.fromObject = function fromObject(object) {
+                        SqlInstancesExecuteSqlRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.SqlInstancesExecuteSqlRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.SqlInstancesExecuteSqlRequest();
                             if (object.instance != null)
                                 message.instance = String(object.instance);
@@ -91421,7 +95147,7 @@
                             if (object.body != null) {
                                 if (typeof object.body !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.SqlInstancesExecuteSqlRequest.body: object expected");
-                                message.body = $root.google.cloud.sql.v1beta4.ExecuteSqlPayload.fromObject(object.body);
+                                message.body = $root.google.cloud.sql.v1beta4.ExecuteSqlPayload.fromObject(object.body, long + 1);
                             }
                             return message;
                         };
@@ -91503,7 +95229,7 @@
                         function SqlInstancesReleaseSsrsLeaseRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -91578,9 +95304,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlInstancesReleaseSsrsLeaseRequest.decode = function decode(reader, length, error) {
+                        SqlInstancesReleaseSsrsLeaseRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.SqlInstancesReleaseSsrsLeaseRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -91596,7 +95326,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -91627,9 +95357,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlInstancesReleaseSsrsLeaseRequest.verify = function verify(message) {
+                        SqlInstancesReleaseSsrsLeaseRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.instance != null && message.hasOwnProperty("instance"))
                                 if (!$util.isString(message.instance))
                                     return "instance: string expected";
@@ -91647,9 +95381,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.SqlInstancesReleaseSsrsLeaseRequest} SqlInstancesReleaseSsrsLeaseRequest
                          */
-                        SqlInstancesReleaseSsrsLeaseRequest.fromObject = function fromObject(object) {
+                        SqlInstancesReleaseSsrsLeaseRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.SqlInstancesReleaseSsrsLeaseRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.SqlInstancesReleaseSsrsLeaseRequest();
                             if (object.instance != null)
                                 message.instance = String(object.instance);
@@ -91731,7 +95469,7 @@
                         function SqlInstancesReleaseSsrsLeaseResponse(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -91796,9 +95534,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlInstancesReleaseSsrsLeaseResponse.decode = function decode(reader, length, error) {
+                        SqlInstancesReleaseSsrsLeaseResponse.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.SqlInstancesReleaseSsrsLeaseResponse();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -91810,7 +95552,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -91841,9 +95583,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlInstancesReleaseSsrsLeaseResponse.verify = function verify(message) {
+                        SqlInstancesReleaseSsrsLeaseResponse.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.operationId != null && message.hasOwnProperty("operationId"))
                                 if (!$util.isString(message.operationId))
                                     return "operationId: string expected";
@@ -91858,9 +95604,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.SqlInstancesReleaseSsrsLeaseResponse} SqlInstancesReleaseSsrsLeaseResponse
                          */
-                        SqlInstancesReleaseSsrsLeaseResponse.fromObject = function fromObject(object) {
+                        SqlInstancesReleaseSsrsLeaseResponse.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.SqlInstancesReleaseSsrsLeaseResponse)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.SqlInstancesReleaseSsrsLeaseResponse();
                             if (object.operationId != null)
                                 message.operationId = String(object.operationId);
@@ -91942,7 +95692,7 @@
                         function ExecuteSqlPayload(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -92081,9 +95831,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        ExecuteSqlPayload.decode = function decode(reader, length, error) {
+                        ExecuteSqlPayload.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.ExecuteSqlPayload();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -92119,7 +95873,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -92150,9 +95904,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        ExecuteSqlPayload.verify = function verify(message) {
+                        ExecuteSqlPayload.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             var properties = {};
                             if (message.user != null && message.hasOwnProperty("user"))
                                 if (!$util.isString(message.user))
@@ -92194,9 +95952,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.ExecuteSqlPayload} ExecuteSqlPayload
                          */
-                        ExecuteSqlPayload.fromObject = function fromObject(object) {
+                        ExecuteSqlPayload.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.ExecuteSqlPayload)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.ExecuteSqlPayload();
                             if (object.user != null)
                                 message.user = String(object.user);
@@ -92358,7 +96120,7 @@
                             this.results = [];
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -92455,9 +96217,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlInstancesExecuteSqlResponse.decode = function decode(reader, length, error) {
+                        SqlInstancesExecuteSqlResponse.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.SqlInstancesExecuteSqlResponse();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -92467,25 +96233,25 @@
                                 case 9: {
                                         if (!(message.messages && message.messages.length))
                                             message.messages = [];
-                                        message.messages.push($root.google.cloud.sql.v1beta4.SqlInstancesExecuteSqlResponse.Message.decode(reader, reader.uint32()));
+                                        message.messages.push($root.google.cloud.sql.v1beta4.SqlInstancesExecuteSqlResponse.Message.decode(reader, reader.uint32(), undefined, long + 1));
                                         break;
                                     }
                                 case 6: {
-                                        message.metadata = $root.google.cloud.sql.v1beta4.Metadata.decode(reader, reader.uint32());
+                                        message.metadata = $root.google.cloud.sql.v1beta4.Metadata.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 7: {
                                         if (!(message.results && message.results.length))
                                             message.results = [];
-                                        message.results.push($root.google.cloud.sql.v1beta4.QueryResult.decode(reader, reader.uint32()));
+                                        message.results.push($root.google.cloud.sql.v1beta4.QueryResult.decode(reader, reader.uint32(), undefined, long + 1));
                                         break;
                                     }
                                 case 8: {
-                                        message.status = $root.google.rpc.Status.decode(reader, reader.uint32());
+                                        message.status = $root.google.rpc.Status.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -92516,20 +96282,24 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlInstancesExecuteSqlResponse.verify = function verify(message) {
+                        SqlInstancesExecuteSqlResponse.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.messages != null && message.hasOwnProperty("messages")) {
                                 if (!Array.isArray(message.messages))
                                     return "messages: array expected";
                                 for (var i = 0; i < message.messages.length; ++i) {
-                                    var error = $root.google.cloud.sql.v1beta4.SqlInstancesExecuteSqlResponse.Message.verify(message.messages[i]);
+                                    var error = $root.google.cloud.sql.v1beta4.SqlInstancesExecuteSqlResponse.Message.verify(message.messages[i], long + 1);
                                     if (error)
                                         return "messages." + error;
                                 }
                             }
                             if (message.metadata != null && message.hasOwnProperty("metadata")) {
-                                var error = $root.google.cloud.sql.v1beta4.Metadata.verify(message.metadata);
+                                var error = $root.google.cloud.sql.v1beta4.Metadata.verify(message.metadata, long + 1);
                                 if (error)
                                     return "metadata." + error;
                             }
@@ -92537,13 +96307,13 @@
                                 if (!Array.isArray(message.results))
                                     return "results: array expected";
                                 for (var i = 0; i < message.results.length; ++i) {
-                                    var error = $root.google.cloud.sql.v1beta4.QueryResult.verify(message.results[i]);
+                                    var error = $root.google.cloud.sql.v1beta4.QueryResult.verify(message.results[i], long + 1);
                                     if (error)
                                         return "results." + error;
                                 }
                             }
                             if (message.status != null && message.hasOwnProperty("status")) {
-                                var error = $root.google.rpc.Status.verify(message.status);
+                                var error = $root.google.rpc.Status.verify(message.status, long + 1);
                                 if (error)
                                     return "status." + error;
                             }
@@ -92558,9 +96328,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.SqlInstancesExecuteSqlResponse} SqlInstancesExecuteSqlResponse
                          */
-                        SqlInstancesExecuteSqlResponse.fromObject = function fromObject(object) {
+                        SqlInstancesExecuteSqlResponse.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.SqlInstancesExecuteSqlResponse)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.SqlInstancesExecuteSqlResponse();
                             if (object.messages) {
                                 if (!Array.isArray(object.messages))
@@ -92569,13 +96343,13 @@
                                 for (var i = 0; i < object.messages.length; ++i) {
                                     if (typeof object.messages[i] !== "object")
                                         throw TypeError(".google.cloud.sql.v1beta4.SqlInstancesExecuteSqlResponse.messages: object expected");
-                                    message.messages[i] = $root.google.cloud.sql.v1beta4.SqlInstancesExecuteSqlResponse.Message.fromObject(object.messages[i]);
+                                    message.messages[i] = $root.google.cloud.sql.v1beta4.SqlInstancesExecuteSqlResponse.Message.fromObject(object.messages[i], long + 1);
                                 }
                             }
                             if (object.metadata != null) {
                                 if (typeof object.metadata !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.SqlInstancesExecuteSqlResponse.metadata: object expected");
-                                message.metadata = $root.google.cloud.sql.v1beta4.Metadata.fromObject(object.metadata);
+                                message.metadata = $root.google.cloud.sql.v1beta4.Metadata.fromObject(object.metadata, long + 1);
                             }
                             if (object.results) {
                                 if (!Array.isArray(object.results))
@@ -92584,13 +96358,13 @@
                                 for (var i = 0; i < object.results.length; ++i) {
                                     if (typeof object.results[i] !== "object")
                                         throw TypeError(".google.cloud.sql.v1beta4.SqlInstancesExecuteSqlResponse.results: object expected");
-                                    message.results[i] = $root.google.cloud.sql.v1beta4.QueryResult.fromObject(object.results[i]);
+                                    message.results[i] = $root.google.cloud.sql.v1beta4.QueryResult.fromObject(object.results[i], long + 1);
                                 }
                             }
                             if (object.status != null) {
                                 if (typeof object.status !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.SqlInstancesExecuteSqlResponse.status: object expected");
-                                message.status = $root.google.rpc.Status.fromObject(object.status);
+                                message.status = $root.google.rpc.Status.fromObject(object.status, long + 1);
                             }
                             return message;
                         };
@@ -92680,7 +96454,7 @@
                             function Message(properties) {
                                 if (properties)
                                     for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                        if (properties[keys[i]] != null)
+                                        if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                             this[keys[i]] = properties[keys[i]];
                             }
     
@@ -92770,9 +96544,13 @@
                              * @throws {Error} If the payload is not a reader or valid buffer
                              * @throws {$protobuf.util.ProtocolError} If required fields are missing
                              */
-                            Message.decode = function decode(reader, length, error) {
+                            Message.decode = function decode(reader, length, error, long) {
                                 if (!(reader instanceof $Reader))
                                     reader = $Reader.create(reader);
+                                if (long === undefined)
+                                    long = 0;
+                                if (long > $Reader.recursionLimit)
+                                    throw Error("maximum nesting depth exceeded");
                                 var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.SqlInstancesExecuteSqlResponse.Message();
                                 while (reader.pos < end) {
                                     var tag = reader.uint32();
@@ -92788,7 +96566,7 @@
                                             break;
                                         }
                                     default:
-                                        reader.skipType(tag & 7);
+                                        reader.skipType(tag & 7, long);
                                         break;
                                     }
                                 }
@@ -92819,9 +96597,13 @@
                              * @param {Object.<string,*>} message Plain object to verify
                              * @returns {string|null} `null` if valid, otherwise the reason why it is not
                              */
-                            Message.verify = function verify(message) {
+                            Message.verify = function verify(message, long) {
                                 if (typeof message !== "object" || message === null)
                                     return "object expected";
+                                if (long === undefined)
+                                    long = 0;
+                                if (long > $util.recursionLimit)
+                                    return "maximum nesting depth exceeded";
                                 var properties = {};
                                 if (message.message != null && message.hasOwnProperty("message")) {
                                     properties._message = 1;
@@ -92844,9 +96626,13 @@
                              * @param {Object.<string,*>} object Plain object
                              * @returns {google.cloud.sql.v1beta4.SqlInstancesExecuteSqlResponse.Message} Message
                              */
-                            Message.fromObject = function fromObject(object) {
+                            Message.fromObject = function fromObject(object, long) {
                                 if (object instanceof $root.google.cloud.sql.v1beta4.SqlInstancesExecuteSqlResponse.Message)
                                     return object;
+                                if (long === undefined)
+                                    long = 0;
+                                if (long > $util.recursionLimit)
+                                    throw Error("maximum nesting depth exceeded");
                                 var message = new $root.google.cloud.sql.v1beta4.SqlInstancesExecuteSqlResponse.Message();
                                 if (object.message != null)
                                     message.message = String(object.message);
@@ -92939,7 +96725,7 @@
                             this.rows = [];
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -93046,9 +96832,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        QueryResult.decode = function decode(reader, length, error) {
+                        QueryResult.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.QueryResult();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -93058,13 +96848,13 @@
                                 case 1: {
                                         if (!(message.columns && message.columns.length))
                                             message.columns = [];
-                                        message.columns.push($root.google.cloud.sql.v1beta4.Column.decode(reader, reader.uint32()));
+                                        message.columns.push($root.google.cloud.sql.v1beta4.Column.decode(reader, reader.uint32(), undefined, long + 1));
                                         break;
                                     }
                                 case 2: {
                                         if (!(message.rows && message.rows.length))
                                             message.rows = [];
-                                        message.rows.push($root.google.cloud.sql.v1beta4.Row.decode(reader, reader.uint32()));
+                                        message.rows.push($root.google.cloud.sql.v1beta4.Row.decode(reader, reader.uint32(), undefined, long + 1));
                                         break;
                                     }
                                 case 3: {
@@ -93076,11 +96866,11 @@
                                         break;
                                     }
                                 case 8: {
-                                        message.status = $root.google.rpc.Status.decode(reader, reader.uint32());
+                                        message.status = $root.google.rpc.Status.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -93111,14 +96901,18 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        QueryResult.verify = function verify(message) {
+                        QueryResult.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.columns != null && message.hasOwnProperty("columns")) {
                                 if (!Array.isArray(message.columns))
                                     return "columns: array expected";
                                 for (var i = 0; i < message.columns.length; ++i) {
-                                    var error = $root.google.cloud.sql.v1beta4.Column.verify(message.columns[i]);
+                                    var error = $root.google.cloud.sql.v1beta4.Column.verify(message.columns[i], long + 1);
                                     if (error)
                                         return "columns." + error;
                                 }
@@ -93127,7 +96921,7 @@
                                 if (!Array.isArray(message.rows))
                                     return "rows: array expected";
                                 for (var i = 0; i < message.rows.length; ++i) {
-                                    var error = $root.google.cloud.sql.v1beta4.Row.verify(message.rows[i]);
+                                    var error = $root.google.cloud.sql.v1beta4.Row.verify(message.rows[i], long + 1);
                                     if (error)
                                         return "rows." + error;
                                 }
@@ -93139,7 +96933,7 @@
                                 if (typeof message.partialResult !== "boolean")
                                     return "partialResult: boolean expected";
                             if (message.status != null && message.hasOwnProperty("status")) {
-                                var error = $root.google.rpc.Status.verify(message.status);
+                                var error = $root.google.rpc.Status.verify(message.status, long + 1);
                                 if (error)
                                     return "status." + error;
                             }
@@ -93154,9 +96948,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.QueryResult} QueryResult
                          */
-                        QueryResult.fromObject = function fromObject(object) {
+                        QueryResult.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.QueryResult)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.QueryResult();
                             if (object.columns) {
                                 if (!Array.isArray(object.columns))
@@ -93165,7 +96963,7 @@
                                 for (var i = 0; i < object.columns.length; ++i) {
                                     if (typeof object.columns[i] !== "object")
                                         throw TypeError(".google.cloud.sql.v1beta4.QueryResult.columns: object expected");
-                                    message.columns[i] = $root.google.cloud.sql.v1beta4.Column.fromObject(object.columns[i]);
+                                    message.columns[i] = $root.google.cloud.sql.v1beta4.Column.fromObject(object.columns[i], long + 1);
                                 }
                             }
                             if (object.rows) {
@@ -93175,7 +96973,7 @@
                                 for (var i = 0; i < object.rows.length; ++i) {
                                     if (typeof object.rows[i] !== "object")
                                         throw TypeError(".google.cloud.sql.v1beta4.QueryResult.rows: object expected");
-                                    message.rows[i] = $root.google.cloud.sql.v1beta4.Row.fromObject(object.rows[i]);
+                                    message.rows[i] = $root.google.cloud.sql.v1beta4.Row.fromObject(object.rows[i], long + 1);
                                 }
                             }
                             if (object.message != null)
@@ -93185,7 +96983,7 @@
                             if (object.status != null) {
                                 if (typeof object.status !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.QueryResult.status: object expected");
-                                message.status = $root.google.rpc.Status.fromObject(object.status);
+                                message.status = $root.google.rpc.Status.fromObject(object.status, long + 1);
                             }
                             return message;
                         };
@@ -93281,7 +97079,7 @@
                         function Column(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -93356,9 +97154,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        Column.decode = function decode(reader, length, error) {
+                        Column.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.Column();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -93374,7 +97176,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -93405,9 +97207,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        Column.verify = function verify(message) {
+                        Column.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.name != null && message.hasOwnProperty("name"))
                                 if (!$util.isString(message.name))
                                     return "name: string expected";
@@ -93425,9 +97231,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.Column} Column
                          */
-                        Column.fromObject = function fromObject(object) {
+                        Column.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.Column)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.Column();
                             if (object.name != null)
                                 message.name = String(object.name);
@@ -93510,7 +97320,7 @@
                             this.values = [];
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -93576,9 +97386,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        Row.decode = function decode(reader, length, error) {
+                        Row.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.Row();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -93588,11 +97402,11 @@
                                 case 1: {
                                         if (!(message.values && message.values.length))
                                             message.values = [];
-                                        message.values.push($root.google.cloud.sql.v1beta4.Value.decode(reader, reader.uint32()));
+                                        message.values.push($root.google.cloud.sql.v1beta4.Value.decode(reader, reader.uint32(), undefined, long + 1));
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -93623,14 +97437,18 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        Row.verify = function verify(message) {
+                        Row.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.values != null && message.hasOwnProperty("values")) {
                                 if (!Array.isArray(message.values))
                                     return "values: array expected";
                                 for (var i = 0; i < message.values.length; ++i) {
-                                    var error = $root.google.cloud.sql.v1beta4.Value.verify(message.values[i]);
+                                    var error = $root.google.cloud.sql.v1beta4.Value.verify(message.values[i], long + 1);
                                     if (error)
                                         return "values." + error;
                                 }
@@ -93646,9 +97464,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.Row} Row
                          */
-                        Row.fromObject = function fromObject(object) {
+                        Row.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.Row)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.Row();
                             if (object.values) {
                                 if (!Array.isArray(object.values))
@@ -93657,7 +97479,7 @@
                                 for (var i = 0; i < object.values.length; ++i) {
                                     if (typeof object.values[i] !== "object")
                                         throw TypeError(".google.cloud.sql.v1beta4.Row.values: object expected");
-                                    message.values[i] = $root.google.cloud.sql.v1beta4.Value.fromObject(object.values[i]);
+                                    message.values[i] = $root.google.cloud.sql.v1beta4.Value.fromObject(object.values[i], long + 1);
                                 }
                             }
                             return message;
@@ -93736,7 +97558,7 @@
                         function Value(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -93811,9 +97633,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        Value.decode = function decode(reader, length, error) {
+                        Value.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.Value();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -93829,7 +97655,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -93860,9 +97686,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        Value.verify = function verify(message) {
+                        Value.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.value != null && message.hasOwnProperty("value"))
                                 if (!$util.isString(message.value))
                                     return "value: string expected";
@@ -93880,9 +97710,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.Value} Value
                          */
-                        Value.fromObject = function fromObject(object) {
+                        Value.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.Value)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.Value();
                             if (object.value != null)
                                 message.value = String(object.value);
@@ -93964,7 +97798,7 @@
                         function Metadata(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -94029,9 +97863,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        Metadata.decode = function decode(reader, length, error) {
+                        Metadata.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.Metadata();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -94039,11 +97877,11 @@
                                     break;
                                 switch (tag >>> 3) {
                                 case 1: {
-                                        message.sqlStatementExecutionTime = $root.google.protobuf.Duration.decode(reader, reader.uint32());
+                                        message.sqlStatementExecutionTime = $root.google.protobuf.Duration.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -94074,11 +97912,15 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        Metadata.verify = function verify(message) {
+                        Metadata.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.sqlStatementExecutionTime != null && message.hasOwnProperty("sqlStatementExecutionTime")) {
-                                var error = $root.google.protobuf.Duration.verify(message.sqlStatementExecutionTime);
+                                var error = $root.google.protobuf.Duration.verify(message.sqlStatementExecutionTime, long + 1);
                                 if (error)
                                     return "sqlStatementExecutionTime." + error;
                             }
@@ -94093,14 +97935,18 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.Metadata} Metadata
                          */
-                        Metadata.fromObject = function fromObject(object) {
+                        Metadata.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.Metadata)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.Metadata();
                             if (object.sqlStatementExecutionTime != null) {
                                 if (typeof object.sqlStatementExecutionTime !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.Metadata.sqlStatementExecutionTime: object expected");
-                                message.sqlStatementExecutionTime = $root.google.protobuf.Duration.fromObject(object.sqlStatementExecutionTime);
+                                message.sqlStatementExecutionTime = $root.google.protobuf.Duration.fromObject(object.sqlStatementExecutionTime, long + 1);
                             }
                             return message;
                         };
@@ -94176,7 +98022,7 @@
                         function SqlInstancesAcquireSsrsLeaseRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -94261,9 +98107,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlInstancesAcquireSsrsLeaseRequest.decode = function decode(reader, length, error) {
+                        SqlInstancesAcquireSsrsLeaseRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.SqlInstancesAcquireSsrsLeaseRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -94279,11 +98129,11 @@
                                         break;
                                     }
                                 case 100: {
-                                        message.body = $root.google.cloud.sql.v1beta4.InstancesAcquireSsrsLeaseRequest.decode(reader, reader.uint32());
+                                        message.body = $root.google.cloud.sql.v1beta4.InstancesAcquireSsrsLeaseRequest.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -94314,9 +98164,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlInstancesAcquireSsrsLeaseRequest.verify = function verify(message) {
+                        SqlInstancesAcquireSsrsLeaseRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.instance != null && message.hasOwnProperty("instance"))
                                 if (!$util.isString(message.instance))
                                     return "instance: string expected";
@@ -94324,7 +98178,7 @@
                                 if (!$util.isString(message.project))
                                     return "project: string expected";
                             if (message.body != null && message.hasOwnProperty("body")) {
-                                var error = $root.google.cloud.sql.v1beta4.InstancesAcquireSsrsLeaseRequest.verify(message.body);
+                                var error = $root.google.cloud.sql.v1beta4.InstancesAcquireSsrsLeaseRequest.verify(message.body, long + 1);
                                 if (error)
                                     return "body." + error;
                             }
@@ -94339,9 +98193,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.SqlInstancesAcquireSsrsLeaseRequest} SqlInstancesAcquireSsrsLeaseRequest
                          */
-                        SqlInstancesAcquireSsrsLeaseRequest.fromObject = function fromObject(object) {
+                        SqlInstancesAcquireSsrsLeaseRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.SqlInstancesAcquireSsrsLeaseRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.SqlInstancesAcquireSsrsLeaseRequest();
                             if (object.instance != null)
                                 message.instance = String(object.instance);
@@ -94350,7 +98208,7 @@
                             if (object.body != null) {
                                 if (typeof object.body !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.SqlInstancesAcquireSsrsLeaseRequest.body: object expected");
-                                message.body = $root.google.cloud.sql.v1beta4.InstancesAcquireSsrsLeaseRequest.fromObject(object.body);
+                                message.body = $root.google.cloud.sql.v1beta4.InstancesAcquireSsrsLeaseRequest.fromObject(object.body, long + 1);
                             }
                             return message;
                         };
@@ -94433,7 +98291,7 @@
                         function SqlInstancesPreCheckMajorVersionUpgradeRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -94518,9 +98376,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlInstancesPreCheckMajorVersionUpgradeRequest.decode = function decode(reader, length, error) {
+                        SqlInstancesPreCheckMajorVersionUpgradeRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.SqlInstancesPreCheckMajorVersionUpgradeRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -94536,11 +98398,11 @@
                                         break;
                                     }
                                 case 3: {
-                                        message.body = $root.google.cloud.sql.v1beta4.InstancesPreCheckMajorVersionUpgradeRequest.decode(reader, reader.uint32());
+                                        message.body = $root.google.cloud.sql.v1beta4.InstancesPreCheckMajorVersionUpgradeRequest.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -94571,9 +98433,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlInstancesPreCheckMajorVersionUpgradeRequest.verify = function verify(message) {
+                        SqlInstancesPreCheckMajorVersionUpgradeRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.instance != null && message.hasOwnProperty("instance"))
                                 if (!$util.isString(message.instance))
                                     return "instance: string expected";
@@ -94581,7 +98447,7 @@
                                 if (!$util.isString(message.project))
                                     return "project: string expected";
                             if (message.body != null && message.hasOwnProperty("body")) {
-                                var error = $root.google.cloud.sql.v1beta4.InstancesPreCheckMajorVersionUpgradeRequest.verify(message.body);
+                                var error = $root.google.cloud.sql.v1beta4.InstancesPreCheckMajorVersionUpgradeRequest.verify(message.body, long + 1);
                                 if (error)
                                     return "body." + error;
                             }
@@ -94596,9 +98462,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.SqlInstancesPreCheckMajorVersionUpgradeRequest} SqlInstancesPreCheckMajorVersionUpgradeRequest
                          */
-                        SqlInstancesPreCheckMajorVersionUpgradeRequest.fromObject = function fromObject(object) {
+                        SqlInstancesPreCheckMajorVersionUpgradeRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.SqlInstancesPreCheckMajorVersionUpgradeRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.SqlInstancesPreCheckMajorVersionUpgradeRequest();
                             if (object.instance != null)
                                 message.instance = String(object.instance);
@@ -94607,7 +98477,7 @@
                             if (object.body != null) {
                                 if (typeof object.body !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.SqlInstancesPreCheckMajorVersionUpgradeRequest.body: object expected");
-                                message.body = $root.google.cloud.sql.v1beta4.InstancesPreCheckMajorVersionUpgradeRequest.fromObject(object.body);
+                                message.body = $root.google.cloud.sql.v1beta4.InstancesPreCheckMajorVersionUpgradeRequest.fromObject(object.body, long + 1);
                             }
                             return message;
                         };
@@ -94688,7 +98558,7 @@
                         function SqlInstancesAcquireSsrsLeaseResponse(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -94762,9 +98632,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlInstancesAcquireSsrsLeaseResponse.decode = function decode(reader, length, error) {
+                        SqlInstancesAcquireSsrsLeaseResponse.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.SqlInstancesAcquireSsrsLeaseResponse();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -94776,7 +98650,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -94807,9 +98681,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlInstancesAcquireSsrsLeaseResponse.verify = function verify(message) {
+                        SqlInstancesAcquireSsrsLeaseResponse.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             var properties = {};
                             if (message.operationId != null && message.hasOwnProperty("operationId")) {
                                 properties._operationId = 1;
@@ -94827,9 +98705,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.SqlInstancesAcquireSsrsLeaseResponse} SqlInstancesAcquireSsrsLeaseResponse
                          */
-                        SqlInstancesAcquireSsrsLeaseResponse.fromObject = function fromObject(object) {
+                        SqlInstancesAcquireSsrsLeaseResponse.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.SqlInstancesAcquireSsrsLeaseResponse)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.SqlInstancesAcquireSsrsLeaseResponse();
                             if (object.operationId != null)
                                 message.operationId = String(object.operationId);
@@ -94907,7 +98789,7 @@
                         function SqlInstancesPointInTimeRestoreRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -94982,9 +98864,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlInstancesPointInTimeRestoreRequest.decode = function decode(reader, length, error) {
+                        SqlInstancesPointInTimeRestoreRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.SqlInstancesPointInTimeRestoreRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -94996,11 +98882,11 @@
                                         break;
                                     }
                                 case 100: {
-                                        message.context = $root.google.cloud.sql.v1beta4.PointInTimeRestoreContext.decode(reader, reader.uint32());
+                                        message.context = $root.google.cloud.sql.v1beta4.PointInTimeRestoreContext.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -95031,14 +98917,18 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlInstancesPointInTimeRestoreRequest.verify = function verify(message) {
+                        SqlInstancesPointInTimeRestoreRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.parent != null && message.hasOwnProperty("parent"))
                                 if (!$util.isString(message.parent))
                                     return "parent: string expected";
                             if (message.context != null && message.hasOwnProperty("context")) {
-                                var error = $root.google.cloud.sql.v1beta4.PointInTimeRestoreContext.verify(message.context);
+                                var error = $root.google.cloud.sql.v1beta4.PointInTimeRestoreContext.verify(message.context, long + 1);
                                 if (error)
                                     return "context." + error;
                             }
@@ -95053,16 +98943,20 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.SqlInstancesPointInTimeRestoreRequest} SqlInstancesPointInTimeRestoreRequest
                          */
-                        SqlInstancesPointInTimeRestoreRequest.fromObject = function fromObject(object) {
+                        SqlInstancesPointInTimeRestoreRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.SqlInstancesPointInTimeRestoreRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.SqlInstancesPointInTimeRestoreRequest();
                             if (object.parent != null)
                                 message.parent = String(object.parent);
                             if (object.context != null) {
                                 if (typeof object.context !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.SqlInstancesPointInTimeRestoreRequest.context: object expected");
-                                message.context = $root.google.cloud.sql.v1beta4.PointInTimeRestoreContext.fromObject(object.context);
+                                message.context = $root.google.cloud.sql.v1beta4.PointInTimeRestoreContext.fromObject(object.context, long + 1);
                             }
                             return message;
                         };
@@ -95143,7 +99037,7 @@
                         function AclEntry(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -95238,9 +99132,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        AclEntry.decode = function decode(reader, length, error) {
+                        AclEntry.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.AclEntry();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -95252,7 +99150,7 @@
                                         break;
                                     }
                                 case 2: {
-                                        message.expirationTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+                                        message.expirationTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 3: {
@@ -95264,7 +99162,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -95295,14 +99193,18 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        AclEntry.verify = function verify(message) {
+                        AclEntry.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.value != null && message.hasOwnProperty("value"))
                                 if (!$util.isString(message.value))
                                     return "value: string expected";
                             if (message.expirationTime != null && message.hasOwnProperty("expirationTime")) {
-                                var error = $root.google.protobuf.Timestamp.verify(message.expirationTime);
+                                var error = $root.google.protobuf.Timestamp.verify(message.expirationTime, long + 1);
                                 if (error)
                                     return "expirationTime." + error;
                             }
@@ -95323,16 +99225,20 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.AclEntry} AclEntry
                          */
-                        AclEntry.fromObject = function fromObject(object) {
+                        AclEntry.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.AclEntry)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.AclEntry();
                             if (object.value != null)
                                 message.value = String(object.value);
                             if (object.expirationTime != null) {
                                 if (typeof object.expirationTime !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.AclEntry.expirationTime: object expected");
-                                message.expirationTime = $root.google.protobuf.Timestamp.fromObject(object.expirationTime);
+                                message.expirationTime = $root.google.protobuf.Timestamp.fromObject(object.expirationTime, long + 1);
                             }
                             if (object.name != null)
                                 message.name = String(object.name);
@@ -95422,7 +99328,7 @@
                         function ApiWarning(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -95507,9 +99413,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        ApiWarning.decode = function decode(reader, length, error) {
+                        ApiWarning.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.ApiWarning();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -95529,7 +99439,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -95560,9 +99470,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        ApiWarning.verify = function verify(message) {
+                        ApiWarning.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.code != null && message.hasOwnProperty("code"))
                                 switch (message.code) {
                                 default:
@@ -95591,9 +99505,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.ApiWarning} ApiWarning
                          */
-                        ApiWarning.fromObject = function fromObject(object) {
+                        ApiWarning.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.ApiWarning)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.ApiWarning();
                             switch (object.code) {
                             default:
@@ -95727,7 +99645,7 @@
                         function BackupRetentionSettings(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -95802,9 +99720,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        BackupRetentionSettings.decode = function decode(reader, length, error) {
+                        BackupRetentionSettings.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.BackupRetentionSettings();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -95816,11 +99738,11 @@
                                         break;
                                     }
                                 case 2: {
-                                        message.retainedBackups = $root.google.protobuf.Int32Value.decode(reader, reader.uint32());
+                                        message.retainedBackups = $root.google.protobuf.Int32Value.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -95851,9 +99773,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        BackupRetentionSettings.verify = function verify(message) {
+                        BackupRetentionSettings.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.retentionUnit != null && message.hasOwnProperty("retentionUnit"))
                                 switch (message.retentionUnit) {
                                 default:
@@ -95863,7 +99789,7 @@
                                     break;
                                 }
                             if (message.retainedBackups != null && message.hasOwnProperty("retainedBackups")) {
-                                var error = $root.google.protobuf.Int32Value.verify(message.retainedBackups);
+                                var error = $root.google.protobuf.Int32Value.verify(message.retainedBackups, long + 1);
                                 if (error)
                                     return "retainedBackups." + error;
                             }
@@ -95878,9 +99804,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.BackupRetentionSettings} BackupRetentionSettings
                          */
-                        BackupRetentionSettings.fromObject = function fromObject(object) {
+                        BackupRetentionSettings.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.BackupRetentionSettings)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.BackupRetentionSettings();
                             switch (object.retentionUnit) {
                             default:
@@ -95901,7 +99831,7 @@
                             if (object.retainedBackups != null) {
                                 if (typeof object.retainedBackups !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.BackupRetentionSettings.retainedBackups: object expected");
-                                message.retainedBackups = $root.google.protobuf.Int32Value.fromObject(object.retainedBackups);
+                                message.retainedBackups = $root.google.protobuf.Int32Value.fromObject(object.retainedBackups, long + 1);
                             }
                             return message;
                         };
@@ -96003,7 +99933,7 @@
                         function BackupConfiguration(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -96183,9 +100113,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        BackupConfiguration.decode = function decode(reader, length, error) {
+                        BackupConfiguration.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.BackupConfiguration();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -96197,7 +100131,7 @@
                                         break;
                                     }
                                 case 2: {
-                                        message.enabled = $root.google.protobuf.BoolValue.decode(reader, reader.uint32());
+                                        message.enabled = $root.google.protobuf.BoolValue.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 3: {
@@ -96205,11 +100139,11 @@
                                         break;
                                     }
                                 case 4: {
-                                        message.binaryLogEnabled = $root.google.protobuf.BoolValue.decode(reader, reader.uint32());
+                                        message.binaryLogEnabled = $root.google.protobuf.BoolValue.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 5: {
-                                        message.replicationLogArchivingEnabled = $root.google.protobuf.BoolValue.decode(reader, reader.uint32());
+                                        message.replicationLogArchivingEnabled = $root.google.protobuf.BoolValue.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 6: {
@@ -96217,15 +100151,15 @@
                                         break;
                                     }
                                 case 7: {
-                                        message.pointInTimeRecoveryEnabled = $root.google.protobuf.BoolValue.decode(reader, reader.uint32());
+                                        message.pointInTimeRecoveryEnabled = $root.google.protobuf.BoolValue.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 9: {
-                                        message.transactionLogRetentionDays = $root.google.protobuf.Int32Value.decode(reader, reader.uint32());
+                                        message.transactionLogRetentionDays = $root.google.protobuf.Int32Value.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 10: {
-                                        message.backupRetentionSettings = $root.google.cloud.sql.v1beta4.BackupRetentionSettings.decode(reader, reader.uint32());
+                                        message.backupRetentionSettings = $root.google.cloud.sql.v1beta4.BackupRetentionSettings.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 11: {
@@ -96237,7 +100171,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -96268,15 +100202,19 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        BackupConfiguration.verify = function verify(message) {
+                        BackupConfiguration.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             var properties = {};
                             if (message.startTime != null && message.hasOwnProperty("startTime"))
                                 if (!$util.isString(message.startTime))
                                     return "startTime: string expected";
                             if (message.enabled != null && message.hasOwnProperty("enabled")) {
-                                var error = $root.google.protobuf.BoolValue.verify(message.enabled);
+                                var error = $root.google.protobuf.BoolValue.verify(message.enabled, long + 1);
                                 if (error)
                                     return "enabled." + error;
                             }
@@ -96284,12 +100222,12 @@
                                 if (!$util.isString(message.kind))
                                     return "kind: string expected";
                             if (message.binaryLogEnabled != null && message.hasOwnProperty("binaryLogEnabled")) {
-                                var error = $root.google.protobuf.BoolValue.verify(message.binaryLogEnabled);
+                                var error = $root.google.protobuf.BoolValue.verify(message.binaryLogEnabled, long + 1);
                                 if (error)
                                     return "binaryLogEnabled." + error;
                             }
                             if (message.replicationLogArchivingEnabled != null && message.hasOwnProperty("replicationLogArchivingEnabled")) {
-                                var error = $root.google.protobuf.BoolValue.verify(message.replicationLogArchivingEnabled);
+                                var error = $root.google.protobuf.BoolValue.verify(message.replicationLogArchivingEnabled, long + 1);
                                 if (error)
                                     return "replicationLogArchivingEnabled." + error;
                             }
@@ -96297,17 +100235,17 @@
                                 if (!$util.isString(message.location))
                                     return "location: string expected";
                             if (message.pointInTimeRecoveryEnabled != null && message.hasOwnProperty("pointInTimeRecoveryEnabled")) {
-                                var error = $root.google.protobuf.BoolValue.verify(message.pointInTimeRecoveryEnabled);
+                                var error = $root.google.protobuf.BoolValue.verify(message.pointInTimeRecoveryEnabled, long + 1);
                                 if (error)
                                     return "pointInTimeRecoveryEnabled." + error;
                             }
                             if (message.transactionLogRetentionDays != null && message.hasOwnProperty("transactionLogRetentionDays")) {
-                                var error = $root.google.protobuf.Int32Value.verify(message.transactionLogRetentionDays);
+                                var error = $root.google.protobuf.Int32Value.verify(message.transactionLogRetentionDays, long + 1);
                                 if (error)
                                     return "transactionLogRetentionDays." + error;
                             }
                             if (message.backupRetentionSettings != null && message.hasOwnProperty("backupRetentionSettings")) {
-                                var error = $root.google.cloud.sql.v1beta4.BackupRetentionSettings.verify(message.backupRetentionSettings);
+                                var error = $root.google.cloud.sql.v1beta4.BackupRetentionSettings.verify(message.backupRetentionSettings, long + 1);
                                 if (error)
                                     return "backupRetentionSettings." + error;
                             }
@@ -96347,45 +100285,49 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.BackupConfiguration} BackupConfiguration
                          */
-                        BackupConfiguration.fromObject = function fromObject(object) {
+                        BackupConfiguration.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.BackupConfiguration)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.BackupConfiguration();
                             if (object.startTime != null)
                                 message.startTime = String(object.startTime);
                             if (object.enabled != null) {
                                 if (typeof object.enabled !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.BackupConfiguration.enabled: object expected");
-                                message.enabled = $root.google.protobuf.BoolValue.fromObject(object.enabled);
+                                message.enabled = $root.google.protobuf.BoolValue.fromObject(object.enabled, long + 1);
                             }
                             if (object.kind != null)
                                 message.kind = String(object.kind);
                             if (object.binaryLogEnabled != null) {
                                 if (typeof object.binaryLogEnabled !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.BackupConfiguration.binaryLogEnabled: object expected");
-                                message.binaryLogEnabled = $root.google.protobuf.BoolValue.fromObject(object.binaryLogEnabled);
+                                message.binaryLogEnabled = $root.google.protobuf.BoolValue.fromObject(object.binaryLogEnabled, long + 1);
                             }
                             if (object.replicationLogArchivingEnabled != null) {
                                 if (typeof object.replicationLogArchivingEnabled !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.BackupConfiguration.replicationLogArchivingEnabled: object expected");
-                                message.replicationLogArchivingEnabled = $root.google.protobuf.BoolValue.fromObject(object.replicationLogArchivingEnabled);
+                                message.replicationLogArchivingEnabled = $root.google.protobuf.BoolValue.fromObject(object.replicationLogArchivingEnabled, long + 1);
                             }
                             if (object.location != null)
                                 message.location = String(object.location);
                             if (object.pointInTimeRecoveryEnabled != null) {
                                 if (typeof object.pointInTimeRecoveryEnabled !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.BackupConfiguration.pointInTimeRecoveryEnabled: object expected");
-                                message.pointInTimeRecoveryEnabled = $root.google.protobuf.BoolValue.fromObject(object.pointInTimeRecoveryEnabled);
+                                message.pointInTimeRecoveryEnabled = $root.google.protobuf.BoolValue.fromObject(object.pointInTimeRecoveryEnabled, long + 1);
                             }
                             if (object.transactionLogRetentionDays != null) {
                                 if (typeof object.transactionLogRetentionDays !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.BackupConfiguration.transactionLogRetentionDays: object expected");
-                                message.transactionLogRetentionDays = $root.google.protobuf.Int32Value.fromObject(object.transactionLogRetentionDays);
+                                message.transactionLogRetentionDays = $root.google.protobuf.Int32Value.fromObject(object.transactionLogRetentionDays, long + 1);
                             }
                             if (object.backupRetentionSettings != null) {
                                 if (typeof object.backupRetentionSettings !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.BackupConfiguration.backupRetentionSettings: object expected");
-                                message.backupRetentionSettings = $root.google.cloud.sql.v1beta4.BackupRetentionSettings.fromObject(object.backupRetentionSettings);
+                                message.backupRetentionSettings = $root.google.cloud.sql.v1beta4.BackupRetentionSettings.fromObject(object.backupRetentionSettings, long + 1);
                             }
                             switch (object.transactionalLogStorageState) {
                             default:
@@ -96602,7 +100544,7 @@
                         function BackupRun(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -96856,9 +100798,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        BackupRun.decode = function decode(reader, length, error) {
+                        BackupRun.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.BackupRun();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -96874,7 +100820,7 @@
                                         break;
                                     }
                                 case 3: {
-                                        message.enqueuedTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+                                        message.enqueuedTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 4: {
@@ -96882,15 +100828,15 @@
                                         break;
                                     }
                                 case 5: {
-                                        message.startTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+                                        message.startTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 6: {
-                                        message.endTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+                                        message.endTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 7: {
-                                        message.error = $root.google.cloud.sql.v1beta4.OperationError.decode(reader, reader.uint32());
+                                        message.error = $root.google.cloud.sql.v1beta4.OperationError.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 8: {
@@ -96902,7 +100848,7 @@
                                         break;
                                     }
                                 case 10: {
-                                        message.windowStartTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+                                        message.windowStartTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 11: {
@@ -96922,11 +100868,11 @@
                                         break;
                                     }
                                 case 16: {
-                                        message.diskEncryptionConfiguration = $root.google.cloud.sql.v1beta4.DiskEncryptionConfiguration.decode(reader, reader.uint32());
+                                        message.diskEncryptionConfiguration = $root.google.cloud.sql.v1beta4.DiskEncryptionConfiguration.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 17: {
-                                        message.diskEncryptionStatus = $root.google.cloud.sql.v1beta4.DiskEncryptionStatus.decode(reader, reader.uint32());
+                                        message.diskEncryptionStatus = $root.google.cloud.sql.v1beta4.DiskEncryptionStatus.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 19: {
@@ -96942,7 +100888,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -96973,9 +100919,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        BackupRun.verify = function verify(message) {
+                        BackupRun.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             var properties = {};
                             if (message.kind != null && message.hasOwnProperty("kind"))
                                 if (!$util.isString(message.kind))
@@ -96997,7 +100947,7 @@
                                     break;
                                 }
                             if (message.enqueuedTime != null && message.hasOwnProperty("enqueuedTime")) {
-                                var error = $root.google.protobuf.Timestamp.verify(message.enqueuedTime);
+                                var error = $root.google.protobuf.Timestamp.verify(message.enqueuedTime, long + 1);
                                 if (error)
                                     return "enqueuedTime." + error;
                             }
@@ -97005,17 +100955,17 @@
                                 if (!$util.isInteger(message.id) && !(message.id && $util.isInteger(message.id.low) && $util.isInteger(message.id.high)))
                                     return "id: integer|Long expected";
                             if (message.startTime != null && message.hasOwnProperty("startTime")) {
-                                var error = $root.google.protobuf.Timestamp.verify(message.startTime);
+                                var error = $root.google.protobuf.Timestamp.verify(message.startTime, long + 1);
                                 if (error)
                                     return "startTime." + error;
                             }
                             if (message.endTime != null && message.hasOwnProperty("endTime")) {
-                                var error = $root.google.protobuf.Timestamp.verify(message.endTime);
+                                var error = $root.google.protobuf.Timestamp.verify(message.endTime, long + 1);
                                 if (error)
                                     return "endTime." + error;
                             }
                             if (message.error != null && message.hasOwnProperty("error")) {
-                                var error = $root.google.cloud.sql.v1beta4.OperationError.verify(message.error);
+                                var error = $root.google.cloud.sql.v1beta4.OperationError.verify(message.error, long + 1);
                                 if (error)
                                     return "error." + error;
                             }
@@ -97032,7 +100982,7 @@
                                 if (!$util.isString(message.description))
                                     return "description: string expected";
                             if (message.windowStartTime != null && message.hasOwnProperty("windowStartTime")) {
-                                var error = $root.google.protobuf.Timestamp.verify(message.windowStartTime);
+                                var error = $root.google.protobuf.Timestamp.verify(message.windowStartTime, long + 1);
                                 if (error)
                                     return "windowStartTime." + error;
                             }
@@ -97103,12 +101053,12 @@
                                     break;
                                 }
                             if (message.diskEncryptionConfiguration != null && message.hasOwnProperty("diskEncryptionConfiguration")) {
-                                var error = $root.google.cloud.sql.v1beta4.DiskEncryptionConfiguration.verify(message.diskEncryptionConfiguration);
+                                var error = $root.google.cloud.sql.v1beta4.DiskEncryptionConfiguration.verify(message.diskEncryptionConfiguration, long + 1);
                                 if (error)
                                     return "diskEncryptionConfiguration." + error;
                             }
                             if (message.diskEncryptionStatus != null && message.hasOwnProperty("diskEncryptionStatus")) {
-                                var error = $root.google.cloud.sql.v1beta4.DiskEncryptionStatus.verify(message.diskEncryptionStatus);
+                                var error = $root.google.cloud.sql.v1beta4.DiskEncryptionStatus.verify(message.diskEncryptionStatus, long + 1);
                                 if (error)
                                     return "diskEncryptionStatus." + error;
                             }
@@ -97140,9 +101090,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.BackupRun} BackupRun
                          */
-                        BackupRun.fromObject = function fromObject(object) {
+                        BackupRun.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.BackupRun)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.BackupRun();
                             if (object.kind != null)
                                 message.kind = String(object.kind);
@@ -97197,7 +101151,7 @@
                             if (object.enqueuedTime != null) {
                                 if (typeof object.enqueuedTime !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.BackupRun.enqueuedTime: object expected");
-                                message.enqueuedTime = $root.google.protobuf.Timestamp.fromObject(object.enqueuedTime);
+                                message.enqueuedTime = $root.google.protobuf.Timestamp.fromObject(object.enqueuedTime, long + 1);
                             }
                             if (object.id != null)
                                 if ($util.Long)
@@ -97211,17 +101165,17 @@
                             if (object.startTime != null) {
                                 if (typeof object.startTime !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.BackupRun.startTime: object expected");
-                                message.startTime = $root.google.protobuf.Timestamp.fromObject(object.startTime);
+                                message.startTime = $root.google.protobuf.Timestamp.fromObject(object.startTime, long + 1);
                             }
                             if (object.endTime != null) {
                                 if (typeof object.endTime !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.BackupRun.endTime: object expected");
-                                message.endTime = $root.google.protobuf.Timestamp.fromObject(object.endTime);
+                                message.endTime = $root.google.protobuf.Timestamp.fromObject(object.endTime, long + 1);
                             }
                             if (object.error != null) {
                                 if (typeof object.error !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.BackupRun.error: object expected");
-                                message.error = $root.google.cloud.sql.v1beta4.OperationError.fromObject(object.error);
+                                message.error = $root.google.cloud.sql.v1beta4.OperationError.fromObject(object.error, long + 1);
                             }
                             switch (object.type) {
                             default:
@@ -97248,7 +101202,7 @@
                             if (object.windowStartTime != null) {
                                 if (typeof object.windowStartTime !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.BackupRun.windowStartTime: object expected");
-                                message.windowStartTime = $root.google.protobuf.Timestamp.fromObject(object.windowStartTime);
+                                message.windowStartTime = $root.google.protobuf.Timestamp.fromObject(object.windowStartTime, long + 1);
                             }
                             if (object.instance != null)
                                 message.instance = String(object.instance);
@@ -97471,12 +101425,12 @@
                             if (object.diskEncryptionConfiguration != null) {
                                 if (typeof object.diskEncryptionConfiguration !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.BackupRun.diskEncryptionConfiguration: object expected");
-                                message.diskEncryptionConfiguration = $root.google.cloud.sql.v1beta4.DiskEncryptionConfiguration.fromObject(object.diskEncryptionConfiguration);
+                                message.diskEncryptionConfiguration = $root.google.cloud.sql.v1beta4.DiskEncryptionConfiguration.fromObject(object.diskEncryptionConfiguration, long + 1);
                             }
                             if (object.diskEncryptionStatus != null) {
                                 if (typeof object.diskEncryptionStatus !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.BackupRun.diskEncryptionStatus: object expected");
-                                message.diskEncryptionStatus = $root.google.cloud.sql.v1beta4.DiskEncryptionStatus.fromObject(object.diskEncryptionStatus);
+                                message.diskEncryptionStatus = $root.google.cloud.sql.v1beta4.DiskEncryptionStatus.fromObject(object.diskEncryptionStatus, long + 1);
                             }
                             switch (object.backupKind) {
                             default:
@@ -97670,7 +101624,7 @@
                         function Backup(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -97975,9 +101929,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        Backup.decode = function decode(reader, length, error) {
+                        Backup.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.Backup();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -98013,7 +101971,7 @@
                                         break;
                                     }
                                 case 8: {
-                                        message.backupInterval = $root.google.type.Interval.decode(reader, reader.uint32());
+                                        message.backupInterval = $root.google.type.Interval.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 9: {
@@ -98021,7 +101979,7 @@
                                         break;
                                     }
                                 case 10: {
-                                        message.error = $root.google.cloud.sql.v1beta4.OperationError.decode(reader, reader.uint32());
+                                        message.error = $root.google.cloud.sql.v1beta4.OperationError.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 11: {
@@ -98045,7 +102003,7 @@
                                         break;
                                     }
                                 case 17: {
-                                        message.expiryTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+                                        message.expiryTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 20: {
@@ -98057,11 +102015,11 @@
                                         break;
                                     }
                                 case 24: {
-                                        message.instanceDeletionTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+                                        message.instanceDeletionTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 25: {
-                                        message.instanceSettings = $root.google.cloud.sql.v1beta4.DatabaseInstance.decode(reader, reader.uint32());
+                                        message.instanceSettings = $root.google.cloud.sql.v1beta4.DatabaseInstance.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 26: {
@@ -98069,15 +102027,15 @@
                                         break;
                                     }
                                 case 27: {
-                                        message.satisfiesPzs = $root.google.protobuf.BoolValue.decode(reader, reader.uint32());
+                                        message.satisfiesPzs = $root.google.protobuf.BoolValue.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 28: {
-                                        message.satisfiesPzi = $root.google.protobuf.BoolValue.decode(reader, reader.uint32());
+                                        message.satisfiesPzi = $root.google.protobuf.BoolValue.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -98108,9 +102066,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        Backup.verify = function verify(message) {
+                        Backup.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             var properties = {};
                             if (message.name != null && message.hasOwnProperty("name"))
                                 if (!$util.isString(message.name))
@@ -98141,7 +102103,7 @@
                                 if (!$util.isString(message.location))
                                     return "location: string expected";
                             if (message.backupInterval != null && message.hasOwnProperty("backupInterval")) {
-                                var error = $root.google.type.Interval.verify(message.backupInterval);
+                                var error = $root.google.type.Interval.verify(message.backupInterval, long + 1);
                                 if (error)
                                     return "backupInterval." + error;
                             }
@@ -98159,7 +102121,7 @@
                                     break;
                                 }
                             if (message.error != null && message.hasOwnProperty("error")) {
-                                var error = $root.google.cloud.sql.v1beta4.OperationError.verify(message.error);
+                                var error = $root.google.cloud.sql.v1beta4.OperationError.verify(message.error, long + 1);
                                 if (error)
                                     return "error." + error;
                             }
@@ -98191,7 +102153,7 @@
                                     return "expiration: multiple values";
                                 properties.expiration = 1;
                                 {
-                                    var error = $root.google.protobuf.Timestamp.verify(message.expiryTime);
+                                    var error = $root.google.protobuf.Timestamp.verify(message.expiryTime, long + 1);
                                     if (error)
                                         return "expiryTime." + error;
                                 }
@@ -98259,12 +102221,12 @@
                                     return "maxChargeableBytes: integer|Long expected";
                             }
                             if (message.instanceDeletionTime != null && message.hasOwnProperty("instanceDeletionTime")) {
-                                var error = $root.google.protobuf.Timestamp.verify(message.instanceDeletionTime);
+                                var error = $root.google.protobuf.Timestamp.verify(message.instanceDeletionTime, long + 1);
                                 if (error)
                                     return "instanceDeletionTime." + error;
                             }
                             if (message.instanceSettings != null && message.hasOwnProperty("instanceSettings")) {
-                                var error = $root.google.cloud.sql.v1beta4.DatabaseInstance.verify(message.instanceSettings);
+                                var error = $root.google.cloud.sql.v1beta4.DatabaseInstance.verify(message.instanceSettings, long + 1);
                                 if (error)
                                     return "instanceSettings." + error;
                             }
@@ -98272,12 +102234,12 @@
                                 if (!$util.isString(message.backupRun))
                                     return "backupRun: string expected";
                             if (message.satisfiesPzs != null && message.hasOwnProperty("satisfiesPzs")) {
-                                var error = $root.google.protobuf.BoolValue.verify(message.satisfiesPzs);
+                                var error = $root.google.protobuf.BoolValue.verify(message.satisfiesPzs, long + 1);
                                 if (error)
                                     return "satisfiesPzs." + error;
                             }
                             if (message.satisfiesPzi != null && message.hasOwnProperty("satisfiesPzi")) {
-                                var error = $root.google.protobuf.BoolValue.verify(message.satisfiesPzi);
+                                var error = $root.google.protobuf.BoolValue.verify(message.satisfiesPzi, long + 1);
                                 if (error)
                                     return "satisfiesPzi." + error;
                             }
@@ -98292,9 +102254,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.Backup} Backup
                          */
-                        Backup.fromObject = function fromObject(object) {
+                        Backup.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.Backup)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.Backup();
                             if (object.name != null)
                                 message.name = String(object.name);
@@ -98335,7 +102301,7 @@
                             if (object.backupInterval != null) {
                                 if (typeof object.backupInterval !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.Backup.backupInterval: object expected");
-                                message.backupInterval = $root.google.type.Interval.fromObject(object.backupInterval);
+                                message.backupInterval = $root.google.type.Interval.fromObject(object.backupInterval, long + 1);
                             }
                             switch (object.state) {
                             default:
@@ -98376,7 +102342,7 @@
                             if (object.error != null) {
                                 if (typeof object.error !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.Backup.error: object expected");
-                                message.error = $root.google.cloud.sql.v1beta4.OperationError.fromObject(object.error);
+                                message.error = $root.google.cloud.sql.v1beta4.OperationError.fromObject(object.error, long + 1);
                             }
                             if (object.kmsKey != null)
                                 message.kmsKey = String(object.kmsKey);
@@ -98416,7 +102382,7 @@
                             if (object.expiryTime != null) {
                                 if (typeof object.expiryTime !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.Backup.expiryTime: object expected");
-                                message.expiryTime = $root.google.protobuf.Timestamp.fromObject(object.expiryTime);
+                                message.expiryTime = $root.google.protobuf.Timestamp.fromObject(object.expiryTime, long + 1);
                             }
                             switch (object.databaseVersion) {
                             default:
@@ -98642,24 +102608,24 @@
                             if (object.instanceDeletionTime != null) {
                                 if (typeof object.instanceDeletionTime !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.Backup.instanceDeletionTime: object expected");
-                                message.instanceDeletionTime = $root.google.protobuf.Timestamp.fromObject(object.instanceDeletionTime);
+                                message.instanceDeletionTime = $root.google.protobuf.Timestamp.fromObject(object.instanceDeletionTime, long + 1);
                             }
                             if (object.instanceSettings != null) {
                                 if (typeof object.instanceSettings !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.Backup.instanceSettings: object expected");
-                                message.instanceSettings = $root.google.cloud.sql.v1beta4.DatabaseInstance.fromObject(object.instanceSettings);
+                                message.instanceSettings = $root.google.cloud.sql.v1beta4.DatabaseInstance.fromObject(object.instanceSettings, long + 1);
                             }
                             if (object.backupRun != null)
                                 message.backupRun = String(object.backupRun);
                             if (object.satisfiesPzs != null) {
                                 if (typeof object.satisfiesPzs !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.Backup.satisfiesPzs: object expected");
-                                message.satisfiesPzs = $root.google.protobuf.BoolValue.fromObject(object.satisfiesPzs);
+                                message.satisfiesPzs = $root.google.protobuf.BoolValue.fromObject(object.satisfiesPzs, long + 1);
                             }
                             if (object.satisfiesPzi != null) {
                                 if (typeof object.satisfiesPzi !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.Backup.satisfiesPzi: object expected");
-                                message.satisfiesPzi = $root.google.protobuf.BoolValue.fromObject(object.satisfiesPzi);
+                                message.satisfiesPzi = $root.google.protobuf.BoolValue.fromObject(object.satisfiesPzi, long + 1);
                             }
                             return message;
                         };
@@ -98857,7 +102823,7 @@
                             this.items = [];
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -98943,9 +102909,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        BackupRunsListResponse.decode = function decode(reader, length, error) {
+                        BackupRunsListResponse.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.BackupRunsListResponse();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -98959,7 +102929,7 @@
                                 case 2: {
                                         if (!(message.items && message.items.length))
                                             message.items = [];
-                                        message.items.push($root.google.cloud.sql.v1beta4.BackupRun.decode(reader, reader.uint32()));
+                                        message.items.push($root.google.cloud.sql.v1beta4.BackupRun.decode(reader, reader.uint32(), undefined, long + 1));
                                         break;
                                     }
                                 case 3: {
@@ -98967,7 +102937,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -98998,9 +102968,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        BackupRunsListResponse.verify = function verify(message) {
+                        BackupRunsListResponse.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.kind != null && message.hasOwnProperty("kind"))
                                 if (!$util.isString(message.kind))
                                     return "kind: string expected";
@@ -99008,7 +102982,7 @@
                                 if (!Array.isArray(message.items))
                                     return "items: array expected";
                                 for (var i = 0; i < message.items.length; ++i) {
-                                    var error = $root.google.cloud.sql.v1beta4.BackupRun.verify(message.items[i]);
+                                    var error = $root.google.cloud.sql.v1beta4.BackupRun.verify(message.items[i], long + 1);
                                     if (error)
                                         return "items." + error;
                                 }
@@ -99027,9 +103001,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.BackupRunsListResponse} BackupRunsListResponse
                          */
-                        BackupRunsListResponse.fromObject = function fromObject(object) {
+                        BackupRunsListResponse.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.BackupRunsListResponse)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.BackupRunsListResponse();
                             if (object.kind != null)
                                 message.kind = String(object.kind);
@@ -99040,7 +103018,7 @@
                                 for (var i = 0; i < object.items.length; ++i) {
                                     if (typeof object.items[i] !== "object")
                                         throw TypeError(".google.cloud.sql.v1beta4.BackupRunsListResponse.items: object expected");
-                                    message.items[i] = $root.google.cloud.sql.v1beta4.BackupRun.fromObject(object.items[i]);
+                                    message.items[i] = $root.google.cloud.sql.v1beta4.BackupRun.fromObject(object.items[i], long + 1);
                                 }
                             }
                             if (object.nextPageToken != null)
@@ -99130,7 +103108,7 @@
                         function BinLogCoordinates(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -99215,9 +103193,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        BinLogCoordinates.decode = function decode(reader, length, error) {
+                        BinLogCoordinates.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.BinLogCoordinates();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -99237,7 +103219,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -99268,9 +103250,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        BinLogCoordinates.verify = function verify(message) {
+                        BinLogCoordinates.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.binLogFileName != null && message.hasOwnProperty("binLogFileName"))
                                 if (!$util.isString(message.binLogFileName))
                                     return "binLogFileName: string expected";
@@ -99291,9 +103277,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.BinLogCoordinates} BinLogCoordinates
                          */
-                        BinLogCoordinates.fromObject = function fromObject(object) {
+                        BinLogCoordinates.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.BinLogCoordinates)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.BinLogCoordinates();
                             if (object.binLogFileName != null)
                                 message.binLogFileName = String(object.binLogFileName);
@@ -99396,7 +103386,7 @@
                         function BackupContext(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -99481,9 +103471,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        BackupContext.decode = function decode(reader, length, error) {
+                        BackupContext.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.BackupContext();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -99503,7 +103497,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -99534,9 +103528,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        BackupContext.verify = function verify(message) {
+                        BackupContext.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.backupId != null && message.hasOwnProperty("backupId"))
                                 if (!$util.isInteger(message.backupId) && !(message.backupId && $util.isInteger(message.backupId.low) && $util.isInteger(message.backupId.high)))
                                     return "backupId: integer|Long expected";
@@ -99557,9 +103555,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.BackupContext} BackupContext
                          */
-                        BackupContext.fromObject = function fromObject(object) {
+                        BackupContext.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.BackupContext)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.BackupContext();
                             if (object.backupId != null)
                                 if ($util.Long)
@@ -99672,7 +103674,7 @@
                             this.databaseNames = [];
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -99881,9 +103883,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        CloneContext.decode = function decode(reader, length, error) {
+                        CloneContext.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.CloneContext();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -99903,11 +103909,11 @@
                                         break;
                                     }
                                 case 4: {
-                                        message.binLogCoordinates = $root.google.cloud.sql.v1beta4.BinLogCoordinates.decode(reader, reader.uint32());
+                                        message.binLogCoordinates = $root.google.cloud.sql.v1beta4.BinLogCoordinates.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 5: {
-                                        message.pointInTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+                                        message.pointInTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 6: {
@@ -99929,7 +103935,7 @@
                                         break;
                                     }
                                 case 12: {
-                                        message.sourceInstanceDeletionTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+                                        message.sourceInstanceDeletionTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 13: {
@@ -99941,7 +103947,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -99972,9 +103978,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        CloneContext.verify = function verify(message) {
+                        CloneContext.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             var properties = {};
                             if (message.kind != null && message.hasOwnProperty("kind"))
                                 if (!$util.isString(message.kind))
@@ -99986,12 +103996,12 @@
                                 if (!$util.isString(message.destinationInstanceName))
                                     return "destinationInstanceName: string expected";
                             if (message.binLogCoordinates != null && message.hasOwnProperty("binLogCoordinates")) {
-                                var error = $root.google.cloud.sql.v1beta4.BinLogCoordinates.verify(message.binLogCoordinates);
+                                var error = $root.google.cloud.sql.v1beta4.BinLogCoordinates.verify(message.binLogCoordinates, long + 1);
                                 if (error)
                                     return "binLogCoordinates." + error;
                             }
                             if (message.pointInTime != null && message.hasOwnProperty("pointInTime")) {
-                                var error = $root.google.protobuf.Timestamp.verify(message.pointInTime);
+                                var error = $root.google.protobuf.Timestamp.verify(message.pointInTime, long + 1);
                                 if (error)
                                     return "pointInTime." + error;
                             }
@@ -100018,7 +104028,7 @@
                             if (message.sourceInstanceDeletionTime != null && message.hasOwnProperty("sourceInstanceDeletionTime")) {
                                 properties._sourceInstanceDeletionTime = 1;
                                 {
-                                    var error = $root.google.protobuf.Timestamp.verify(message.sourceInstanceDeletionTime);
+                                    var error = $root.google.protobuf.Timestamp.verify(message.sourceInstanceDeletionTime, long + 1);
                                     if (error)
                                         return "sourceInstanceDeletionTime." + error;
                                 }
@@ -100044,9 +104054,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.CloneContext} CloneContext
                          */
-                        CloneContext.fromObject = function fromObject(object) {
+                        CloneContext.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.CloneContext)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.CloneContext();
                             if (object.kind != null)
                                 message.kind = String(object.kind);
@@ -100064,12 +104078,12 @@
                             if (object.binLogCoordinates != null) {
                                 if (typeof object.binLogCoordinates !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.CloneContext.binLogCoordinates: object expected");
-                                message.binLogCoordinates = $root.google.cloud.sql.v1beta4.BinLogCoordinates.fromObject(object.binLogCoordinates);
+                                message.binLogCoordinates = $root.google.cloud.sql.v1beta4.BinLogCoordinates.fromObject(object.binLogCoordinates, long + 1);
                             }
                             if (object.pointInTime != null) {
                                 if (typeof object.pointInTime !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.CloneContext.pointInTime: object expected");
-                                message.pointInTime = $root.google.protobuf.Timestamp.fromObject(object.pointInTime);
+                                message.pointInTime = $root.google.protobuf.Timestamp.fromObject(object.pointInTime, long + 1);
                             }
                             if (object.allocatedIpRange != null)
                                 message.allocatedIpRange = String(object.allocatedIpRange);
@@ -100087,7 +104101,7 @@
                             if (object.sourceInstanceDeletionTime != null) {
                                 if (typeof object.sourceInstanceDeletionTime !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.CloneContext.sourceInstanceDeletionTime: object expected");
-                                message.sourceInstanceDeletionTime = $root.google.protobuf.Timestamp.fromObject(object.sourceInstanceDeletionTime);
+                                message.sourceInstanceDeletionTime = $root.google.protobuf.Timestamp.fromObject(object.sourceInstanceDeletionTime, long + 1);
                             }
                             if (object.destinationProject != null)
                                 message.destinationProject = String(object.destinationProject);
@@ -100228,7 +104242,7 @@
                         function Database(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -100387,9 +104401,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        Database.decode = function decode(reader, length, error) {
+                        Database.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.Database();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -100429,11 +104447,11 @@
                                         break;
                                     }
                                 case 9: {
-                                        message.sqlserverDatabaseDetails = $root.google.cloud.sql.v1beta4.SqlServerDatabaseDetails.decode(reader, reader.uint32());
+                                        message.sqlserverDatabaseDetails = $root.google.cloud.sql.v1beta4.SqlServerDatabaseDetails.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -100464,9 +104482,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        Database.verify = function verify(message) {
+                        Database.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             var properties = {};
                             if (message.kind != null && message.hasOwnProperty("kind"))
                                 if (!$util.isString(message.kind))
@@ -100495,7 +104517,7 @@
                             if (message.sqlserverDatabaseDetails != null && message.hasOwnProperty("sqlserverDatabaseDetails")) {
                                 properties.databaseDetails = 1;
                                 {
-                                    var error = $root.google.cloud.sql.v1beta4.SqlServerDatabaseDetails.verify(message.sqlserverDatabaseDetails);
+                                    var error = $root.google.cloud.sql.v1beta4.SqlServerDatabaseDetails.verify(message.sqlserverDatabaseDetails, long + 1);
                                     if (error)
                                         return "sqlserverDatabaseDetails." + error;
                                 }
@@ -100511,9 +104533,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.Database} Database
                          */
-                        Database.fromObject = function fromObject(object) {
+                        Database.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.Database)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.Database();
                             if (object.kind != null)
                                 message.kind = String(object.kind);
@@ -100534,7 +104560,7 @@
                             if (object.sqlserverDatabaseDetails != null) {
                                 if (typeof object.sqlserverDatabaseDetails !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.Database.sqlserverDatabaseDetails: object expected");
-                                message.sqlserverDatabaseDetails = $root.google.cloud.sql.v1beta4.SqlServerDatabaseDetails.fromObject(object.sqlserverDatabaseDetails);
+                                message.sqlserverDatabaseDetails = $root.google.cloud.sql.v1beta4.SqlServerDatabaseDetails.fromObject(object.sqlserverDatabaseDetails, long + 1);
                             }
                             return message;
                         };
@@ -100636,7 +104662,7 @@
                         function SqlServerDatabaseDetails(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -100711,9 +104737,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlServerDatabaseDetails.decode = function decode(reader, length, error) {
+                        SqlServerDatabaseDetails.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.SqlServerDatabaseDetails();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -100729,7 +104759,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -100760,9 +104790,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlServerDatabaseDetails.verify = function verify(message) {
+                        SqlServerDatabaseDetails.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.compatibilityLevel != null && message.hasOwnProperty("compatibilityLevel"))
                                 if (!$util.isInteger(message.compatibilityLevel))
                                     return "compatibilityLevel: integer expected";
@@ -100780,9 +104814,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.SqlServerDatabaseDetails} SqlServerDatabaseDetails
                          */
-                        SqlServerDatabaseDetails.fromObject = function fromObject(object) {
+                        SqlServerDatabaseDetails.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.SqlServerDatabaseDetails)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.SqlServerDatabaseDetails();
                             if (object.compatibilityLevel != null)
                                 message.compatibilityLevel = object.compatibilityLevel | 0;
@@ -100865,7 +104903,7 @@
                         function DatabaseFlags(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -100940,9 +104978,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        DatabaseFlags.decode = function decode(reader, length, error) {
+                        DatabaseFlags.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.DatabaseFlags();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -100958,7 +105000,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -100989,9 +105031,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        DatabaseFlags.verify = function verify(message) {
+                        DatabaseFlags.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.name != null && message.hasOwnProperty("name"))
                                 if (!$util.isString(message.name))
                                     return "name: string expected";
@@ -101009,9 +105055,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.DatabaseFlags} DatabaseFlags
                          */
-                        DatabaseFlags.fromObject = function fromObject(object) {
+                        DatabaseFlags.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.DatabaseFlags)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.DatabaseFlags();
                             if (object.name != null)
                                 message.name = String(object.name);
@@ -101094,7 +105144,7 @@
                         function SyncFlags(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -101169,9 +105219,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SyncFlags.decode = function decode(reader, length, error) {
+                        SyncFlags.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.SyncFlags();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -101187,7 +105241,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -101218,9 +105272,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SyncFlags.verify = function verify(message) {
+                        SyncFlags.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.name != null && message.hasOwnProperty("name"))
                                 if (!$util.isString(message.name))
                                     return "name: string expected";
@@ -101238,9 +105296,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.SyncFlags} SyncFlags
                          */
-                        SyncFlags.fromObject = function fromObject(object) {
+                        SyncFlags.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.SyncFlags)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.SyncFlags();
                             if (object.name != null)
                                 message.name = String(object.name);
@@ -101324,7 +105386,7 @@
                         function InstanceReference(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -101409,9 +105471,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        InstanceReference.decode = function decode(reader, length, error) {
+                        InstanceReference.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.InstanceReference();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -101431,7 +105497,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -101462,9 +105528,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        InstanceReference.verify = function verify(message) {
+                        InstanceReference.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.name != null && message.hasOwnProperty("name"))
                                 if (!$util.isString(message.name))
                                     return "name: string expected";
@@ -101485,9 +105555,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.InstanceReference} InstanceReference
                          */
-                        InstanceReference.fromObject = function fromObject(object) {
+                        InstanceReference.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.InstanceReference)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.InstanceReference();
                             if (object.name != null)
                                 message.name = String(object.name);
@@ -101632,7 +105706,7 @@
                             this.dnsNames = [];
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -102277,9 +106351,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        DatabaseInstance.decode = function decode(reader, length, error) {
+                        DatabaseInstance.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.DatabaseInstance(), key, value;
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -102299,7 +106377,7 @@
                                         break;
                                     }
                                 case 4: {
-                                        message.settings = $root.google.cloud.sql.v1beta4.Settings.decode(reader, reader.uint32());
+                                        message.settings = $root.google.cloud.sql.v1beta4.Settings.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 5: {
@@ -102307,7 +106385,7 @@
                                         break;
                                     }
                                 case 6: {
-                                        message.failoverReplica = $root.google.cloud.sql.v1beta4.DatabaseInstance.SqlFailoverReplica.decode(reader, reader.uint32());
+                                        message.failoverReplica = $root.google.cloud.sql.v1beta4.DatabaseInstance.SqlFailoverReplica.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 7: {
@@ -102321,21 +106399,21 @@
                                         break;
                                     }
                                 case 9: {
-                                        message.maxDiskSize = $root.google.protobuf.Int64Value.decode(reader, reader.uint32());
+                                        message.maxDiskSize = $root.google.protobuf.Int64Value.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 10: {
-                                        message.currentDiskSize = $root.google.protobuf.Int64Value.decode(reader, reader.uint32());
+                                        message.currentDiskSize = $root.google.protobuf.Int64Value.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 11: {
                                         if (!(message.ipAddresses && message.ipAddresses.length))
                                             message.ipAddresses = [];
-                                        message.ipAddresses.push($root.google.cloud.sql.v1beta4.IpMapping.decode(reader, reader.uint32()));
+                                        message.ipAddresses.push($root.google.cloud.sql.v1beta4.IpMapping.decode(reader, reader.uint32(), undefined, long + 1));
                                         break;
                                     }
                                 case 12: {
-                                        message.serverCaCert = $root.google.cloud.sql.v1beta4.SslCert.decode(reader, reader.uint32());
+                                        message.serverCaCert = $root.google.cloud.sql.v1beta4.SslCert.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 13: {
@@ -102355,11 +106433,11 @@
                                         break;
                                     }
                                 case 17: {
-                                        message.onPremisesConfiguration = $root.google.cloud.sql.v1beta4.OnPremisesConfiguration.decode(reader, reader.uint32());
+                                        message.onPremisesConfiguration = $root.google.cloud.sql.v1beta4.OnPremisesConfiguration.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 18: {
-                                        message.replicaConfiguration = $root.google.cloud.sql.v1beta4.ReplicaConfiguration.decode(reader, reader.uint32());
+                                        message.replicaConfiguration = $root.google.cloud.sql.v1beta4.ReplicaConfiguration.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 19: {
@@ -102402,11 +106480,11 @@
                                         break;
                                     }
                                 case 26: {
-                                        message.diskEncryptionConfiguration = $root.google.cloud.sql.v1beta4.DiskEncryptionConfiguration.decode(reader, reader.uint32());
+                                        message.diskEncryptionConfiguration = $root.google.cloud.sql.v1beta4.DiskEncryptionConfiguration.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 27: {
-                                        message.diskEncryptionStatus = $root.google.cloud.sql.v1beta4.DiskEncryptionStatus.decode(reader, reader.uint32());
+                                        message.diskEncryptionStatus = $root.google.cloud.sql.v1beta4.DiskEncryptionStatus.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 29: {
@@ -102414,11 +106492,11 @@
                                         break;
                                     }
                                 case 30: {
-                                        message.scheduledMaintenance = $root.google.cloud.sql.v1beta4.DatabaseInstance.SqlScheduledMaintenance.decode(reader, reader.uint32());
+                                        message.scheduledMaintenance = $root.google.cloud.sql.v1beta4.DatabaseInstance.SqlScheduledMaintenance.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 35: {
-                                        message.satisfiesPzs = $root.google.protobuf.BoolValue.decode(reader, reader.uint32());
+                                        message.satisfiesPzs = $root.google.protobuf.BoolValue.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 40: {
@@ -102426,11 +106504,11 @@
                                         break;
                                     }
                                 case 38: {
-                                        message.outOfDiskReport = $root.google.cloud.sql.v1beta4.DatabaseInstance.SqlOutOfDiskReport.decode(reader, reader.uint32());
+                                        message.outOfDiskReport = $root.google.cloud.sql.v1beta4.DatabaseInstance.SqlOutOfDiskReport.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 39: {
-                                        message.createTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+                                        message.createTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 41: {
@@ -102446,7 +106524,7 @@
                                 case 45: {
                                         if (!(message.upgradableDatabaseVersions && message.upgradableDatabaseVersions.length))
                                             message.upgradableDatabaseVersions = [];
-                                        message.upgradableDatabaseVersions.push($root.google.cloud.sql.v1beta4.AvailableDatabaseVersion.decode(reader, reader.uint32()));
+                                        message.upgradableDatabaseVersions.push($root.google.cloud.sql.v1beta4.AvailableDatabaseVersion.decode(reader, reader.uint32(), undefined, long + 1));
                                         break;
                                     }
                                 case 47: {
@@ -102470,23 +106548,23 @@
                                         break;
                                     }
                                 case 54: {
-                                        message.replicationCluster = $root.google.cloud.sql.v1beta4.ReplicationCluster.decode(reader, reader.uint32());
+                                        message.replicationCluster = $root.google.cloud.sql.v1beta4.ReplicationCluster.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 55: {
-                                        message.geminiConfig = $root.google.cloud.sql.v1beta4.GeminiInstanceConfig.decode(reader, reader.uint32());
+                                        message.geminiConfig = $root.google.cloud.sql.v1beta4.GeminiInstanceConfig.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 56: {
-                                        message.satisfiesPzi = $root.google.protobuf.BoolValue.decode(reader, reader.uint32());
+                                        message.satisfiesPzi = $root.google.protobuf.BoolValue.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 57: {
-                                        message.switchTransactionLogsToCloudStorageEnabled = $root.google.protobuf.BoolValue.decode(reader, reader.uint32());
+                                        message.switchTransactionLogsToCloudStorageEnabled = $root.google.protobuf.BoolValue.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 59: {
-                                        message.includeReplicasForMajorVersionUpgrade = $root.google.protobuf.BoolValue.decode(reader, reader.uint32());
+                                        message.includeReplicasForMajorVersionUpgrade = $root.google.protobuf.BoolValue.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 60: {
@@ -102505,10 +106583,12 @@
                                                 value = reader.string();
                                                 break;
                                             default:
-                                                reader.skipType(tag2 & 7);
+                                                reader.skipType(tag2 & 7, long);
                                                 break;
                                             }
                                         }
+                                        if (key === "__proto__")
+                                            $util.makeProp(message.tags, key);
                                         message.tags[key] = value;
                                         break;
                                     }
@@ -102519,17 +106599,17 @@
                                 case 64: {
                                         if (!(message.nodes && message.nodes.length))
                                             message.nodes = [];
-                                        message.nodes.push($root.google.cloud.sql.v1beta4.DatabaseInstance.PoolNodeConfig.decode(reader, reader.uint32()));
+                                        message.nodes.push($root.google.cloud.sql.v1beta4.DatabaseInstance.PoolNodeConfig.decode(reader, reader.uint32(), undefined, long + 1));
                                         break;
                                     }
                                 case 67: {
                                         if (!(message.dnsNames && message.dnsNames.length))
                                             message.dnsNames = [];
-                                        message.dnsNames.push($root.google.cloud.sql.v1beta4.DnsNameMapping.decode(reader, reader.uint32()));
+                                        message.dnsNames.push($root.google.cloud.sql.v1beta4.DnsNameMapping.decode(reader, reader.uint32(), undefined, long + 1));
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -102560,9 +106640,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        DatabaseInstance.verify = function verify(message) {
+                        DatabaseInstance.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             var properties = {};
                             if (message.kind != null && message.hasOwnProperty("kind"))
                                 if (!$util.isString(message.kind))
@@ -102640,7 +106724,7 @@
                                     break;
                                 }
                             if (message.settings != null && message.hasOwnProperty("settings")) {
-                                var error = $root.google.cloud.sql.v1beta4.Settings.verify(message.settings);
+                                var error = $root.google.cloud.sql.v1beta4.Settings.verify(message.settings, long + 1);
                                 if (error)
                                     return "settings." + error;
                             }
@@ -102648,7 +106732,7 @@
                                 if (!$util.isString(message.etag))
                                     return "etag: string expected";
                             if (message.failoverReplica != null && message.hasOwnProperty("failoverReplica")) {
-                                var error = $root.google.cloud.sql.v1beta4.DatabaseInstance.SqlFailoverReplica.verify(message.failoverReplica);
+                                var error = $root.google.cloud.sql.v1beta4.DatabaseInstance.SqlFailoverReplica.verify(message.failoverReplica, long + 1);
                                 if (error)
                                     return "failoverReplica." + error;
                             }
@@ -102663,12 +106747,12 @@
                                         return "replicaNames: string[] expected";
                             }
                             if (message.maxDiskSize != null && message.hasOwnProperty("maxDiskSize")) {
-                                var error = $root.google.protobuf.Int64Value.verify(message.maxDiskSize);
+                                var error = $root.google.protobuf.Int64Value.verify(message.maxDiskSize, long + 1);
                                 if (error)
                                     return "maxDiskSize." + error;
                             }
                             if (message.currentDiskSize != null && message.hasOwnProperty("currentDiskSize")) {
-                                var error = $root.google.protobuf.Int64Value.verify(message.currentDiskSize);
+                                var error = $root.google.protobuf.Int64Value.verify(message.currentDiskSize, long + 1);
                                 if (error)
                                     return "currentDiskSize." + error;
                             }
@@ -102676,13 +106760,13 @@
                                 if (!Array.isArray(message.ipAddresses))
                                     return "ipAddresses: array expected";
                                 for (var i = 0; i < message.ipAddresses.length; ++i) {
-                                    var error = $root.google.cloud.sql.v1beta4.IpMapping.verify(message.ipAddresses[i]);
+                                    var error = $root.google.cloud.sql.v1beta4.IpMapping.verify(message.ipAddresses[i], long + 1);
                                     if (error)
                                         return "ipAddresses." + error;
                                 }
                             }
                             if (message.serverCaCert != null && message.hasOwnProperty("serverCaCert")) {
-                                var error = $root.google.cloud.sql.v1beta4.SslCert.verify(message.serverCaCert);
+                                var error = $root.google.cloud.sql.v1beta4.SslCert.verify(message.serverCaCert, long + 1);
                                 if (error)
                                     return "serverCaCert." + error;
                             }
@@ -102707,12 +106791,12 @@
                                 if (!$util.isString(message.serviceAccountEmailAddress))
                                     return "serviceAccountEmailAddress: string expected";
                             if (message.onPremisesConfiguration != null && message.hasOwnProperty("onPremisesConfiguration")) {
-                                var error = $root.google.cloud.sql.v1beta4.OnPremisesConfiguration.verify(message.onPremisesConfiguration);
+                                var error = $root.google.cloud.sql.v1beta4.OnPremisesConfiguration.verify(message.onPremisesConfiguration, long + 1);
                                 if (error)
                                     return "onPremisesConfiguration." + error;
                             }
                             if (message.replicaConfiguration != null && message.hasOwnProperty("replicaConfiguration")) {
-                                var error = $root.google.cloud.sql.v1beta4.ReplicaConfiguration.verify(message.replicaConfiguration);
+                                var error = $root.google.cloud.sql.v1beta4.ReplicaConfiguration.verify(message.replicaConfiguration, long + 1);
                                 if (error)
                                     return "replicaConfiguration." + error;
                             }
@@ -102760,12 +106844,12 @@
                                 if (!$util.isString(message.secondaryGceZone))
                                     return "secondaryGceZone: string expected";
                             if (message.diskEncryptionConfiguration != null && message.hasOwnProperty("diskEncryptionConfiguration")) {
-                                var error = $root.google.cloud.sql.v1beta4.DiskEncryptionConfiguration.verify(message.diskEncryptionConfiguration);
+                                var error = $root.google.cloud.sql.v1beta4.DiskEncryptionConfiguration.verify(message.diskEncryptionConfiguration, long + 1);
                                 if (error)
                                     return "diskEncryptionConfiguration." + error;
                             }
                             if (message.diskEncryptionStatus != null && message.hasOwnProperty("diskEncryptionStatus")) {
-                                var error = $root.google.cloud.sql.v1beta4.DiskEncryptionStatus.verify(message.diskEncryptionStatus);
+                                var error = $root.google.cloud.sql.v1beta4.DiskEncryptionStatus.verify(message.diskEncryptionStatus, long + 1);
                                 if (error)
                                     return "diskEncryptionStatus." + error;
                             }
@@ -102773,12 +106857,12 @@
                                 if (!$util.isString(message.rootPassword))
                                     return "rootPassword: string expected";
                             if (message.scheduledMaintenance != null && message.hasOwnProperty("scheduledMaintenance")) {
-                                var error = $root.google.cloud.sql.v1beta4.DatabaseInstance.SqlScheduledMaintenance.verify(message.scheduledMaintenance);
+                                var error = $root.google.cloud.sql.v1beta4.DatabaseInstance.SqlScheduledMaintenance.verify(message.scheduledMaintenance, long + 1);
                                 if (error)
                                     return "scheduledMaintenance." + error;
                             }
                             if (message.satisfiesPzs != null && message.hasOwnProperty("satisfiesPzs")) {
-                                var error = $root.google.protobuf.BoolValue.verify(message.satisfiesPzs);
+                                var error = $root.google.protobuf.BoolValue.verify(message.satisfiesPzs, long + 1);
                                 if (error)
                                     return "satisfiesPzs." + error;
                             }
@@ -102788,13 +106872,13 @@
                             if (message.outOfDiskReport != null && message.hasOwnProperty("outOfDiskReport")) {
                                 properties._outOfDiskReport = 1;
                                 {
-                                    var error = $root.google.cloud.sql.v1beta4.DatabaseInstance.SqlOutOfDiskReport.verify(message.outOfDiskReport);
+                                    var error = $root.google.cloud.sql.v1beta4.DatabaseInstance.SqlOutOfDiskReport.verify(message.outOfDiskReport, long + 1);
                                     if (error)
                                         return "outOfDiskReport." + error;
                                 }
                             }
                             if (message.createTime != null && message.hasOwnProperty("createTime")) {
-                                var error = $root.google.protobuf.Timestamp.verify(message.createTime);
+                                var error = $root.google.protobuf.Timestamp.verify(message.createTime, long + 1);
                                 if (error)
                                     return "createTime." + error;
                             }
@@ -102812,7 +106896,7 @@
                                 if (!Array.isArray(message.upgradableDatabaseVersions))
                                     return "upgradableDatabaseVersions: array expected";
                                 for (var i = 0; i < message.upgradableDatabaseVersions.length; ++i) {
-                                    var error = $root.google.cloud.sql.v1beta4.AvailableDatabaseVersion.verify(message.upgradableDatabaseVersions[i]);
+                                    var error = $root.google.cloud.sql.v1beta4.AvailableDatabaseVersion.verify(message.upgradableDatabaseVersions[i], long + 1);
                                     if (error)
                                         return "upgradableDatabaseVersions." + error;
                                 }
@@ -102851,7 +106935,7 @@
                             if (message.replicationCluster != null && message.hasOwnProperty("replicationCluster")) {
                                 properties._replicationCluster = 1;
                                 {
-                                    var error = $root.google.cloud.sql.v1beta4.ReplicationCluster.verify(message.replicationCluster);
+                                    var error = $root.google.cloud.sql.v1beta4.ReplicationCluster.verify(message.replicationCluster, long + 1);
                                     if (error)
                                         return "replicationCluster." + error;
                                 }
@@ -102859,20 +106943,20 @@
                             if (message.geminiConfig != null && message.hasOwnProperty("geminiConfig")) {
                                 properties._geminiConfig = 1;
                                 {
-                                    var error = $root.google.cloud.sql.v1beta4.GeminiInstanceConfig.verify(message.geminiConfig);
+                                    var error = $root.google.cloud.sql.v1beta4.GeminiInstanceConfig.verify(message.geminiConfig, long + 1);
                                     if (error)
                                         return "geminiConfig." + error;
                                 }
                             }
                             if (message.satisfiesPzi != null && message.hasOwnProperty("satisfiesPzi")) {
-                                var error = $root.google.protobuf.BoolValue.verify(message.satisfiesPzi);
+                                var error = $root.google.protobuf.BoolValue.verify(message.satisfiesPzi, long + 1);
                                 if (error)
                                     return "satisfiesPzi." + error;
                             }
                             if (message.switchTransactionLogsToCloudStorageEnabled != null && message.hasOwnProperty("switchTransactionLogsToCloudStorageEnabled")) {
                                 properties._switchTransactionLogsToCloudStorageEnabled = 1;
                                 {
-                                    var error = $root.google.protobuf.BoolValue.verify(message.switchTransactionLogsToCloudStorageEnabled);
+                                    var error = $root.google.protobuf.BoolValue.verify(message.switchTransactionLogsToCloudStorageEnabled, long + 1);
                                     if (error)
                                         return "switchTransactionLogsToCloudStorageEnabled." + error;
                                 }
@@ -102880,7 +106964,7 @@
                             if (message.includeReplicasForMajorVersionUpgrade != null && message.hasOwnProperty("includeReplicasForMajorVersionUpgrade")) {
                                 properties._includeReplicasForMajorVersionUpgrade = 1;
                                 {
-                                    var error = $root.google.protobuf.BoolValue.verify(message.includeReplicasForMajorVersionUpgrade);
+                                    var error = $root.google.protobuf.BoolValue.verify(message.includeReplicasForMajorVersionUpgrade, long + 1);
                                     if (error)
                                         return "includeReplicasForMajorVersionUpgrade." + error;
                                 }
@@ -102902,7 +106986,7 @@
                                 if (!Array.isArray(message.nodes))
                                     return "nodes: array expected";
                                 for (var i = 0; i < message.nodes.length; ++i) {
-                                    var error = $root.google.cloud.sql.v1beta4.DatabaseInstance.PoolNodeConfig.verify(message.nodes[i]);
+                                    var error = $root.google.cloud.sql.v1beta4.DatabaseInstance.PoolNodeConfig.verify(message.nodes[i], long + 1);
                                     if (error)
                                         return "nodes." + error;
                                 }
@@ -102911,7 +106995,7 @@
                                 if (!Array.isArray(message.dnsNames))
                                     return "dnsNames: array expected";
                                 for (var i = 0; i < message.dnsNames.length; ++i) {
-                                    var error = $root.google.cloud.sql.v1beta4.DnsNameMapping.verify(message.dnsNames[i]);
+                                    var error = $root.google.cloud.sql.v1beta4.DnsNameMapping.verify(message.dnsNames[i], long + 1);
                                     if (error)
                                         return "dnsNames." + error;
                                 }
@@ -102927,9 +107011,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.DatabaseInstance} DatabaseInstance
                          */
-                        DatabaseInstance.fromObject = function fromObject(object) {
+                        DatabaseInstance.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.DatabaseInstance)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.DatabaseInstance();
                             if (object.kind != null)
                                 message.kind = String(object.kind);
@@ -103192,14 +107280,14 @@
                             if (object.settings != null) {
                                 if (typeof object.settings !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.DatabaseInstance.settings: object expected");
-                                message.settings = $root.google.cloud.sql.v1beta4.Settings.fromObject(object.settings);
+                                message.settings = $root.google.cloud.sql.v1beta4.Settings.fromObject(object.settings, long + 1);
                             }
                             if (object.etag != null)
                                 message.etag = String(object.etag);
                             if (object.failoverReplica != null) {
                                 if (typeof object.failoverReplica !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.DatabaseInstance.failoverReplica: object expected");
-                                message.failoverReplica = $root.google.cloud.sql.v1beta4.DatabaseInstance.SqlFailoverReplica.fromObject(object.failoverReplica);
+                                message.failoverReplica = $root.google.cloud.sql.v1beta4.DatabaseInstance.SqlFailoverReplica.fromObject(object.failoverReplica, long + 1);
                             }
                             if (object.masterInstanceName != null)
                                 message.masterInstanceName = String(object.masterInstanceName);
@@ -103213,12 +107301,12 @@
                             if (object.maxDiskSize != null) {
                                 if (typeof object.maxDiskSize !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.DatabaseInstance.maxDiskSize: object expected");
-                                message.maxDiskSize = $root.google.protobuf.Int64Value.fromObject(object.maxDiskSize);
+                                message.maxDiskSize = $root.google.protobuf.Int64Value.fromObject(object.maxDiskSize, long + 1);
                             }
                             if (object.currentDiskSize != null) {
                                 if (typeof object.currentDiskSize !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.DatabaseInstance.currentDiskSize: object expected");
-                                message.currentDiskSize = $root.google.protobuf.Int64Value.fromObject(object.currentDiskSize);
+                                message.currentDiskSize = $root.google.protobuf.Int64Value.fromObject(object.currentDiskSize, long + 1);
                             }
                             if (object.ipAddresses) {
                                 if (!Array.isArray(object.ipAddresses))
@@ -103227,13 +107315,13 @@
                                 for (var i = 0; i < object.ipAddresses.length; ++i) {
                                     if (typeof object.ipAddresses[i] !== "object")
                                         throw TypeError(".google.cloud.sql.v1beta4.DatabaseInstance.ipAddresses: object expected");
-                                    message.ipAddresses[i] = $root.google.cloud.sql.v1beta4.IpMapping.fromObject(object.ipAddresses[i]);
+                                    message.ipAddresses[i] = $root.google.cloud.sql.v1beta4.IpMapping.fromObject(object.ipAddresses[i], long + 1);
                                 }
                             }
                             if (object.serverCaCert != null) {
                                 if (typeof object.serverCaCert !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.DatabaseInstance.serverCaCert: object expected");
-                                message.serverCaCert = $root.google.cloud.sql.v1beta4.SslCert.fromObject(object.serverCaCert);
+                                message.serverCaCert = $root.google.cloud.sql.v1beta4.SslCert.fromObject(object.serverCaCert, long + 1);
                             }
                             switch (object.instanceType) {
                             default:
@@ -103272,12 +107360,12 @@
                             if (object.onPremisesConfiguration != null) {
                                 if (typeof object.onPremisesConfiguration !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.DatabaseInstance.onPremisesConfiguration: object expected");
-                                message.onPremisesConfiguration = $root.google.cloud.sql.v1beta4.OnPremisesConfiguration.fromObject(object.onPremisesConfiguration);
+                                message.onPremisesConfiguration = $root.google.cloud.sql.v1beta4.OnPremisesConfiguration.fromObject(object.onPremisesConfiguration, long + 1);
                             }
                             if (object.replicaConfiguration != null) {
                                 if (typeof object.replicaConfiguration !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.DatabaseInstance.replicaConfiguration: object expected");
-                                message.replicaConfiguration = $root.google.cloud.sql.v1beta4.ReplicaConfiguration.fromObject(object.replicaConfiguration);
+                                message.replicaConfiguration = $root.google.cloud.sql.v1beta4.ReplicaConfiguration.fromObject(object.replicaConfiguration, long + 1);
                             }
                             switch (object.backendType) {
                             default:
@@ -103351,36 +107439,36 @@
                             if (object.diskEncryptionConfiguration != null) {
                                 if (typeof object.diskEncryptionConfiguration !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.DatabaseInstance.diskEncryptionConfiguration: object expected");
-                                message.diskEncryptionConfiguration = $root.google.cloud.sql.v1beta4.DiskEncryptionConfiguration.fromObject(object.diskEncryptionConfiguration);
+                                message.diskEncryptionConfiguration = $root.google.cloud.sql.v1beta4.DiskEncryptionConfiguration.fromObject(object.diskEncryptionConfiguration, long + 1);
                             }
                             if (object.diskEncryptionStatus != null) {
                                 if (typeof object.diskEncryptionStatus !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.DatabaseInstance.diskEncryptionStatus: object expected");
-                                message.diskEncryptionStatus = $root.google.cloud.sql.v1beta4.DiskEncryptionStatus.fromObject(object.diskEncryptionStatus);
+                                message.diskEncryptionStatus = $root.google.cloud.sql.v1beta4.DiskEncryptionStatus.fromObject(object.diskEncryptionStatus, long + 1);
                             }
                             if (object.rootPassword != null)
                                 message.rootPassword = String(object.rootPassword);
                             if (object.scheduledMaintenance != null) {
                                 if (typeof object.scheduledMaintenance !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.DatabaseInstance.scheduledMaintenance: object expected");
-                                message.scheduledMaintenance = $root.google.cloud.sql.v1beta4.DatabaseInstance.SqlScheduledMaintenance.fromObject(object.scheduledMaintenance);
+                                message.scheduledMaintenance = $root.google.cloud.sql.v1beta4.DatabaseInstance.SqlScheduledMaintenance.fromObject(object.scheduledMaintenance, long + 1);
                             }
                             if (object.satisfiesPzs != null) {
                                 if (typeof object.satisfiesPzs !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.DatabaseInstance.satisfiesPzs: object expected");
-                                message.satisfiesPzs = $root.google.protobuf.BoolValue.fromObject(object.satisfiesPzs);
+                                message.satisfiesPzs = $root.google.protobuf.BoolValue.fromObject(object.satisfiesPzs, long + 1);
                             }
                             if (object.databaseInstalledVersion != null)
                                 message.databaseInstalledVersion = String(object.databaseInstalledVersion);
                             if (object.outOfDiskReport != null) {
                                 if (typeof object.outOfDiskReport !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.DatabaseInstance.outOfDiskReport: object expected");
-                                message.outOfDiskReport = $root.google.cloud.sql.v1beta4.DatabaseInstance.SqlOutOfDiskReport.fromObject(object.outOfDiskReport);
+                                message.outOfDiskReport = $root.google.cloud.sql.v1beta4.DatabaseInstance.SqlOutOfDiskReport.fromObject(object.outOfDiskReport, long + 1);
                             }
                             if (object.createTime != null) {
                                 if (typeof object.createTime !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.DatabaseInstance.createTime: object expected");
-                                message.createTime = $root.google.protobuf.Timestamp.fromObject(object.createTime);
+                                message.createTime = $root.google.protobuf.Timestamp.fromObject(object.createTime, long + 1);
                             }
                             if (object.availableMaintenanceVersions) {
                                 if (!Array.isArray(object.availableMaintenanceVersions))
@@ -103398,7 +107486,7 @@
                                 for (var i = 0; i < object.upgradableDatabaseVersions.length; ++i) {
                                     if (typeof object.upgradableDatabaseVersions[i] !== "object")
                                         throw TypeError(".google.cloud.sql.v1beta4.DatabaseInstance.upgradableDatabaseVersions: object expected");
-                                    message.upgradableDatabaseVersions[i] = $root.google.cloud.sql.v1beta4.AvailableDatabaseVersion.fromObject(object.upgradableDatabaseVersions[i]);
+                                    message.upgradableDatabaseVersions[i] = $root.google.cloud.sql.v1beta4.AvailableDatabaseVersion.fromObject(object.upgradableDatabaseVersions[i], long + 1);
                                 }
                             }
                             switch (object.sqlNetworkArchitecture) {
@@ -103432,34 +107520,37 @@
                             if (object.replicationCluster != null) {
                                 if (typeof object.replicationCluster !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.DatabaseInstance.replicationCluster: object expected");
-                                message.replicationCluster = $root.google.cloud.sql.v1beta4.ReplicationCluster.fromObject(object.replicationCluster);
+                                message.replicationCluster = $root.google.cloud.sql.v1beta4.ReplicationCluster.fromObject(object.replicationCluster, long + 1);
                             }
                             if (object.geminiConfig != null) {
                                 if (typeof object.geminiConfig !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.DatabaseInstance.geminiConfig: object expected");
-                                message.geminiConfig = $root.google.cloud.sql.v1beta4.GeminiInstanceConfig.fromObject(object.geminiConfig);
+                                message.geminiConfig = $root.google.cloud.sql.v1beta4.GeminiInstanceConfig.fromObject(object.geminiConfig, long + 1);
                             }
                             if (object.satisfiesPzi != null) {
                                 if (typeof object.satisfiesPzi !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.DatabaseInstance.satisfiesPzi: object expected");
-                                message.satisfiesPzi = $root.google.protobuf.BoolValue.fromObject(object.satisfiesPzi);
+                                message.satisfiesPzi = $root.google.protobuf.BoolValue.fromObject(object.satisfiesPzi, long + 1);
                             }
                             if (object.switchTransactionLogsToCloudStorageEnabled != null) {
                                 if (typeof object.switchTransactionLogsToCloudStorageEnabled !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.DatabaseInstance.switchTransactionLogsToCloudStorageEnabled: object expected");
-                                message.switchTransactionLogsToCloudStorageEnabled = $root.google.protobuf.BoolValue.fromObject(object.switchTransactionLogsToCloudStorageEnabled);
+                                message.switchTransactionLogsToCloudStorageEnabled = $root.google.protobuf.BoolValue.fromObject(object.switchTransactionLogsToCloudStorageEnabled, long + 1);
                             }
                             if (object.includeReplicasForMajorVersionUpgrade != null) {
                                 if (typeof object.includeReplicasForMajorVersionUpgrade !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.DatabaseInstance.includeReplicasForMajorVersionUpgrade: object expected");
-                                message.includeReplicasForMajorVersionUpgrade = $root.google.protobuf.BoolValue.fromObject(object.includeReplicasForMajorVersionUpgrade);
+                                message.includeReplicasForMajorVersionUpgrade = $root.google.protobuf.BoolValue.fromObject(object.includeReplicasForMajorVersionUpgrade, long + 1);
                             }
                             if (object.tags) {
                                 if (typeof object.tags !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.DatabaseInstance.tags: object expected");
                                 message.tags = {};
-                                for (var keys = Object.keys(object.tags), i = 0; i < keys.length; ++i)
+                                for (var keys = Object.keys(object.tags), i = 0; i < keys.length; ++i) {
+                                    if (keys[i] === "__proto__")
+                                        $util.makeProp(message.tags, keys[i]);
                                     message.tags[keys[i]] = String(object.tags[keys[i]]);
+                                }
                             }
                             if (object.nodeCount != null)
                                 message.nodeCount = object.nodeCount | 0;
@@ -103470,7 +107561,7 @@
                                 for (var i = 0; i < object.nodes.length; ++i) {
                                     if (typeof object.nodes[i] !== "object")
                                         throw TypeError(".google.cloud.sql.v1beta4.DatabaseInstance.nodes: object expected");
-                                    message.nodes[i] = $root.google.cloud.sql.v1beta4.DatabaseInstance.PoolNodeConfig.fromObject(object.nodes[i]);
+                                    message.nodes[i] = $root.google.cloud.sql.v1beta4.DatabaseInstance.PoolNodeConfig.fromObject(object.nodes[i], long + 1);
                                 }
                             }
                             if (object.dnsNames) {
@@ -103480,7 +107571,7 @@
                                 for (var i = 0; i < object.dnsNames.length; ++i) {
                                     if (typeof object.dnsNames[i] !== "object")
                                         throw TypeError(".google.cloud.sql.v1beta4.DatabaseInstance.dnsNames: object expected");
-                                    message.dnsNames[i] = $root.google.cloud.sql.v1beta4.DnsNameMapping.fromObject(object.dnsNames[i]);
+                                    message.dnsNames[i] = $root.google.cloud.sql.v1beta4.DnsNameMapping.fromObject(object.dnsNames[i], long + 1);
                                 }
                             }
                             return message;
@@ -103686,8 +107777,11 @@
                             var keys2;
                             if (message.tags && (keys2 = Object.keys(message.tags)).length) {
                                 object.tags = {};
-                                for (var j = 0; j < keys2.length; ++j)
+                                for (var j = 0; j < keys2.length; ++j) {
+                                    if (keys2[j] === "__proto__")
+                                        $util.makeProp(object.tags, keys2[j]);
                                     object.tags[keys2[j]] = message.tags[keys2[j]];
+                                }
                             }
                             if (message.nodeCount != null && message.hasOwnProperty("nodeCount")) {
                                 object.nodeCount = message.nodeCount;
@@ -103782,7 +107876,7 @@
                             function SqlFailoverReplica(properties) {
                                 if (properties)
                                     for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                        if (properties[keys[i]] != null)
+                                        if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                             this[keys[i]] = properties[keys[i]];
                             }
     
@@ -103857,9 +107951,13 @@
                              * @throws {Error} If the payload is not a reader or valid buffer
                              * @throws {$protobuf.util.ProtocolError} If required fields are missing
                              */
-                            SqlFailoverReplica.decode = function decode(reader, length, error) {
+                            SqlFailoverReplica.decode = function decode(reader, length, error, long) {
                                 if (!(reader instanceof $Reader))
                                     reader = $Reader.create(reader);
+                                if (long === undefined)
+                                    long = 0;
+                                if (long > $Reader.recursionLimit)
+                                    throw Error("maximum nesting depth exceeded");
                                 var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.DatabaseInstance.SqlFailoverReplica();
                                 while (reader.pos < end) {
                                     var tag = reader.uint32();
@@ -103871,11 +107969,11 @@
                                             break;
                                         }
                                     case 2: {
-                                            message.available = $root.google.protobuf.BoolValue.decode(reader, reader.uint32());
+                                            message.available = $root.google.protobuf.BoolValue.decode(reader, reader.uint32(), undefined, long + 1);
                                             break;
                                         }
                                     default:
-                                        reader.skipType(tag & 7);
+                                        reader.skipType(tag & 7, long);
                                         break;
                                     }
                                 }
@@ -103906,14 +108004,18 @@
                              * @param {Object.<string,*>} message Plain object to verify
                              * @returns {string|null} `null` if valid, otherwise the reason why it is not
                              */
-                            SqlFailoverReplica.verify = function verify(message) {
+                            SqlFailoverReplica.verify = function verify(message, long) {
                                 if (typeof message !== "object" || message === null)
                                     return "object expected";
+                                if (long === undefined)
+                                    long = 0;
+                                if (long > $util.recursionLimit)
+                                    return "maximum nesting depth exceeded";
                                 if (message.name != null && message.hasOwnProperty("name"))
                                     if (!$util.isString(message.name))
                                         return "name: string expected";
                                 if (message.available != null && message.hasOwnProperty("available")) {
-                                    var error = $root.google.protobuf.BoolValue.verify(message.available);
+                                    var error = $root.google.protobuf.BoolValue.verify(message.available, long + 1);
                                     if (error)
                                         return "available." + error;
                                 }
@@ -103928,16 +108030,20 @@
                              * @param {Object.<string,*>} object Plain object
                              * @returns {google.cloud.sql.v1beta4.DatabaseInstance.SqlFailoverReplica} SqlFailoverReplica
                              */
-                            SqlFailoverReplica.fromObject = function fromObject(object) {
+                            SqlFailoverReplica.fromObject = function fromObject(object, long) {
                                 if (object instanceof $root.google.cloud.sql.v1beta4.DatabaseInstance.SqlFailoverReplica)
                                     return object;
+                                if (long === undefined)
+                                    long = 0;
+                                if (long > $util.recursionLimit)
+                                    throw Error("maximum nesting depth exceeded");
                                 var message = new $root.google.cloud.sql.v1beta4.DatabaseInstance.SqlFailoverReplica();
                                 if (object.name != null)
                                     message.name = String(object.name);
                                 if (object.available != null) {
                                     if (typeof object.available !== "object")
                                         throw TypeError(".google.cloud.sql.v1beta4.DatabaseInstance.SqlFailoverReplica.available: object expected");
-                                    message.available = $root.google.protobuf.BoolValue.fromObject(object.available);
+                                    message.available = $root.google.protobuf.BoolValue.fromObject(object.available, long + 1);
                                 }
                                 return message;
                             };
@@ -104018,7 +108124,7 @@
                             function SqlScheduledMaintenance(properties) {
                                 if (properties)
                                     for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                        if (properties[keys[i]] != null)
+                                        if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                             this[keys[i]] = properties[keys[i]];
                             }
     
@@ -104122,9 +108228,13 @@
                              * @throws {Error} If the payload is not a reader or valid buffer
                              * @throws {$protobuf.util.ProtocolError} If required fields are missing
                              */
-                            SqlScheduledMaintenance.decode = function decode(reader, length, error) {
+                            SqlScheduledMaintenance.decode = function decode(reader, length, error, long) {
                                 if (!(reader instanceof $Reader))
                                     reader = $Reader.create(reader);
+                                if (long === undefined)
+                                    long = 0;
+                                if (long > $Reader.recursionLimit)
+                                    throw Error("maximum nesting depth exceeded");
                                 var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.DatabaseInstance.SqlScheduledMaintenance();
                                 while (reader.pos < end) {
                                     var tag = reader.uint32();
@@ -104132,7 +108242,7 @@
                                         break;
                                     switch (tag >>> 3) {
                                     case 1: {
-                                            message.startTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+                                            message.startTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1);
                                             break;
                                         }
                                     case 2: {
@@ -104144,11 +108254,11 @@
                                             break;
                                         }
                                     case 4: {
-                                            message.scheduleDeadlineTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+                                            message.scheduleDeadlineTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1);
                                             break;
                                         }
                                     default:
-                                        reader.skipType(tag & 7);
+                                        reader.skipType(tag & 7, long);
                                         break;
                                     }
                                 }
@@ -104179,12 +108289,16 @@
                              * @param {Object.<string,*>} message Plain object to verify
                              * @returns {string|null} `null` if valid, otherwise the reason why it is not
                              */
-                            SqlScheduledMaintenance.verify = function verify(message) {
+                            SqlScheduledMaintenance.verify = function verify(message, long) {
                                 if (typeof message !== "object" || message === null)
                                     return "object expected";
+                                if (long === undefined)
+                                    long = 0;
+                                if (long > $util.recursionLimit)
+                                    return "maximum nesting depth exceeded";
                                 var properties = {};
                                 if (message.startTime != null && message.hasOwnProperty("startTime")) {
-                                    var error = $root.google.protobuf.Timestamp.verify(message.startTime);
+                                    var error = $root.google.protobuf.Timestamp.verify(message.startTime, long + 1);
                                     if (error)
                                         return "startTime." + error;
                                 }
@@ -104197,7 +108311,7 @@
                                 if (message.scheduleDeadlineTime != null && message.hasOwnProperty("scheduleDeadlineTime")) {
                                     properties._scheduleDeadlineTime = 1;
                                     {
-                                        var error = $root.google.protobuf.Timestamp.verify(message.scheduleDeadlineTime);
+                                        var error = $root.google.protobuf.Timestamp.verify(message.scheduleDeadlineTime, long + 1);
                                         if (error)
                                             return "scheduleDeadlineTime." + error;
                                     }
@@ -104213,14 +108327,18 @@
                              * @param {Object.<string,*>} object Plain object
                              * @returns {google.cloud.sql.v1beta4.DatabaseInstance.SqlScheduledMaintenance} SqlScheduledMaintenance
                              */
-                            SqlScheduledMaintenance.fromObject = function fromObject(object) {
+                            SqlScheduledMaintenance.fromObject = function fromObject(object, long) {
                                 if (object instanceof $root.google.cloud.sql.v1beta4.DatabaseInstance.SqlScheduledMaintenance)
                                     return object;
+                                if (long === undefined)
+                                    long = 0;
+                                if (long > $util.recursionLimit)
+                                    throw Error("maximum nesting depth exceeded");
                                 var message = new $root.google.cloud.sql.v1beta4.DatabaseInstance.SqlScheduledMaintenance();
                                 if (object.startTime != null) {
                                     if (typeof object.startTime !== "object")
                                         throw TypeError(".google.cloud.sql.v1beta4.DatabaseInstance.SqlScheduledMaintenance.startTime: object expected");
-                                    message.startTime = $root.google.protobuf.Timestamp.fromObject(object.startTime);
+                                    message.startTime = $root.google.protobuf.Timestamp.fromObject(object.startTime, long + 1);
                                 }
                                 if (object.canDefer != null)
                                     message.canDefer = Boolean(object.canDefer);
@@ -104229,7 +108347,7 @@
                                 if (object.scheduleDeadlineTime != null) {
                                     if (typeof object.scheduleDeadlineTime !== "object")
                                         throw TypeError(".google.cloud.sql.v1beta4.DatabaseInstance.SqlScheduledMaintenance.scheduleDeadlineTime: object expected");
-                                    message.scheduleDeadlineTime = $root.google.protobuf.Timestamp.fromObject(object.scheduleDeadlineTime);
+                                    message.scheduleDeadlineTime = $root.google.protobuf.Timestamp.fromObject(object.scheduleDeadlineTime, long + 1);
                                 }
                                 return message;
                             };
@@ -104316,7 +108434,7 @@
                             function SqlOutOfDiskReport(properties) {
                                 if (properties)
                                     for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                        if (properties[keys[i]] != null)
+                                        if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                             this[keys[i]] = properties[keys[i]];
                             }
     
@@ -104406,9 +108524,13 @@
                              * @throws {Error} If the payload is not a reader or valid buffer
                              * @throws {$protobuf.util.ProtocolError} If required fields are missing
                              */
-                            SqlOutOfDiskReport.decode = function decode(reader, length, error) {
+                            SqlOutOfDiskReport.decode = function decode(reader, length, error, long) {
                                 if (!(reader instanceof $Reader))
                                     reader = $Reader.create(reader);
+                                if (long === undefined)
+                                    long = 0;
+                                if (long > $Reader.recursionLimit)
+                                    throw Error("maximum nesting depth exceeded");
                                 var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.DatabaseInstance.SqlOutOfDiskReport();
                                 while (reader.pos < end) {
                                     var tag = reader.uint32();
@@ -104424,7 +108546,7 @@
                                             break;
                                         }
                                     default:
-                                        reader.skipType(tag & 7);
+                                        reader.skipType(tag & 7, long);
                                         break;
                                     }
                                 }
@@ -104455,9 +108577,13 @@
                              * @param {Object.<string,*>} message Plain object to verify
                              * @returns {string|null} `null` if valid, otherwise the reason why it is not
                              */
-                            SqlOutOfDiskReport.verify = function verify(message) {
+                            SqlOutOfDiskReport.verify = function verify(message, long) {
                                 if (typeof message !== "object" || message === null)
                                     return "object expected";
+                                if (long === undefined)
+                                    long = 0;
+                                if (long > $util.recursionLimit)
+                                    return "maximum nesting depth exceeded";
                                 var properties = {};
                                 if (message.sqlOutOfDiskState != null && message.hasOwnProperty("sqlOutOfDiskState")) {
                                     properties._sqlOutOfDiskState = 1;
@@ -104486,9 +108612,13 @@
                              * @param {Object.<string,*>} object Plain object
                              * @returns {google.cloud.sql.v1beta4.DatabaseInstance.SqlOutOfDiskReport} SqlOutOfDiskReport
                              */
-                            SqlOutOfDiskReport.fromObject = function fromObject(object) {
+                            SqlOutOfDiskReport.fromObject = function fromObject(object, long) {
                                 if (object instanceof $root.google.cloud.sql.v1beta4.DatabaseInstance.SqlOutOfDiskReport)
                                     return object;
+                                if (long === undefined)
+                                    long = 0;
+                                if (long > $util.recursionLimit)
+                                    throw Error("maximum nesting depth exceeded");
                                 var message = new $root.google.cloud.sql.v1beta4.DatabaseInstance.SqlOutOfDiskReport();
                                 switch (object.sqlOutOfDiskState) {
                                 default:
@@ -104632,7 +108762,7 @@
                                 this.pscAutoConnections = [];
                                 if (properties)
                                     for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                        if (properties[keys[i]] != null)
+                                        if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                             this[keys[i]] = properties[keys[i]];
                             }
     
@@ -104803,9 +108933,13 @@
                              * @throws {Error} If the payload is not a reader or valid buffer
                              * @throws {$protobuf.util.ProtocolError} If required fields are missing
                              */
-                            PoolNodeConfig.decode = function decode(reader, length, error) {
+                            PoolNodeConfig.decode = function decode(reader, length, error, long) {
                                 if (!(reader instanceof $Reader))
                                     reader = $Reader.create(reader);
+                                if (long === undefined)
+                                    long = 0;
+                                if (long > $Reader.recursionLimit)
+                                    throw Error("maximum nesting depth exceeded");
                                 var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.DatabaseInstance.PoolNodeConfig();
                                 while (reader.pos < end) {
                                     var tag = reader.uint32();
@@ -104823,7 +108957,7 @@
                                     case 3: {
                                             if (!(message.ipAddresses && message.ipAddresses.length))
                                                 message.ipAddresses = [];
-                                            message.ipAddresses.push($root.google.cloud.sql.v1beta4.IpMapping.decode(reader, reader.uint32()));
+                                            message.ipAddresses.push($root.google.cloud.sql.v1beta4.IpMapping.decode(reader, reader.uint32(), undefined, long + 1));
                                             break;
                                         }
                                     case 4: {
@@ -104837,7 +108971,7 @@
                                     case 6: {
                                             if (!(message.dnsNames && message.dnsNames.length))
                                                 message.dnsNames = [];
-                                            message.dnsNames.push($root.google.cloud.sql.v1beta4.DnsNameMapping.decode(reader, reader.uint32()));
+                                            message.dnsNames.push($root.google.cloud.sql.v1beta4.DnsNameMapping.decode(reader, reader.uint32(), undefined, long + 1));
                                             break;
                                         }
                                     case 7: {
@@ -104847,11 +108981,11 @@
                                     case 8: {
                                             if (!(message.pscAutoConnections && message.pscAutoConnections.length))
                                                 message.pscAutoConnections = [];
-                                            message.pscAutoConnections.push($root.google.cloud.sql.v1beta4.PscAutoConnectionConfig.decode(reader, reader.uint32()));
+                                            message.pscAutoConnections.push($root.google.cloud.sql.v1beta4.PscAutoConnectionConfig.decode(reader, reader.uint32(), undefined, long + 1));
                                             break;
                                         }
                                     default:
-                                        reader.skipType(tag & 7);
+                                        reader.skipType(tag & 7, long);
                                         break;
                                     }
                                 }
@@ -104882,9 +109016,13 @@
                              * @param {Object.<string,*>} message Plain object to verify
                              * @returns {string|null} `null` if valid, otherwise the reason why it is not
                              */
-                            PoolNodeConfig.verify = function verify(message) {
+                            PoolNodeConfig.verify = function verify(message, long) {
                                 if (typeof message !== "object" || message === null)
                                     return "object expected";
+                                if (long === undefined)
+                                    long = 0;
+                                if (long > $util.recursionLimit)
+                                    return "maximum nesting depth exceeded";
                                 var properties = {};
                                 if (message.name != null && message.hasOwnProperty("name")) {
                                     properties._name = 1;
@@ -104900,7 +109038,7 @@
                                     if (!Array.isArray(message.ipAddresses))
                                         return "ipAddresses: array expected";
                                     for (var i = 0; i < message.ipAddresses.length; ++i) {
-                                        var error = $root.google.cloud.sql.v1beta4.IpMapping.verify(message.ipAddresses[i]);
+                                        var error = $root.google.cloud.sql.v1beta4.IpMapping.verify(message.ipAddresses[i], long + 1);
                                         if (error)
                                             return "ipAddresses." + error;
                                     }
@@ -104931,7 +109069,7 @@
                                     if (!Array.isArray(message.dnsNames))
                                         return "dnsNames: array expected";
                                     for (var i = 0; i < message.dnsNames.length; ++i) {
-                                        var error = $root.google.cloud.sql.v1beta4.DnsNameMapping.verify(message.dnsNames[i]);
+                                        var error = $root.google.cloud.sql.v1beta4.DnsNameMapping.verify(message.dnsNames[i], long + 1);
                                         if (error)
                                             return "dnsNames." + error;
                                     }
@@ -104945,7 +109083,7 @@
                                     if (!Array.isArray(message.pscAutoConnections))
                                         return "pscAutoConnections: array expected";
                                     for (var i = 0; i < message.pscAutoConnections.length; ++i) {
-                                        var error = $root.google.cloud.sql.v1beta4.PscAutoConnectionConfig.verify(message.pscAutoConnections[i]);
+                                        var error = $root.google.cloud.sql.v1beta4.PscAutoConnectionConfig.verify(message.pscAutoConnections[i], long + 1);
                                         if (error)
                                             return "pscAutoConnections." + error;
                                     }
@@ -104961,9 +109099,13 @@
                              * @param {Object.<string,*>} object Plain object
                              * @returns {google.cloud.sql.v1beta4.DatabaseInstance.PoolNodeConfig} PoolNodeConfig
                              */
-                            PoolNodeConfig.fromObject = function fromObject(object) {
+                            PoolNodeConfig.fromObject = function fromObject(object, long) {
                                 if (object instanceof $root.google.cloud.sql.v1beta4.DatabaseInstance.PoolNodeConfig)
                                     return object;
+                                if (long === undefined)
+                                    long = 0;
+                                if (long > $util.recursionLimit)
+                                    throw Error("maximum nesting depth exceeded");
                                 var message = new $root.google.cloud.sql.v1beta4.DatabaseInstance.PoolNodeConfig();
                                 if (object.name != null)
                                     message.name = String(object.name);
@@ -104976,7 +109118,7 @@
                                     for (var i = 0; i < object.ipAddresses.length; ++i) {
                                         if (typeof object.ipAddresses[i] !== "object")
                                             throw TypeError(".google.cloud.sql.v1beta4.DatabaseInstance.PoolNodeConfig.ipAddresses: object expected");
-                                        message.ipAddresses[i] = $root.google.cloud.sql.v1beta4.IpMapping.fromObject(object.ipAddresses[i]);
+                                        message.ipAddresses[i] = $root.google.cloud.sql.v1beta4.IpMapping.fromObject(object.ipAddresses[i], long + 1);
                                     }
                                 }
                                 if (object.dnsName != null)
@@ -105032,7 +109174,7 @@
                                     for (var i = 0; i < object.dnsNames.length; ++i) {
                                         if (typeof object.dnsNames[i] !== "object")
                                             throw TypeError(".google.cloud.sql.v1beta4.DatabaseInstance.PoolNodeConfig.dnsNames: object expected");
-                                        message.dnsNames[i] = $root.google.cloud.sql.v1beta4.DnsNameMapping.fromObject(object.dnsNames[i]);
+                                        message.dnsNames[i] = $root.google.cloud.sql.v1beta4.DnsNameMapping.fromObject(object.dnsNames[i], long + 1);
                                     }
                                 }
                                 if (object.pscServiceAttachmentLink != null)
@@ -105044,7 +109186,7 @@
                                     for (var i = 0; i < object.pscAutoConnections.length; ++i) {
                                         if (typeof object.pscAutoConnections[i] !== "object")
                                             throw TypeError(".google.cloud.sql.v1beta4.DatabaseInstance.PoolNodeConfig.pscAutoConnections: object expected");
-                                        message.pscAutoConnections[i] = $root.google.cloud.sql.v1beta4.PscAutoConnectionConfig.fromObject(object.pscAutoConnections[i]);
+                                        message.pscAutoConnections[i] = $root.google.cloud.sql.v1beta4.PscAutoConnectionConfig.fromObject(object.pscAutoConnections[i], long + 1);
                                     }
                                 }
                                 return message;
@@ -105166,7 +109308,7 @@
                         function DnsNameMapping(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -105261,9 +109403,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        DnsNameMapping.decode = function decode(reader, length, error) {
+                        DnsNameMapping.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.DnsNameMapping();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -105287,7 +109433,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -105318,9 +109464,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        DnsNameMapping.verify = function verify(message) {
+                        DnsNameMapping.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.name != null && message.hasOwnProperty("name"))
                                 if (!$util.isString(message.name))
                                     return "name: string expected";
@@ -105363,9 +109513,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.DnsNameMapping} DnsNameMapping
                          */
-                        DnsNameMapping.fromObject = function fromObject(object) {
+                        DnsNameMapping.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.DnsNameMapping)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.DnsNameMapping();
                             if (object.name != null)
                                 message.name = String(object.name);
@@ -105570,7 +109724,7 @@
                         function GeminiInstanceConfig(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -105724,9 +109878,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        GeminiInstanceConfig.decode = function decode(reader, length, error) {
+                        GeminiInstanceConfig.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.GeminiInstanceConfig();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -105758,7 +109916,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -105789,9 +109947,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        GeminiInstanceConfig.verify = function verify(message) {
+                        GeminiInstanceConfig.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             var properties = {};
                             if (message.entitled != null && message.hasOwnProperty("entitled")) {
                                 properties._entitled = 1;
@@ -105834,9 +109996,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.GeminiInstanceConfig} GeminiInstanceConfig
                          */
-                        GeminiInstanceConfig.fromObject = function fromObject(object) {
+                        GeminiInstanceConfig.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.GeminiInstanceConfig)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.GeminiInstanceConfig();
                             if (object.entitled != null)
                                 message.entitled = Boolean(object.entitled);
@@ -105950,7 +110116,7 @@
                         function ReplicationCluster(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -106056,9 +110222,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        ReplicationCluster.decode = function decode(reader, length, error) {
+                        ReplicationCluster.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.ReplicationCluster();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -106078,7 +110248,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -106109,9 +110279,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        ReplicationCluster.verify = function verify(message) {
+                        ReplicationCluster.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             var properties = {};
                             if (message.psaWriteEndpoint != null && message.hasOwnProperty("psaWriteEndpoint")) {
                                 properties._psaWriteEndpoint = 1;
@@ -106139,9 +110313,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.ReplicationCluster} ReplicationCluster
                          */
-                        ReplicationCluster.fromObject = function fromObject(object) {
+                        ReplicationCluster.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.ReplicationCluster)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.ReplicationCluster();
                             if (object.psaWriteEndpoint != null)
                                 message.psaWriteEndpoint = String(object.psaWriteEndpoint);
@@ -106234,7 +110412,7 @@
                         function AvailableDatabaseVersion(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -106340,9 +110518,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        AvailableDatabaseVersion.decode = function decode(reader, length, error) {
+                        AvailableDatabaseVersion.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.AvailableDatabaseVersion();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -106362,7 +110544,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -106393,9 +110575,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        AvailableDatabaseVersion.verify = function verify(message) {
+                        AvailableDatabaseVersion.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             var properties = {};
                             if (message.majorVersion != null && message.hasOwnProperty("majorVersion")) {
                                 properties._majorVersion = 1;
@@ -106423,9 +110609,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.AvailableDatabaseVersion} AvailableDatabaseVersion
                          */
-                        AvailableDatabaseVersion.fromObject = function fromObject(object) {
+                        AvailableDatabaseVersion.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.AvailableDatabaseVersion)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.AvailableDatabaseVersion();
                             if (object.majorVersion != null)
                                 message.majorVersion = String(object.majorVersion);
@@ -106518,7 +110708,7 @@
                             this.items = [];
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -106594,9 +110784,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        DatabasesListResponse.decode = function decode(reader, length, error) {
+                        DatabasesListResponse.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.DatabasesListResponse();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -106610,11 +110804,11 @@
                                 case 2: {
                                         if (!(message.items && message.items.length))
                                             message.items = [];
-                                        message.items.push($root.google.cloud.sql.v1beta4.Database.decode(reader, reader.uint32()));
+                                        message.items.push($root.google.cloud.sql.v1beta4.Database.decode(reader, reader.uint32(), undefined, long + 1));
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -106645,9 +110839,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        DatabasesListResponse.verify = function verify(message) {
+                        DatabasesListResponse.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.kind != null && message.hasOwnProperty("kind"))
                                 if (!$util.isString(message.kind))
                                     return "kind: string expected";
@@ -106655,7 +110853,7 @@
                                 if (!Array.isArray(message.items))
                                     return "items: array expected";
                                 for (var i = 0; i < message.items.length; ++i) {
-                                    var error = $root.google.cloud.sql.v1beta4.Database.verify(message.items[i]);
+                                    var error = $root.google.cloud.sql.v1beta4.Database.verify(message.items[i], long + 1);
                                     if (error)
                                         return "items." + error;
                                 }
@@ -106671,9 +110869,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.DatabasesListResponse} DatabasesListResponse
                          */
-                        DatabasesListResponse.fromObject = function fromObject(object) {
+                        DatabasesListResponse.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.DatabasesListResponse)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.DatabasesListResponse();
                             if (object.kind != null)
                                 message.kind = String(object.kind);
@@ -106684,7 +110886,7 @@
                                 for (var i = 0; i < object.items.length; ++i) {
                                     if (typeof object.items[i] !== "object")
                                         throw TypeError(".google.cloud.sql.v1beta4.DatabasesListResponse.items: object expected");
-                                    message.items[i] = $root.google.cloud.sql.v1beta4.Database.fromObject(object.items[i]);
+                                    message.items[i] = $root.google.cloud.sql.v1beta4.Database.fromObject(object.items[i], long + 1);
                                 }
                             }
                             return message;
@@ -106767,7 +110969,7 @@
                         function DemoteMasterConfiguration(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -106842,9 +111044,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        DemoteMasterConfiguration.decode = function decode(reader, length, error) {
+                        DemoteMasterConfiguration.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.DemoteMasterConfiguration();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -106856,11 +111062,11 @@
                                         break;
                                     }
                                 case 2: {
-                                        message.mysqlReplicaConfiguration = $root.google.cloud.sql.v1beta4.DemoteMasterMySqlReplicaConfiguration.decode(reader, reader.uint32());
+                                        message.mysqlReplicaConfiguration = $root.google.cloud.sql.v1beta4.DemoteMasterMySqlReplicaConfiguration.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -106891,14 +111097,18 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        DemoteMasterConfiguration.verify = function verify(message) {
+                        DemoteMasterConfiguration.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.kind != null && message.hasOwnProperty("kind"))
                                 if (!$util.isString(message.kind))
                                     return "kind: string expected";
                             if (message.mysqlReplicaConfiguration != null && message.hasOwnProperty("mysqlReplicaConfiguration")) {
-                                var error = $root.google.cloud.sql.v1beta4.DemoteMasterMySqlReplicaConfiguration.verify(message.mysqlReplicaConfiguration);
+                                var error = $root.google.cloud.sql.v1beta4.DemoteMasterMySqlReplicaConfiguration.verify(message.mysqlReplicaConfiguration, long + 1);
                                 if (error)
                                     return "mysqlReplicaConfiguration." + error;
                             }
@@ -106913,16 +111123,20 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.DemoteMasterConfiguration} DemoteMasterConfiguration
                          */
-                        DemoteMasterConfiguration.fromObject = function fromObject(object) {
+                        DemoteMasterConfiguration.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.DemoteMasterConfiguration)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.DemoteMasterConfiguration();
                             if (object.kind != null)
                                 message.kind = String(object.kind);
                             if (object.mysqlReplicaConfiguration != null) {
                                 if (typeof object.mysqlReplicaConfiguration !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.DemoteMasterConfiguration.mysqlReplicaConfiguration: object expected");
-                                message.mysqlReplicaConfiguration = $root.google.cloud.sql.v1beta4.DemoteMasterMySqlReplicaConfiguration.fromObject(object.mysqlReplicaConfiguration);
+                                message.mysqlReplicaConfiguration = $root.google.cloud.sql.v1beta4.DemoteMasterMySqlReplicaConfiguration.fromObject(object.mysqlReplicaConfiguration, long + 1);
                             }
                             return message;
                         };
@@ -107004,7 +111218,7 @@
                         function DemoteMasterContext(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -107109,9 +111323,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        DemoteMasterContext.decode = function decode(reader, length, error) {
+                        DemoteMasterContext.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.DemoteMasterContext();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -107123,7 +111341,7 @@
                                         break;
                                     }
                                 case 2: {
-                                        message.verifyGtidConsistency = $root.google.protobuf.BoolValue.decode(reader, reader.uint32());
+                                        message.verifyGtidConsistency = $root.google.protobuf.BoolValue.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 3: {
@@ -107131,7 +111349,7 @@
                                         break;
                                     }
                                 case 4: {
-                                        message.replicaConfiguration = $root.google.cloud.sql.v1beta4.DemoteMasterConfiguration.decode(reader, reader.uint32());
+                                        message.replicaConfiguration = $root.google.cloud.sql.v1beta4.DemoteMasterConfiguration.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 5: {
@@ -107139,7 +111357,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -107170,14 +111388,18 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        DemoteMasterContext.verify = function verify(message) {
+                        DemoteMasterContext.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.kind != null && message.hasOwnProperty("kind"))
                                 if (!$util.isString(message.kind))
                                     return "kind: string expected";
                             if (message.verifyGtidConsistency != null && message.hasOwnProperty("verifyGtidConsistency")) {
-                                var error = $root.google.protobuf.BoolValue.verify(message.verifyGtidConsistency);
+                                var error = $root.google.protobuf.BoolValue.verify(message.verifyGtidConsistency, long + 1);
                                 if (error)
                                     return "verifyGtidConsistency." + error;
                             }
@@ -107185,7 +111407,7 @@
                                 if (!$util.isString(message.masterInstanceName))
                                     return "masterInstanceName: string expected";
                             if (message.replicaConfiguration != null && message.hasOwnProperty("replicaConfiguration")) {
-                                var error = $root.google.cloud.sql.v1beta4.DemoteMasterConfiguration.verify(message.replicaConfiguration);
+                                var error = $root.google.cloud.sql.v1beta4.DemoteMasterConfiguration.verify(message.replicaConfiguration, long + 1);
                                 if (error)
                                     return "replicaConfiguration." + error;
                             }
@@ -107203,23 +111425,27 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.DemoteMasterContext} DemoteMasterContext
                          */
-                        DemoteMasterContext.fromObject = function fromObject(object) {
+                        DemoteMasterContext.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.DemoteMasterContext)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.DemoteMasterContext();
                             if (object.kind != null)
                                 message.kind = String(object.kind);
                             if (object.verifyGtidConsistency != null) {
                                 if (typeof object.verifyGtidConsistency !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.DemoteMasterContext.verifyGtidConsistency: object expected");
-                                message.verifyGtidConsistency = $root.google.protobuf.BoolValue.fromObject(object.verifyGtidConsistency);
+                                message.verifyGtidConsistency = $root.google.protobuf.BoolValue.fromObject(object.verifyGtidConsistency, long + 1);
                             }
                             if (object.masterInstanceName != null)
                                 message.masterInstanceName = String(object.masterInstanceName);
                             if (object.replicaConfiguration != null) {
                                 if (typeof object.replicaConfiguration !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.DemoteMasterContext.replicaConfiguration: object expected");
-                                message.replicaConfiguration = $root.google.cloud.sql.v1beta4.DemoteMasterConfiguration.fromObject(object.replicaConfiguration);
+                                message.replicaConfiguration = $root.google.cloud.sql.v1beta4.DemoteMasterConfiguration.fromObject(object.replicaConfiguration, long + 1);
                             }
                             if (object.skipReplicationSetup != null)
                                 message.skipReplicationSetup = Boolean(object.skipReplicationSetup);
@@ -107313,7 +111539,7 @@
                         function DemoteMasterMySqlReplicaConfiguration(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -107428,9 +111654,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        DemoteMasterMySqlReplicaConfiguration.decode = function decode(reader, length, error) {
+                        DemoteMasterMySqlReplicaConfiguration.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.DemoteMasterMySqlReplicaConfiguration();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -107462,7 +111692,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -107493,9 +111723,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        DemoteMasterMySqlReplicaConfiguration.verify = function verify(message) {
+                        DemoteMasterMySqlReplicaConfiguration.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.kind != null && message.hasOwnProperty("kind"))
                                 if (!$util.isString(message.kind))
                                     return "kind: string expected";
@@ -107525,9 +111759,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.DemoteMasterMySqlReplicaConfiguration} DemoteMasterMySqlReplicaConfiguration
                          */
-                        DemoteMasterMySqlReplicaConfiguration.fromObject = function fromObject(object) {
+                        DemoteMasterMySqlReplicaConfiguration.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.DemoteMasterMySqlReplicaConfiguration)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.DemoteMasterMySqlReplicaConfiguration();
                             if (object.kind != null)
                                 message.kind = String(object.kind);
@@ -107630,7 +111868,7 @@
                         function DemoteContext(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -107705,9 +111943,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        DemoteContext.decode = function decode(reader, length, error) {
+                        DemoteContext.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.DemoteContext();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -107723,7 +111965,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -107754,9 +111996,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        DemoteContext.verify = function verify(message) {
+                        DemoteContext.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.kind != null && message.hasOwnProperty("kind"))
                                 if (!$util.isString(message.kind))
                                     return "kind: string expected";
@@ -107774,9 +112020,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.DemoteContext} DemoteContext
                          */
-                        DemoteContext.fromObject = function fromObject(object) {
+                        DemoteContext.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.DemoteContext)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.DemoteContext();
                             if (object.kind != null)
                                 message.kind = String(object.kind);
@@ -107887,7 +112137,7 @@
                             this.databases = [];
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -108033,9 +112283,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        ExportContext.decode = function decode(reader, length, error) {
+                        ExportContext.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.ExportContext();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -108057,11 +112311,11 @@
                                         break;
                                     }
                                 case 4: {
-                                        message.sqlExportOptions = $root.google.cloud.sql.v1beta4.ExportContext.SqlExportOptions.decode(reader, reader.uint32());
+                                        message.sqlExportOptions = $root.google.cloud.sql.v1beta4.ExportContext.SqlExportOptions.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 5: {
-                                        message.csvExportOptions = $root.google.cloud.sql.v1beta4.ExportContext.SqlCsvExportOptions.decode(reader, reader.uint32());
+                                        message.csvExportOptions = $root.google.cloud.sql.v1beta4.ExportContext.SqlCsvExportOptions.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 6: {
@@ -108069,19 +112323,19 @@
                                         break;
                                     }
                                 case 8: {
-                                        message.offload = $root.google.protobuf.BoolValue.decode(reader, reader.uint32());
+                                        message.offload = $root.google.protobuf.BoolValue.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 9: {
-                                        message.bakExportOptions = $root.google.cloud.sql.v1beta4.ExportContext.SqlBakExportOptions.decode(reader, reader.uint32());
+                                        message.bakExportOptions = $root.google.cloud.sql.v1beta4.ExportContext.SqlBakExportOptions.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 10: {
-                                        message.tdeExportOptions = $root.google.cloud.sql.v1beta4.ExportContext.SqlTdeExportOptions.decode(reader, reader.uint32());
+                                        message.tdeExportOptions = $root.google.cloud.sql.v1beta4.ExportContext.SqlTdeExportOptions.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -108112,9 +112366,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        ExportContext.verify = function verify(message) {
+                        ExportContext.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.uri != null && message.hasOwnProperty("uri"))
                                 if (!$util.isString(message.uri))
                                     return "uri: string expected";
@@ -108129,12 +112387,12 @@
                                 if (!$util.isString(message.kind))
                                     return "kind: string expected";
                             if (message.sqlExportOptions != null && message.hasOwnProperty("sqlExportOptions")) {
-                                var error = $root.google.cloud.sql.v1beta4.ExportContext.SqlExportOptions.verify(message.sqlExportOptions);
+                                var error = $root.google.cloud.sql.v1beta4.ExportContext.SqlExportOptions.verify(message.sqlExportOptions, long + 1);
                                 if (error)
                                     return "sqlExportOptions." + error;
                             }
                             if (message.csvExportOptions != null && message.hasOwnProperty("csvExportOptions")) {
-                                var error = $root.google.cloud.sql.v1beta4.ExportContext.SqlCsvExportOptions.verify(message.csvExportOptions);
+                                var error = $root.google.cloud.sql.v1beta4.ExportContext.SqlCsvExportOptions.verify(message.csvExportOptions, long + 1);
                                 if (error)
                                     return "csvExportOptions." + error;
                             }
@@ -108150,17 +112408,17 @@
                                     break;
                                 }
                             if (message.offload != null && message.hasOwnProperty("offload")) {
-                                var error = $root.google.protobuf.BoolValue.verify(message.offload);
+                                var error = $root.google.protobuf.BoolValue.verify(message.offload, long + 1);
                                 if (error)
                                     return "offload." + error;
                             }
                             if (message.bakExportOptions != null && message.hasOwnProperty("bakExportOptions")) {
-                                var error = $root.google.cloud.sql.v1beta4.ExportContext.SqlBakExportOptions.verify(message.bakExportOptions);
+                                var error = $root.google.cloud.sql.v1beta4.ExportContext.SqlBakExportOptions.verify(message.bakExportOptions, long + 1);
                                 if (error)
                                     return "bakExportOptions." + error;
                             }
                             if (message.tdeExportOptions != null && message.hasOwnProperty("tdeExportOptions")) {
-                                var error = $root.google.cloud.sql.v1beta4.ExportContext.SqlTdeExportOptions.verify(message.tdeExportOptions);
+                                var error = $root.google.cloud.sql.v1beta4.ExportContext.SqlTdeExportOptions.verify(message.tdeExportOptions, long + 1);
                                 if (error)
                                     return "tdeExportOptions." + error;
                             }
@@ -108175,9 +112433,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.ExportContext} ExportContext
                          */
-                        ExportContext.fromObject = function fromObject(object) {
+                        ExportContext.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.ExportContext)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.ExportContext();
                             if (object.uri != null)
                                 message.uri = String(object.uri);
@@ -108193,12 +112455,12 @@
                             if (object.sqlExportOptions != null) {
                                 if (typeof object.sqlExportOptions !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.ExportContext.sqlExportOptions: object expected");
-                                message.sqlExportOptions = $root.google.cloud.sql.v1beta4.ExportContext.SqlExportOptions.fromObject(object.sqlExportOptions);
+                                message.sqlExportOptions = $root.google.cloud.sql.v1beta4.ExportContext.SqlExportOptions.fromObject(object.sqlExportOptions, long + 1);
                             }
                             if (object.csvExportOptions != null) {
                                 if (typeof object.csvExportOptions !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.ExportContext.csvExportOptions: object expected");
-                                message.csvExportOptions = $root.google.cloud.sql.v1beta4.ExportContext.SqlCsvExportOptions.fromObject(object.csvExportOptions);
+                                message.csvExportOptions = $root.google.cloud.sql.v1beta4.ExportContext.SqlCsvExportOptions.fromObject(object.csvExportOptions, long + 1);
                             }
                             switch (object.fileType) {
                             default:
@@ -108231,17 +112493,17 @@
                             if (object.offload != null) {
                                 if (typeof object.offload !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.ExportContext.offload: object expected");
-                                message.offload = $root.google.protobuf.BoolValue.fromObject(object.offload);
+                                message.offload = $root.google.protobuf.BoolValue.fromObject(object.offload, long + 1);
                             }
                             if (object.bakExportOptions != null) {
                                 if (typeof object.bakExportOptions !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.ExportContext.bakExportOptions: object expected");
-                                message.bakExportOptions = $root.google.cloud.sql.v1beta4.ExportContext.SqlBakExportOptions.fromObject(object.bakExportOptions);
+                                message.bakExportOptions = $root.google.cloud.sql.v1beta4.ExportContext.SqlBakExportOptions.fromObject(object.bakExportOptions, long + 1);
                             }
                             if (object.tdeExportOptions != null) {
                                 if (typeof object.tdeExportOptions !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.ExportContext.tdeExportOptions: object expected");
-                                message.tdeExportOptions = $root.google.cloud.sql.v1beta4.ExportContext.SqlTdeExportOptions.fromObject(object.tdeExportOptions);
+                                message.tdeExportOptions = $root.google.cloud.sql.v1beta4.ExportContext.SqlTdeExportOptions.fromObject(object.tdeExportOptions, long + 1);
                             }
                             return message;
                         };
@@ -108345,7 +112607,7 @@
                             function SqlCsvExportOptions(properties) {
                                 if (properties)
                                     for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                        if (properties[keys[i]] != null)
+                                        if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                             this[keys[i]] = properties[keys[i]];
                             }
     
@@ -108450,9 +112712,13 @@
                              * @throws {Error} If the payload is not a reader or valid buffer
                              * @throws {$protobuf.util.ProtocolError} If required fields are missing
                              */
-                            SqlCsvExportOptions.decode = function decode(reader, length, error) {
+                            SqlCsvExportOptions.decode = function decode(reader, length, error, long) {
                                 if (!(reader instanceof $Reader))
                                     reader = $Reader.create(reader);
+                                if (long === undefined)
+                                    long = 0;
+                                if (long > $Reader.recursionLimit)
+                                    throw Error("maximum nesting depth exceeded");
                                 var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.ExportContext.SqlCsvExportOptions();
                                 while (reader.pos < end) {
                                     var tag = reader.uint32();
@@ -108480,7 +112746,7 @@
                                             break;
                                         }
                                     default:
-                                        reader.skipType(tag & 7);
+                                        reader.skipType(tag & 7, long);
                                         break;
                                     }
                                 }
@@ -108511,9 +112777,13 @@
                              * @param {Object.<string,*>} message Plain object to verify
                              * @returns {string|null} `null` if valid, otherwise the reason why it is not
                              */
-                            SqlCsvExportOptions.verify = function verify(message) {
+                            SqlCsvExportOptions.verify = function verify(message, long) {
                                 if (typeof message !== "object" || message === null)
                                     return "object expected";
+                                if (long === undefined)
+                                    long = 0;
+                                if (long > $util.recursionLimit)
+                                    return "maximum nesting depth exceeded";
                                 if (message.selectQuery != null && message.hasOwnProperty("selectQuery"))
                                     if (!$util.isString(message.selectQuery))
                                         return "selectQuery: string expected";
@@ -108540,9 +112810,13 @@
                              * @param {Object.<string,*>} object Plain object
                              * @returns {google.cloud.sql.v1beta4.ExportContext.SqlCsvExportOptions} SqlCsvExportOptions
                              */
-                            SqlCsvExportOptions.fromObject = function fromObject(object) {
+                            SqlCsvExportOptions.fromObject = function fromObject(object, long) {
                                 if (object instanceof $root.google.cloud.sql.v1beta4.ExportContext.SqlCsvExportOptions)
                                     return object;
+                                if (long === undefined)
+                                    long = 0;
+                                if (long > $util.recursionLimit)
+                                    throw Error("maximum nesting depth exceeded");
                                 var message = new $root.google.cloud.sql.v1beta4.ExportContext.SqlCsvExportOptions();
                                 if (object.selectQuery != null)
                                     message.selectQuery = String(object.selectQuery);
@@ -108645,7 +112919,7 @@
                                 this.tables = [];
                                 if (properties)
                                     for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                        if (properties[keys[i]] != null)
+                                        if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                             this[keys[i]] = properties[keys[i]];
                             }
     
@@ -108761,9 +113035,13 @@
                              * @throws {Error} If the payload is not a reader or valid buffer
                              * @throws {$protobuf.util.ProtocolError} If required fields are missing
                              */
-                            SqlExportOptions.decode = function decode(reader, length, error) {
+                            SqlExportOptions.decode = function decode(reader, length, error, long) {
                                 if (!(reader instanceof $Reader))
                                     reader = $Reader.create(reader);
+                                if (long === undefined)
+                                    long = 0;
+                                if (long > $Reader.recursionLimit)
+                                    throw Error("maximum nesting depth exceeded");
                                 var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.ExportContext.SqlExportOptions();
                                 while (reader.pos < end) {
                                     var tag = reader.uint32();
@@ -108777,27 +113055,27 @@
                                             break;
                                         }
                                     case 2: {
-                                            message.schemaOnly = $root.google.protobuf.BoolValue.decode(reader, reader.uint32());
+                                            message.schemaOnly = $root.google.protobuf.BoolValue.decode(reader, reader.uint32(), undefined, long + 1);
                                             break;
                                         }
                                     case 3: {
-                                            message.mysqlExportOptions = $root.google.cloud.sql.v1beta4.ExportContext.SqlExportOptions.MysqlExportOptions.decode(reader, reader.uint32());
+                                            message.mysqlExportOptions = $root.google.cloud.sql.v1beta4.ExportContext.SqlExportOptions.MysqlExportOptions.decode(reader, reader.uint32(), undefined, long + 1);
                                             break;
                                         }
                                     case 4: {
-                                            message.threads = $root.google.protobuf.Int32Value.decode(reader, reader.uint32());
+                                            message.threads = $root.google.protobuf.Int32Value.decode(reader, reader.uint32(), undefined, long + 1);
                                             break;
                                         }
                                     case 5: {
-                                            message.parallel = $root.google.protobuf.BoolValue.decode(reader, reader.uint32());
+                                            message.parallel = $root.google.protobuf.BoolValue.decode(reader, reader.uint32(), undefined, long + 1);
                                             break;
                                         }
                                     case 6: {
-                                            message.postgresExportOptions = $root.google.cloud.sql.v1beta4.ExportContext.SqlExportOptions.PostgresExportOptions.decode(reader, reader.uint32());
+                                            message.postgresExportOptions = $root.google.cloud.sql.v1beta4.ExportContext.SqlExportOptions.PostgresExportOptions.decode(reader, reader.uint32(), undefined, long + 1);
                                             break;
                                         }
                                     default:
-                                        reader.skipType(tag & 7);
+                                        reader.skipType(tag & 7, long);
                                         break;
                                     }
                                 }
@@ -108828,9 +113106,13 @@
                              * @param {Object.<string,*>} message Plain object to verify
                              * @returns {string|null} `null` if valid, otherwise the reason why it is not
                              */
-                            SqlExportOptions.verify = function verify(message) {
+                            SqlExportOptions.verify = function verify(message, long) {
                                 if (typeof message !== "object" || message === null)
                                     return "object expected";
+                                if (long === undefined)
+                                    long = 0;
+                                if (long > $util.recursionLimit)
+                                    return "maximum nesting depth exceeded";
                                 if (message.tables != null && message.hasOwnProperty("tables")) {
                                     if (!Array.isArray(message.tables))
                                         return "tables: array expected";
@@ -108839,27 +113121,27 @@
                                             return "tables: string[] expected";
                                 }
                                 if (message.schemaOnly != null && message.hasOwnProperty("schemaOnly")) {
-                                    var error = $root.google.protobuf.BoolValue.verify(message.schemaOnly);
+                                    var error = $root.google.protobuf.BoolValue.verify(message.schemaOnly, long + 1);
                                     if (error)
                                         return "schemaOnly." + error;
                                 }
                                 if (message.mysqlExportOptions != null && message.hasOwnProperty("mysqlExportOptions")) {
-                                    var error = $root.google.cloud.sql.v1beta4.ExportContext.SqlExportOptions.MysqlExportOptions.verify(message.mysqlExportOptions);
+                                    var error = $root.google.cloud.sql.v1beta4.ExportContext.SqlExportOptions.MysqlExportOptions.verify(message.mysqlExportOptions, long + 1);
                                     if (error)
                                         return "mysqlExportOptions." + error;
                                 }
                                 if (message.threads != null && message.hasOwnProperty("threads")) {
-                                    var error = $root.google.protobuf.Int32Value.verify(message.threads);
+                                    var error = $root.google.protobuf.Int32Value.verify(message.threads, long + 1);
                                     if (error)
                                         return "threads." + error;
                                 }
                                 if (message.parallel != null && message.hasOwnProperty("parallel")) {
-                                    var error = $root.google.protobuf.BoolValue.verify(message.parallel);
+                                    var error = $root.google.protobuf.BoolValue.verify(message.parallel, long + 1);
                                     if (error)
                                         return "parallel." + error;
                                 }
                                 if (message.postgresExportOptions != null && message.hasOwnProperty("postgresExportOptions")) {
-                                    var error = $root.google.cloud.sql.v1beta4.ExportContext.SqlExportOptions.PostgresExportOptions.verify(message.postgresExportOptions);
+                                    var error = $root.google.cloud.sql.v1beta4.ExportContext.SqlExportOptions.PostgresExportOptions.verify(message.postgresExportOptions, long + 1);
                                     if (error)
                                         return "postgresExportOptions." + error;
                                 }
@@ -108874,9 +113156,13 @@
                              * @param {Object.<string,*>} object Plain object
                              * @returns {google.cloud.sql.v1beta4.ExportContext.SqlExportOptions} SqlExportOptions
                              */
-                            SqlExportOptions.fromObject = function fromObject(object) {
+                            SqlExportOptions.fromObject = function fromObject(object, long) {
                                 if (object instanceof $root.google.cloud.sql.v1beta4.ExportContext.SqlExportOptions)
                                     return object;
+                                if (long === undefined)
+                                    long = 0;
+                                if (long > $util.recursionLimit)
+                                    throw Error("maximum nesting depth exceeded");
                                 var message = new $root.google.cloud.sql.v1beta4.ExportContext.SqlExportOptions();
                                 if (object.tables) {
                                     if (!Array.isArray(object.tables))
@@ -108888,27 +113174,27 @@
                                 if (object.schemaOnly != null) {
                                     if (typeof object.schemaOnly !== "object")
                                         throw TypeError(".google.cloud.sql.v1beta4.ExportContext.SqlExportOptions.schemaOnly: object expected");
-                                    message.schemaOnly = $root.google.protobuf.BoolValue.fromObject(object.schemaOnly);
+                                    message.schemaOnly = $root.google.protobuf.BoolValue.fromObject(object.schemaOnly, long + 1);
                                 }
                                 if (object.mysqlExportOptions != null) {
                                     if (typeof object.mysqlExportOptions !== "object")
                                         throw TypeError(".google.cloud.sql.v1beta4.ExportContext.SqlExportOptions.mysqlExportOptions: object expected");
-                                    message.mysqlExportOptions = $root.google.cloud.sql.v1beta4.ExportContext.SqlExportOptions.MysqlExportOptions.fromObject(object.mysqlExportOptions);
+                                    message.mysqlExportOptions = $root.google.cloud.sql.v1beta4.ExportContext.SqlExportOptions.MysqlExportOptions.fromObject(object.mysqlExportOptions, long + 1);
                                 }
                                 if (object.threads != null) {
                                     if (typeof object.threads !== "object")
                                         throw TypeError(".google.cloud.sql.v1beta4.ExportContext.SqlExportOptions.threads: object expected");
-                                    message.threads = $root.google.protobuf.Int32Value.fromObject(object.threads);
+                                    message.threads = $root.google.protobuf.Int32Value.fromObject(object.threads, long + 1);
                                 }
                                 if (object.parallel != null) {
                                     if (typeof object.parallel !== "object")
                                         throw TypeError(".google.cloud.sql.v1beta4.ExportContext.SqlExportOptions.parallel: object expected");
-                                    message.parallel = $root.google.protobuf.BoolValue.fromObject(object.parallel);
+                                    message.parallel = $root.google.protobuf.BoolValue.fromObject(object.parallel, long + 1);
                                 }
                                 if (object.postgresExportOptions != null) {
                                     if (typeof object.postgresExportOptions !== "object")
                                         throw TypeError(".google.cloud.sql.v1beta4.ExportContext.SqlExportOptions.postgresExportOptions: object expected");
-                                    message.postgresExportOptions = $root.google.cloud.sql.v1beta4.ExportContext.SqlExportOptions.PostgresExportOptions.fromObject(object.postgresExportOptions);
+                                    message.postgresExportOptions = $root.google.cloud.sql.v1beta4.ExportContext.SqlExportOptions.PostgresExportOptions.fromObject(object.postgresExportOptions, long + 1);
                                 }
                                 return message;
                             };
@@ -108999,7 +113285,7 @@
                                 function MysqlExportOptions(properties) {
                                     if (properties)
                                         for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                            if (properties[keys[i]] != null)
+                                            if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                                 this[keys[i]] = properties[keys[i]];
                                 }
     
@@ -109064,9 +113350,13 @@
                                  * @throws {Error} If the payload is not a reader or valid buffer
                                  * @throws {$protobuf.util.ProtocolError} If required fields are missing
                                  */
-                                MysqlExportOptions.decode = function decode(reader, length, error) {
+                                MysqlExportOptions.decode = function decode(reader, length, error, long) {
                                     if (!(reader instanceof $Reader))
                                         reader = $Reader.create(reader);
+                                    if (long === undefined)
+                                        long = 0;
+                                    if (long > $Reader.recursionLimit)
+                                        throw Error("maximum nesting depth exceeded");
                                     var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.ExportContext.SqlExportOptions.MysqlExportOptions();
                                     while (reader.pos < end) {
                                         var tag = reader.uint32();
@@ -109074,11 +113364,11 @@
                                             break;
                                         switch (tag >>> 3) {
                                         case 1: {
-                                                message.masterData = $root.google.protobuf.Int32Value.decode(reader, reader.uint32());
+                                                message.masterData = $root.google.protobuf.Int32Value.decode(reader, reader.uint32(), undefined, long + 1);
                                                 break;
                                             }
                                         default:
-                                            reader.skipType(tag & 7);
+                                            reader.skipType(tag & 7, long);
                                             break;
                                         }
                                     }
@@ -109109,11 +113399,15 @@
                                  * @param {Object.<string,*>} message Plain object to verify
                                  * @returns {string|null} `null` if valid, otherwise the reason why it is not
                                  */
-                                MysqlExportOptions.verify = function verify(message) {
+                                MysqlExportOptions.verify = function verify(message, long) {
                                     if (typeof message !== "object" || message === null)
                                         return "object expected";
+                                    if (long === undefined)
+                                        long = 0;
+                                    if (long > $util.recursionLimit)
+                                        return "maximum nesting depth exceeded";
                                     if (message.masterData != null && message.hasOwnProperty("masterData")) {
-                                        var error = $root.google.protobuf.Int32Value.verify(message.masterData);
+                                        var error = $root.google.protobuf.Int32Value.verify(message.masterData, long + 1);
                                         if (error)
                                             return "masterData." + error;
                                     }
@@ -109128,14 +113422,18 @@
                                  * @param {Object.<string,*>} object Plain object
                                  * @returns {google.cloud.sql.v1beta4.ExportContext.SqlExportOptions.MysqlExportOptions} MysqlExportOptions
                                  */
-                                MysqlExportOptions.fromObject = function fromObject(object) {
+                                MysqlExportOptions.fromObject = function fromObject(object, long) {
                                     if (object instanceof $root.google.cloud.sql.v1beta4.ExportContext.SqlExportOptions.MysqlExportOptions)
                                         return object;
+                                    if (long === undefined)
+                                        long = 0;
+                                    if (long > $util.recursionLimit)
+                                        throw Error("maximum nesting depth exceeded");
                                     var message = new $root.google.cloud.sql.v1beta4.ExportContext.SqlExportOptions.MysqlExportOptions();
                                     if (object.masterData != null) {
                                         if (typeof object.masterData !== "object")
                                             throw TypeError(".google.cloud.sql.v1beta4.ExportContext.SqlExportOptions.MysqlExportOptions.masterData: object expected");
-                                        message.masterData = $root.google.protobuf.Int32Value.fromObject(object.masterData);
+                                        message.masterData = $root.google.protobuf.Int32Value.fromObject(object.masterData, long + 1);
                                     }
                                     return message;
                                 };
@@ -109210,7 +113508,7 @@
                                 function PostgresExportOptions(properties) {
                                     if (properties)
                                         for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                            if (properties[keys[i]] != null)
+                                            if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                                 this[keys[i]] = properties[keys[i]];
                                 }
     
@@ -109285,9 +113583,13 @@
                                  * @throws {Error} If the payload is not a reader or valid buffer
                                  * @throws {$protobuf.util.ProtocolError} If required fields are missing
                                  */
-                                PostgresExportOptions.decode = function decode(reader, length, error) {
+                                PostgresExportOptions.decode = function decode(reader, length, error, long) {
                                     if (!(reader instanceof $Reader))
                                         reader = $Reader.create(reader);
+                                    if (long === undefined)
+                                        long = 0;
+                                    if (long > $Reader.recursionLimit)
+                                        throw Error("maximum nesting depth exceeded");
                                     var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.ExportContext.SqlExportOptions.PostgresExportOptions();
                                     while (reader.pos < end) {
                                         var tag = reader.uint32();
@@ -109295,15 +113597,15 @@
                                             break;
                                         switch (tag >>> 3) {
                                         case 1: {
-                                                message.clean = $root.google.protobuf.BoolValue.decode(reader, reader.uint32());
+                                                message.clean = $root.google.protobuf.BoolValue.decode(reader, reader.uint32(), undefined, long + 1);
                                                 break;
                                             }
                                         case 2: {
-                                                message.ifExists = $root.google.protobuf.BoolValue.decode(reader, reader.uint32());
+                                                message.ifExists = $root.google.protobuf.BoolValue.decode(reader, reader.uint32(), undefined, long + 1);
                                                 break;
                                             }
                                         default:
-                                            reader.skipType(tag & 7);
+                                            reader.skipType(tag & 7, long);
                                             break;
                                         }
                                     }
@@ -109334,16 +113636,20 @@
                                  * @param {Object.<string,*>} message Plain object to verify
                                  * @returns {string|null} `null` if valid, otherwise the reason why it is not
                                  */
-                                PostgresExportOptions.verify = function verify(message) {
+                                PostgresExportOptions.verify = function verify(message, long) {
                                     if (typeof message !== "object" || message === null)
                                         return "object expected";
+                                    if (long === undefined)
+                                        long = 0;
+                                    if (long > $util.recursionLimit)
+                                        return "maximum nesting depth exceeded";
                                     if (message.clean != null && message.hasOwnProperty("clean")) {
-                                        var error = $root.google.protobuf.BoolValue.verify(message.clean);
+                                        var error = $root.google.protobuf.BoolValue.verify(message.clean, long + 1);
                                         if (error)
                                             return "clean." + error;
                                     }
                                     if (message.ifExists != null && message.hasOwnProperty("ifExists")) {
-                                        var error = $root.google.protobuf.BoolValue.verify(message.ifExists);
+                                        var error = $root.google.protobuf.BoolValue.verify(message.ifExists, long + 1);
                                         if (error)
                                             return "ifExists." + error;
                                     }
@@ -109358,19 +113664,23 @@
                                  * @param {Object.<string,*>} object Plain object
                                  * @returns {google.cloud.sql.v1beta4.ExportContext.SqlExportOptions.PostgresExportOptions} PostgresExportOptions
                                  */
-                                PostgresExportOptions.fromObject = function fromObject(object) {
+                                PostgresExportOptions.fromObject = function fromObject(object, long) {
                                     if (object instanceof $root.google.cloud.sql.v1beta4.ExportContext.SqlExportOptions.PostgresExportOptions)
                                         return object;
+                                    if (long === undefined)
+                                        long = 0;
+                                    if (long > $util.recursionLimit)
+                                        throw Error("maximum nesting depth exceeded");
                                     var message = new $root.google.cloud.sql.v1beta4.ExportContext.SqlExportOptions.PostgresExportOptions();
                                     if (object.clean != null) {
                                         if (typeof object.clean !== "object")
                                             throw TypeError(".google.cloud.sql.v1beta4.ExportContext.SqlExportOptions.PostgresExportOptions.clean: object expected");
-                                        message.clean = $root.google.protobuf.BoolValue.fromObject(object.clean);
+                                        message.clean = $root.google.protobuf.BoolValue.fromObject(object.clean, long + 1);
                                     }
                                     if (object.ifExists != null) {
                                         if (typeof object.ifExists !== "object")
                                             throw TypeError(".google.cloud.sql.v1beta4.ExportContext.SqlExportOptions.PostgresExportOptions.ifExists: object expected");
-                                        message.ifExists = $root.google.protobuf.BoolValue.fromObject(object.ifExists);
+                                        message.ifExists = $root.google.protobuf.BoolValue.fromObject(object.ifExists, long + 1);
                                     }
                                     return message;
                                 };
@@ -109457,7 +113767,7 @@
                             function SqlBakExportOptions(properties) {
                                 if (properties)
                                     for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                        if (properties[keys[i]] != null)
+                                        if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                             this[keys[i]] = properties[keys[i]];
                             }
     
@@ -109582,9 +113892,13 @@
                              * @throws {Error} If the payload is not a reader or valid buffer
                              * @throws {$protobuf.util.ProtocolError} If required fields are missing
                              */
-                            SqlBakExportOptions.decode = function decode(reader, length, error) {
+                            SqlBakExportOptions.decode = function decode(reader, length, error, long) {
                                 if (!(reader instanceof $Reader))
                                     reader = $Reader.create(reader);
+                                if (long === undefined)
+                                    long = 0;
+                                if (long > $Reader.recursionLimit)
+                                    throw Error("maximum nesting depth exceeded");
                                 var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.ExportContext.SqlBakExportOptions();
                                 while (reader.pos < end) {
                                     var tag = reader.uint32();
@@ -109592,11 +113906,11 @@
                                         break;
                                     switch (tag >>> 3) {
                                     case 1: {
-                                            message.striped = $root.google.protobuf.BoolValue.decode(reader, reader.uint32());
+                                            message.striped = $root.google.protobuf.BoolValue.decode(reader, reader.uint32(), undefined, long + 1);
                                             break;
                                         }
                                     case 2: {
-                                            message.stripeCount = $root.google.protobuf.Int32Value.decode(reader, reader.uint32());
+                                            message.stripeCount = $root.google.protobuf.Int32Value.decode(reader, reader.uint32(), undefined, long + 1);
                                             break;
                                         }
                                     case 4: {
@@ -109604,23 +113918,23 @@
                                             break;
                                         }
                                     case 5: {
-                                            message.copyOnly = $root.google.protobuf.BoolValue.decode(reader, reader.uint32());
+                                            message.copyOnly = $root.google.protobuf.BoolValue.decode(reader, reader.uint32(), undefined, long + 1);
                                             break;
                                         }
                                     case 6: {
-                                            message.differentialBase = $root.google.protobuf.BoolValue.decode(reader, reader.uint32());
+                                            message.differentialBase = $root.google.protobuf.BoolValue.decode(reader, reader.uint32(), undefined, long + 1);
                                             break;
                                         }
                                     case 7: {
-                                            message.exportLogStartTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+                                            message.exportLogStartTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1);
                                             break;
                                         }
                                     case 8: {
-                                            message.exportLogEndTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+                                            message.exportLogEndTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1);
                                             break;
                                         }
                                     default:
-                                        reader.skipType(tag & 7);
+                                        reader.skipType(tag & 7, long);
                                         break;
                                     }
                                 }
@@ -109651,16 +113965,20 @@
                              * @param {Object.<string,*>} message Plain object to verify
                              * @returns {string|null} `null` if valid, otherwise the reason why it is not
                              */
-                            SqlBakExportOptions.verify = function verify(message) {
+                            SqlBakExportOptions.verify = function verify(message, long) {
                                 if (typeof message !== "object" || message === null)
                                     return "object expected";
+                                if (long === undefined)
+                                    long = 0;
+                                if (long > $util.recursionLimit)
+                                    return "maximum nesting depth exceeded";
                                 if (message.striped != null && message.hasOwnProperty("striped")) {
-                                    var error = $root.google.protobuf.BoolValue.verify(message.striped);
+                                    var error = $root.google.protobuf.BoolValue.verify(message.striped, long + 1);
                                     if (error)
                                         return "striped." + error;
                                 }
                                 if (message.stripeCount != null && message.hasOwnProperty("stripeCount")) {
-                                    var error = $root.google.protobuf.Int32Value.verify(message.stripeCount);
+                                    var error = $root.google.protobuf.Int32Value.verify(message.stripeCount, long + 1);
                                     if (error)
                                         return "stripeCount." + error;
                                 }
@@ -109675,22 +113993,22 @@
                                         break;
                                     }
                                 if (message.copyOnly != null && message.hasOwnProperty("copyOnly")) {
-                                    var error = $root.google.protobuf.BoolValue.verify(message.copyOnly);
+                                    var error = $root.google.protobuf.BoolValue.verify(message.copyOnly, long + 1);
                                     if (error)
                                         return "copyOnly." + error;
                                 }
                                 if (message.differentialBase != null && message.hasOwnProperty("differentialBase")) {
-                                    var error = $root.google.protobuf.BoolValue.verify(message.differentialBase);
+                                    var error = $root.google.protobuf.BoolValue.verify(message.differentialBase, long + 1);
                                     if (error)
                                         return "differentialBase." + error;
                                 }
                                 if (message.exportLogStartTime != null && message.hasOwnProperty("exportLogStartTime")) {
-                                    var error = $root.google.protobuf.Timestamp.verify(message.exportLogStartTime);
+                                    var error = $root.google.protobuf.Timestamp.verify(message.exportLogStartTime, long + 1);
                                     if (error)
                                         return "exportLogStartTime." + error;
                                 }
                                 if (message.exportLogEndTime != null && message.hasOwnProperty("exportLogEndTime")) {
-                                    var error = $root.google.protobuf.Timestamp.verify(message.exportLogEndTime);
+                                    var error = $root.google.protobuf.Timestamp.verify(message.exportLogEndTime, long + 1);
                                     if (error)
                                         return "exportLogEndTime." + error;
                                 }
@@ -109705,19 +114023,23 @@
                              * @param {Object.<string,*>} object Plain object
                              * @returns {google.cloud.sql.v1beta4.ExportContext.SqlBakExportOptions} SqlBakExportOptions
                              */
-                            SqlBakExportOptions.fromObject = function fromObject(object) {
+                            SqlBakExportOptions.fromObject = function fromObject(object, long) {
                                 if (object instanceof $root.google.cloud.sql.v1beta4.ExportContext.SqlBakExportOptions)
                                     return object;
+                                if (long === undefined)
+                                    long = 0;
+                                if (long > $util.recursionLimit)
+                                    throw Error("maximum nesting depth exceeded");
                                 var message = new $root.google.cloud.sql.v1beta4.ExportContext.SqlBakExportOptions();
                                 if (object.striped != null) {
                                     if (typeof object.striped !== "object")
                                         throw TypeError(".google.cloud.sql.v1beta4.ExportContext.SqlBakExportOptions.striped: object expected");
-                                    message.striped = $root.google.protobuf.BoolValue.fromObject(object.striped);
+                                    message.striped = $root.google.protobuf.BoolValue.fromObject(object.striped, long + 1);
                                 }
                                 if (object.stripeCount != null) {
                                     if (typeof object.stripeCount !== "object")
                                         throw TypeError(".google.cloud.sql.v1beta4.ExportContext.SqlBakExportOptions.stripeCount: object expected");
-                                    message.stripeCount = $root.google.protobuf.Int32Value.fromObject(object.stripeCount);
+                                    message.stripeCount = $root.google.protobuf.Int32Value.fromObject(object.stripeCount, long + 1);
                                 }
                                 switch (object.bakType) {
                                 default:
@@ -109746,22 +114068,22 @@
                                 if (object.copyOnly != null) {
                                     if (typeof object.copyOnly !== "object")
                                         throw TypeError(".google.cloud.sql.v1beta4.ExportContext.SqlBakExportOptions.copyOnly: object expected");
-                                    message.copyOnly = $root.google.protobuf.BoolValue.fromObject(object.copyOnly);
+                                    message.copyOnly = $root.google.protobuf.BoolValue.fromObject(object.copyOnly, long + 1);
                                 }
                                 if (object.differentialBase != null) {
                                     if (typeof object.differentialBase !== "object")
                                         throw TypeError(".google.cloud.sql.v1beta4.ExportContext.SqlBakExportOptions.differentialBase: object expected");
-                                    message.differentialBase = $root.google.protobuf.BoolValue.fromObject(object.differentialBase);
+                                    message.differentialBase = $root.google.protobuf.BoolValue.fromObject(object.differentialBase, long + 1);
                                 }
                                 if (object.exportLogStartTime != null) {
                                     if (typeof object.exportLogStartTime !== "object")
                                         throw TypeError(".google.cloud.sql.v1beta4.ExportContext.SqlBakExportOptions.exportLogStartTime: object expected");
-                                    message.exportLogStartTime = $root.google.protobuf.Timestamp.fromObject(object.exportLogStartTime);
+                                    message.exportLogStartTime = $root.google.protobuf.Timestamp.fromObject(object.exportLogStartTime, long + 1);
                                 }
                                 if (object.exportLogEndTime != null) {
                                     if (typeof object.exportLogEndTime !== "object")
                                         throw TypeError(".google.cloud.sql.v1beta4.ExportContext.SqlBakExportOptions.exportLogEndTime: object expected");
-                                    message.exportLogEndTime = $root.google.protobuf.Timestamp.fromObject(object.exportLogEndTime);
+                                    message.exportLogEndTime = $root.google.protobuf.Timestamp.fromObject(object.exportLogEndTime, long + 1);
                                 }
                                 return message;
                             };
@@ -109857,7 +114179,7 @@
                             function SqlTdeExportOptions(properties) {
                                 if (properties)
                                     for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                        if (properties[keys[i]] != null)
+                                        if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                             this[keys[i]] = properties[keys[i]];
                             }
     
@@ -109952,9 +114274,13 @@
                              * @throws {Error} If the payload is not a reader or valid buffer
                              * @throws {$protobuf.util.ProtocolError} If required fields are missing
                              */
-                            SqlTdeExportOptions.decode = function decode(reader, length, error) {
+                            SqlTdeExportOptions.decode = function decode(reader, length, error, long) {
                                 if (!(reader instanceof $Reader))
                                     reader = $Reader.create(reader);
+                                if (long === undefined)
+                                    long = 0;
+                                if (long > $Reader.recursionLimit)
+                                    throw Error("maximum nesting depth exceeded");
                                 var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.ExportContext.SqlTdeExportOptions();
                                 while (reader.pos < end) {
                                     var tag = reader.uint32();
@@ -109978,7 +114304,7 @@
                                             break;
                                         }
                                     default:
-                                        reader.skipType(tag & 7);
+                                        reader.skipType(tag & 7, long);
                                         break;
                                     }
                                 }
@@ -110009,9 +114335,13 @@
                              * @param {Object.<string,*>} message Plain object to verify
                              * @returns {string|null} `null` if valid, otherwise the reason why it is not
                              */
-                            SqlTdeExportOptions.verify = function verify(message) {
+                            SqlTdeExportOptions.verify = function verify(message, long) {
                                 if (typeof message !== "object" || message === null)
                                     return "object expected";
+                                if (long === undefined)
+                                    long = 0;
+                                if (long > $util.recursionLimit)
+                                    return "maximum nesting depth exceeded";
                                 if (message.certificatePath != null && message.hasOwnProperty("certificatePath"))
                                     if (!$util.isString(message.certificatePath))
                                         return "certificatePath: string expected";
@@ -110035,9 +114365,13 @@
                              * @param {Object.<string,*>} object Plain object
                              * @returns {google.cloud.sql.v1beta4.ExportContext.SqlTdeExportOptions} SqlTdeExportOptions
                              */
-                            SqlTdeExportOptions.fromObject = function fromObject(object) {
+                            SqlTdeExportOptions.fromObject = function fromObject(object, long) {
                                 if (object instanceof $root.google.cloud.sql.v1beta4.ExportContext.SqlTdeExportOptions)
                                     return object;
+                                if (long === undefined)
+                                    long = 0;
+                                if (long > $util.recursionLimit)
+                                    throw Error("maximum nesting depth exceeded");
                                 var message = new $root.google.cloud.sql.v1beta4.ExportContext.SqlTdeExportOptions();
                                 if (object.certificatePath != null)
                                     message.certificatePath = String(object.certificatePath);
@@ -110133,7 +114467,7 @@
                         function FailoverContext(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -110208,9 +114542,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        FailoverContext.decode = function decode(reader, length, error) {
+                        FailoverContext.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.FailoverContext();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -110226,7 +114564,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -110257,9 +114595,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        FailoverContext.verify = function verify(message) {
+                        FailoverContext.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.settingsVersion != null && message.hasOwnProperty("settingsVersion"))
                                 if (!$util.isInteger(message.settingsVersion) && !(message.settingsVersion && $util.isInteger(message.settingsVersion.low) && $util.isInteger(message.settingsVersion.high)))
                                     return "settingsVersion: integer|Long expected";
@@ -110277,9 +114619,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.FailoverContext} FailoverContext
                          */
-                        FailoverContext.fromObject = function fromObject(object) {
+                        FailoverContext.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.FailoverContext)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.FailoverContext();
                             if (object.settingsVersion != null)
                                 if ($util.Long)
@@ -110390,7 +114736,7 @@
                             this.allowedIntValues = [];
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -110598,9 +114944,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        Flag.decode = function decode(reader, length, error) {
+                        Flag.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.Flag();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -110633,15 +114983,15 @@
                                         break;
                                     }
                                 case 5: {
-                                        message.minValue = $root.google.protobuf.Int64Value.decode(reader, reader.uint32());
+                                        message.minValue = $root.google.protobuf.Int64Value.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 6: {
-                                        message.maxValue = $root.google.protobuf.Int64Value.decode(reader, reader.uint32());
+                                        message.maxValue = $root.google.protobuf.Int64Value.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 7: {
-                                        message.requiresRestart = $root.google.protobuf.BoolValue.decode(reader, reader.uint32());
+                                        message.requiresRestart = $root.google.protobuf.BoolValue.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 8: {
@@ -110649,7 +114999,7 @@
                                         break;
                                     }
                                 case 9: {
-                                        message.inBeta = $root.google.protobuf.BoolValue.decode(reader, reader.uint32());
+                                        message.inBeta = $root.google.protobuf.BoolValue.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 10: {
@@ -110672,11 +115022,11 @@
                                         break;
                                     }
                                 case 17: {
-                                        message.recommendedIntValue = $root.google.protobuf.Int64Value.decode(reader, reader.uint32());
+                                        message.recommendedIntValue = $root.google.protobuf.Int64Value.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -110707,9 +115057,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        Flag.verify = function verify(message) {
+                        Flag.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             var properties = {};
                             if (message.name != null && message.hasOwnProperty("name"))
                                 if (!$util.isString(message.name))
@@ -110797,17 +115151,17 @@
                                         return "allowedStringValues: string[] expected";
                             }
                             if (message.minValue != null && message.hasOwnProperty("minValue")) {
-                                var error = $root.google.protobuf.Int64Value.verify(message.minValue);
+                                var error = $root.google.protobuf.Int64Value.verify(message.minValue, long + 1);
                                 if (error)
                                     return "minValue." + error;
                             }
                             if (message.maxValue != null && message.hasOwnProperty("maxValue")) {
-                                var error = $root.google.protobuf.Int64Value.verify(message.maxValue);
+                                var error = $root.google.protobuf.Int64Value.verify(message.maxValue, long + 1);
                                 if (error)
                                     return "maxValue." + error;
                             }
                             if (message.requiresRestart != null && message.hasOwnProperty("requiresRestart")) {
-                                var error = $root.google.protobuf.BoolValue.verify(message.requiresRestart);
+                                var error = $root.google.protobuf.BoolValue.verify(message.requiresRestart, long + 1);
                                 if (error)
                                     return "requiresRestart." + error;
                             }
@@ -110815,7 +115169,7 @@
                                 if (!$util.isString(message.kind))
                                     return "kind: string expected";
                             if (message.inBeta != null && message.hasOwnProperty("inBeta")) {
-                                var error = $root.google.protobuf.BoolValue.verify(message.inBeta);
+                                var error = $root.google.protobuf.BoolValue.verify(message.inBeta, long + 1);
                                 if (error)
                                     return "inBeta." + error;
                             }
@@ -110845,7 +115199,7 @@
                                     return "recommendedValue: multiple values";
                                 properties.recommendedValue = 1;
                                 {
-                                    var error = $root.google.protobuf.Int64Value.verify(message.recommendedIntValue);
+                                    var error = $root.google.protobuf.Int64Value.verify(message.recommendedIntValue, long + 1);
                                     if (error)
                                         return "recommendedIntValue." + error;
                                 }
@@ -110861,9 +115215,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.Flag} Flag
                          */
-                        Flag.fromObject = function fromObject(object) {
+                        Flag.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.Flag)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.Flag();
                             if (object.name != null)
                                 message.name = String(object.name);
@@ -111134,24 +115492,24 @@
                             if (object.minValue != null) {
                                 if (typeof object.minValue !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.Flag.minValue: object expected");
-                                message.minValue = $root.google.protobuf.Int64Value.fromObject(object.minValue);
+                                message.minValue = $root.google.protobuf.Int64Value.fromObject(object.minValue, long + 1);
                             }
                             if (object.maxValue != null) {
                                 if (typeof object.maxValue !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.Flag.maxValue: object expected");
-                                message.maxValue = $root.google.protobuf.Int64Value.fromObject(object.maxValue);
+                                message.maxValue = $root.google.protobuf.Int64Value.fromObject(object.maxValue, long + 1);
                             }
                             if (object.requiresRestart != null) {
                                 if (typeof object.requiresRestart !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.Flag.requiresRestart: object expected");
-                                message.requiresRestart = $root.google.protobuf.BoolValue.fromObject(object.requiresRestart);
+                                message.requiresRestart = $root.google.protobuf.BoolValue.fromObject(object.requiresRestart, long + 1);
                             }
                             if (object.kind != null)
                                 message.kind = String(object.kind);
                             if (object.inBeta != null) {
                                 if (typeof object.inBeta !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.Flag.inBeta: object expected");
-                                message.inBeta = $root.google.protobuf.BoolValue.fromObject(object.inBeta);
+                                message.inBeta = $root.google.protobuf.BoolValue.fromObject(object.inBeta, long + 1);
                             }
                             if (object.allowedIntValues) {
                                 if (!Array.isArray(object.allowedIntValues))
@@ -111192,7 +115550,7 @@
                             if (object.recommendedIntValue != null) {
                                 if (typeof object.recommendedIntValue !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.Flag.recommendedIntValue: object expected");
-                                message.recommendedIntValue = $root.google.protobuf.Int64Value.fromObject(object.recommendedIntValue);
+                                message.recommendedIntValue = $root.google.protobuf.Int64Value.fromObject(object.recommendedIntValue, long + 1);
                             }
                             return message;
                         };
@@ -111323,7 +115681,7 @@
                             this.items = [];
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -111399,9 +115757,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        FlagsListResponse.decode = function decode(reader, length, error) {
+                        FlagsListResponse.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.FlagsListResponse();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -111415,11 +115777,11 @@
                                 case 2: {
                                         if (!(message.items && message.items.length))
                                             message.items = [];
-                                        message.items.push($root.google.cloud.sql.v1beta4.Flag.decode(reader, reader.uint32()));
+                                        message.items.push($root.google.cloud.sql.v1beta4.Flag.decode(reader, reader.uint32(), undefined, long + 1));
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -111450,9 +115812,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        FlagsListResponse.verify = function verify(message) {
+                        FlagsListResponse.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.kind != null && message.hasOwnProperty("kind"))
                                 if (!$util.isString(message.kind))
                                     return "kind: string expected";
@@ -111460,7 +115826,7 @@
                                 if (!Array.isArray(message.items))
                                     return "items: array expected";
                                 for (var i = 0; i < message.items.length; ++i) {
-                                    var error = $root.google.cloud.sql.v1beta4.Flag.verify(message.items[i]);
+                                    var error = $root.google.cloud.sql.v1beta4.Flag.verify(message.items[i], long + 1);
                                     if (error)
                                         return "items." + error;
                                 }
@@ -111476,9 +115842,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.FlagsListResponse} FlagsListResponse
                          */
-                        FlagsListResponse.fromObject = function fromObject(object) {
+                        FlagsListResponse.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.FlagsListResponse)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.FlagsListResponse();
                             if (object.kind != null)
                                 message.kind = String(object.kind);
@@ -111489,7 +115859,7 @@
                                 for (var i = 0; i < object.items.length; ++i) {
                                     if (typeof object.items[i] !== "object")
                                         throw TypeError(".google.cloud.sql.v1beta4.FlagsListResponse.items: object expected");
-                                    message.items[i] = $root.google.cloud.sql.v1beta4.Flag.fromObject(object.items[i]);
+                                    message.items[i] = $root.google.cloud.sql.v1beta4.Flag.fromObject(object.items[i], long + 1);
                                 }
                             }
                             return message;
@@ -111579,7 +115949,7 @@
                         function ImportContext(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -111724,9 +116094,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        ImportContext.decode = function decode(reader, length, error) {
+                        ImportContext.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.ImportContext();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -111750,7 +116124,7 @@
                                         break;
                                     }
                                 case 5: {
-                                        message.csvImportOptions = $root.google.cloud.sql.v1beta4.ImportContext.SqlCsvImportOptions.decode(reader, reader.uint32());
+                                        message.csvImportOptions = $root.google.cloud.sql.v1beta4.ImportContext.SqlCsvImportOptions.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 6: {
@@ -111758,19 +116132,19 @@
                                         break;
                                     }
                                 case 7: {
-                                        message.bakImportOptions = $root.google.cloud.sql.v1beta4.ImportContext.SqlBakImportOptions.decode(reader, reader.uint32());
+                                        message.bakImportOptions = $root.google.cloud.sql.v1beta4.ImportContext.SqlBakImportOptions.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 8: {
-                                        message.sqlImportOptions = $root.google.cloud.sql.v1beta4.ImportContext.SqlImportOptions.decode(reader, reader.uint32());
+                                        message.sqlImportOptions = $root.google.cloud.sql.v1beta4.ImportContext.SqlImportOptions.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 9: {
-                                        message.tdeImportOptions = $root.google.cloud.sql.v1beta4.ImportContext.SqlTdeImportOptions.decode(reader, reader.uint32());
+                                        message.tdeImportOptions = $root.google.cloud.sql.v1beta4.ImportContext.SqlTdeImportOptions.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -111801,9 +116175,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        ImportContext.verify = function verify(message) {
+                        ImportContext.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.uri != null && message.hasOwnProperty("uri"))
                                 if (!$util.isString(message.uri))
                                     return "uri: string expected";
@@ -111825,7 +116203,7 @@
                                     break;
                                 }
                             if (message.csvImportOptions != null && message.hasOwnProperty("csvImportOptions")) {
-                                var error = $root.google.cloud.sql.v1beta4.ImportContext.SqlCsvImportOptions.verify(message.csvImportOptions);
+                                var error = $root.google.cloud.sql.v1beta4.ImportContext.SqlCsvImportOptions.verify(message.csvImportOptions, long + 1);
                                 if (error)
                                     return "csvImportOptions." + error;
                             }
@@ -111833,17 +116211,17 @@
                                 if (!$util.isString(message.importUser))
                                     return "importUser: string expected";
                             if (message.bakImportOptions != null && message.hasOwnProperty("bakImportOptions")) {
-                                var error = $root.google.cloud.sql.v1beta4.ImportContext.SqlBakImportOptions.verify(message.bakImportOptions);
+                                var error = $root.google.cloud.sql.v1beta4.ImportContext.SqlBakImportOptions.verify(message.bakImportOptions, long + 1);
                                 if (error)
                                     return "bakImportOptions." + error;
                             }
                             if (message.sqlImportOptions != null && message.hasOwnProperty("sqlImportOptions")) {
-                                var error = $root.google.cloud.sql.v1beta4.ImportContext.SqlImportOptions.verify(message.sqlImportOptions);
+                                var error = $root.google.cloud.sql.v1beta4.ImportContext.SqlImportOptions.verify(message.sqlImportOptions, long + 1);
                                 if (error)
                                     return "sqlImportOptions." + error;
                             }
                             if (message.tdeImportOptions != null && message.hasOwnProperty("tdeImportOptions")) {
-                                var error = $root.google.cloud.sql.v1beta4.ImportContext.SqlTdeImportOptions.verify(message.tdeImportOptions);
+                                var error = $root.google.cloud.sql.v1beta4.ImportContext.SqlTdeImportOptions.verify(message.tdeImportOptions, long + 1);
                                 if (error)
                                     return "tdeImportOptions." + error;
                             }
@@ -111858,9 +116236,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.ImportContext} ImportContext
                          */
-                        ImportContext.fromObject = function fromObject(object) {
+                        ImportContext.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.ImportContext)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.ImportContext();
                             if (object.uri != null)
                                 message.uri = String(object.uri);
@@ -111899,24 +116281,24 @@
                             if (object.csvImportOptions != null) {
                                 if (typeof object.csvImportOptions !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.ImportContext.csvImportOptions: object expected");
-                                message.csvImportOptions = $root.google.cloud.sql.v1beta4.ImportContext.SqlCsvImportOptions.fromObject(object.csvImportOptions);
+                                message.csvImportOptions = $root.google.cloud.sql.v1beta4.ImportContext.SqlCsvImportOptions.fromObject(object.csvImportOptions, long + 1);
                             }
                             if (object.importUser != null)
                                 message.importUser = String(object.importUser);
                             if (object.bakImportOptions != null) {
                                 if (typeof object.bakImportOptions !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.ImportContext.bakImportOptions: object expected");
-                                message.bakImportOptions = $root.google.cloud.sql.v1beta4.ImportContext.SqlBakImportOptions.fromObject(object.bakImportOptions);
+                                message.bakImportOptions = $root.google.cloud.sql.v1beta4.ImportContext.SqlBakImportOptions.fromObject(object.bakImportOptions, long + 1);
                             }
                             if (object.sqlImportOptions != null) {
                                 if (typeof object.sqlImportOptions !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.ImportContext.sqlImportOptions: object expected");
-                                message.sqlImportOptions = $root.google.cloud.sql.v1beta4.ImportContext.SqlImportOptions.fromObject(object.sqlImportOptions);
+                                message.sqlImportOptions = $root.google.cloud.sql.v1beta4.ImportContext.SqlImportOptions.fromObject(object.sqlImportOptions, long + 1);
                             }
                             if (object.tdeImportOptions != null) {
                                 if (typeof object.tdeImportOptions !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.ImportContext.tdeImportOptions: object expected");
-                                message.tdeImportOptions = $root.google.cloud.sql.v1beta4.ImportContext.SqlTdeImportOptions.fromObject(object.tdeImportOptions);
+                                message.tdeImportOptions = $root.google.cloud.sql.v1beta4.ImportContext.SqlTdeImportOptions.fromObject(object.tdeImportOptions, long + 1);
                             }
                             return message;
                         };
@@ -112014,7 +116396,7 @@
                             function SqlImportOptions(properties) {
                                 if (properties)
                                     for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                        if (properties[keys[i]] != null)
+                                        if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                             this[keys[i]] = properties[keys[i]];
                             }
     
@@ -112099,9 +116481,13 @@
                              * @throws {Error} If the payload is not a reader or valid buffer
                              * @throws {$protobuf.util.ProtocolError} If required fields are missing
                              */
-                            SqlImportOptions.decode = function decode(reader, length, error) {
+                            SqlImportOptions.decode = function decode(reader, length, error, long) {
                                 if (!(reader instanceof $Reader))
                                     reader = $Reader.create(reader);
+                                if (long === undefined)
+                                    long = 0;
+                                if (long > $Reader.recursionLimit)
+                                    throw Error("maximum nesting depth exceeded");
                                 var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.ImportContext.SqlImportOptions();
                                 while (reader.pos < end) {
                                     var tag = reader.uint32();
@@ -112109,19 +116495,19 @@
                                         break;
                                     switch (tag >>> 3) {
                                     case 1: {
-                                            message.threads = $root.google.protobuf.Int32Value.decode(reader, reader.uint32());
+                                            message.threads = $root.google.protobuf.Int32Value.decode(reader, reader.uint32(), undefined, long + 1);
                                             break;
                                         }
                                     case 2: {
-                                            message.parallel = $root.google.protobuf.BoolValue.decode(reader, reader.uint32());
+                                            message.parallel = $root.google.protobuf.BoolValue.decode(reader, reader.uint32(), undefined, long + 1);
                                             break;
                                         }
                                     case 3: {
-                                            message.postgresImportOptions = $root.google.cloud.sql.v1beta4.ImportContext.SqlImportOptions.PostgresImportOptions.decode(reader, reader.uint32());
+                                            message.postgresImportOptions = $root.google.cloud.sql.v1beta4.ImportContext.SqlImportOptions.PostgresImportOptions.decode(reader, reader.uint32(), undefined, long + 1);
                                             break;
                                         }
                                     default:
-                                        reader.skipType(tag & 7);
+                                        reader.skipType(tag & 7, long);
                                         break;
                                     }
                                 }
@@ -112152,21 +116538,25 @@
                              * @param {Object.<string,*>} message Plain object to verify
                              * @returns {string|null} `null` if valid, otherwise the reason why it is not
                              */
-                            SqlImportOptions.verify = function verify(message) {
+                            SqlImportOptions.verify = function verify(message, long) {
                                 if (typeof message !== "object" || message === null)
                                     return "object expected";
+                                if (long === undefined)
+                                    long = 0;
+                                if (long > $util.recursionLimit)
+                                    return "maximum nesting depth exceeded";
                                 if (message.threads != null && message.hasOwnProperty("threads")) {
-                                    var error = $root.google.protobuf.Int32Value.verify(message.threads);
+                                    var error = $root.google.protobuf.Int32Value.verify(message.threads, long + 1);
                                     if (error)
                                         return "threads." + error;
                                 }
                                 if (message.parallel != null && message.hasOwnProperty("parallel")) {
-                                    var error = $root.google.protobuf.BoolValue.verify(message.parallel);
+                                    var error = $root.google.protobuf.BoolValue.verify(message.parallel, long + 1);
                                     if (error)
                                         return "parallel." + error;
                                 }
                                 if (message.postgresImportOptions != null && message.hasOwnProperty("postgresImportOptions")) {
-                                    var error = $root.google.cloud.sql.v1beta4.ImportContext.SqlImportOptions.PostgresImportOptions.verify(message.postgresImportOptions);
+                                    var error = $root.google.cloud.sql.v1beta4.ImportContext.SqlImportOptions.PostgresImportOptions.verify(message.postgresImportOptions, long + 1);
                                     if (error)
                                         return "postgresImportOptions." + error;
                                 }
@@ -112181,24 +116571,28 @@
                              * @param {Object.<string,*>} object Plain object
                              * @returns {google.cloud.sql.v1beta4.ImportContext.SqlImportOptions} SqlImportOptions
                              */
-                            SqlImportOptions.fromObject = function fromObject(object) {
+                            SqlImportOptions.fromObject = function fromObject(object, long) {
                                 if (object instanceof $root.google.cloud.sql.v1beta4.ImportContext.SqlImportOptions)
                                     return object;
+                                if (long === undefined)
+                                    long = 0;
+                                if (long > $util.recursionLimit)
+                                    throw Error("maximum nesting depth exceeded");
                                 var message = new $root.google.cloud.sql.v1beta4.ImportContext.SqlImportOptions();
                                 if (object.threads != null) {
                                     if (typeof object.threads !== "object")
                                         throw TypeError(".google.cloud.sql.v1beta4.ImportContext.SqlImportOptions.threads: object expected");
-                                    message.threads = $root.google.protobuf.Int32Value.fromObject(object.threads);
+                                    message.threads = $root.google.protobuf.Int32Value.fromObject(object.threads, long + 1);
                                 }
                                 if (object.parallel != null) {
                                     if (typeof object.parallel !== "object")
                                         throw TypeError(".google.cloud.sql.v1beta4.ImportContext.SqlImportOptions.parallel: object expected");
-                                    message.parallel = $root.google.protobuf.BoolValue.fromObject(object.parallel);
+                                    message.parallel = $root.google.protobuf.BoolValue.fromObject(object.parallel, long + 1);
                                 }
                                 if (object.postgresImportOptions != null) {
                                     if (typeof object.postgresImportOptions !== "object")
                                         throw TypeError(".google.cloud.sql.v1beta4.ImportContext.SqlImportOptions.postgresImportOptions: object expected");
-                                    message.postgresImportOptions = $root.google.cloud.sql.v1beta4.ImportContext.SqlImportOptions.PostgresImportOptions.fromObject(object.postgresImportOptions);
+                                    message.postgresImportOptions = $root.google.cloud.sql.v1beta4.ImportContext.SqlImportOptions.PostgresImportOptions.fromObject(object.postgresImportOptions, long + 1);
                                 }
                                 return message;
                             };
@@ -112277,7 +116671,7 @@
                                 function PostgresImportOptions(properties) {
                                     if (properties)
                                         for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                            if (properties[keys[i]] != null)
+                                            if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                                 this[keys[i]] = properties[keys[i]];
                                 }
     
@@ -112352,9 +116746,13 @@
                                  * @throws {Error} If the payload is not a reader or valid buffer
                                  * @throws {$protobuf.util.ProtocolError} If required fields are missing
                                  */
-                                PostgresImportOptions.decode = function decode(reader, length, error) {
+                                PostgresImportOptions.decode = function decode(reader, length, error, long) {
                                     if (!(reader instanceof $Reader))
                                         reader = $Reader.create(reader);
+                                    if (long === undefined)
+                                        long = 0;
+                                    if (long > $Reader.recursionLimit)
+                                        throw Error("maximum nesting depth exceeded");
                                     var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.ImportContext.SqlImportOptions.PostgresImportOptions();
                                     while (reader.pos < end) {
                                         var tag = reader.uint32();
@@ -112362,15 +116760,15 @@
                                             break;
                                         switch (tag >>> 3) {
                                         case 1: {
-                                                message.clean = $root.google.protobuf.BoolValue.decode(reader, reader.uint32());
+                                                message.clean = $root.google.protobuf.BoolValue.decode(reader, reader.uint32(), undefined, long + 1);
                                                 break;
                                             }
                                         case 2: {
-                                                message.ifExists = $root.google.protobuf.BoolValue.decode(reader, reader.uint32());
+                                                message.ifExists = $root.google.protobuf.BoolValue.decode(reader, reader.uint32(), undefined, long + 1);
                                                 break;
                                             }
                                         default:
-                                            reader.skipType(tag & 7);
+                                            reader.skipType(tag & 7, long);
                                             break;
                                         }
                                     }
@@ -112401,16 +116799,20 @@
                                  * @param {Object.<string,*>} message Plain object to verify
                                  * @returns {string|null} `null` if valid, otherwise the reason why it is not
                                  */
-                                PostgresImportOptions.verify = function verify(message) {
+                                PostgresImportOptions.verify = function verify(message, long) {
                                     if (typeof message !== "object" || message === null)
                                         return "object expected";
+                                    if (long === undefined)
+                                        long = 0;
+                                    if (long > $util.recursionLimit)
+                                        return "maximum nesting depth exceeded";
                                     if (message.clean != null && message.hasOwnProperty("clean")) {
-                                        var error = $root.google.protobuf.BoolValue.verify(message.clean);
+                                        var error = $root.google.protobuf.BoolValue.verify(message.clean, long + 1);
                                         if (error)
                                             return "clean." + error;
                                     }
                                     if (message.ifExists != null && message.hasOwnProperty("ifExists")) {
-                                        var error = $root.google.protobuf.BoolValue.verify(message.ifExists);
+                                        var error = $root.google.protobuf.BoolValue.verify(message.ifExists, long + 1);
                                         if (error)
                                             return "ifExists." + error;
                                     }
@@ -112425,19 +116827,23 @@
                                  * @param {Object.<string,*>} object Plain object
                                  * @returns {google.cloud.sql.v1beta4.ImportContext.SqlImportOptions.PostgresImportOptions} PostgresImportOptions
                                  */
-                                PostgresImportOptions.fromObject = function fromObject(object) {
+                                PostgresImportOptions.fromObject = function fromObject(object, long) {
                                     if (object instanceof $root.google.cloud.sql.v1beta4.ImportContext.SqlImportOptions.PostgresImportOptions)
                                         return object;
+                                    if (long === undefined)
+                                        long = 0;
+                                    if (long > $util.recursionLimit)
+                                        throw Error("maximum nesting depth exceeded");
                                     var message = new $root.google.cloud.sql.v1beta4.ImportContext.SqlImportOptions.PostgresImportOptions();
                                     if (object.clean != null) {
                                         if (typeof object.clean !== "object")
                                             throw TypeError(".google.cloud.sql.v1beta4.ImportContext.SqlImportOptions.PostgresImportOptions.clean: object expected");
-                                        message.clean = $root.google.protobuf.BoolValue.fromObject(object.clean);
+                                        message.clean = $root.google.protobuf.BoolValue.fromObject(object.clean, long + 1);
                                     }
                                     if (object.ifExists != null) {
                                         if (typeof object.ifExists !== "object")
                                             throw TypeError(".google.cloud.sql.v1beta4.ImportContext.SqlImportOptions.PostgresImportOptions.ifExists: object expected");
-                                        message.ifExists = $root.google.protobuf.BoolValue.fromObject(object.ifExists);
+                                        message.ifExists = $root.google.protobuf.BoolValue.fromObject(object.ifExists, long + 1);
                                     }
                                     return message;
                                 };
@@ -112524,7 +116930,7 @@
                                 this.columns = [];
                                 if (properties)
                                     for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                        if (properties[keys[i]] != null)
+                                        if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                             this[keys[i]] = properties[keys[i]];
                             }
     
@@ -112640,9 +117046,13 @@
                              * @throws {Error} If the payload is not a reader or valid buffer
                              * @throws {$protobuf.util.ProtocolError} If required fields are missing
                              */
-                            SqlCsvImportOptions.decode = function decode(reader, length, error) {
+                            SqlCsvImportOptions.decode = function decode(reader, length, error, long) {
                                 if (!(reader instanceof $Reader))
                                     reader = $Reader.create(reader);
+                                if (long === undefined)
+                                    long = 0;
+                                if (long > $Reader.recursionLimit)
+                                    throw Error("maximum nesting depth exceeded");
                                 var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.ImportContext.SqlCsvImportOptions();
                                 while (reader.pos < end) {
                                     var tag = reader.uint32();
@@ -112676,7 +117086,7 @@
                                             break;
                                         }
                                     default:
-                                        reader.skipType(tag & 7);
+                                        reader.skipType(tag & 7, long);
                                         break;
                                     }
                                 }
@@ -112707,9 +117117,13 @@
                              * @param {Object.<string,*>} message Plain object to verify
                              * @returns {string|null} `null` if valid, otherwise the reason why it is not
                              */
-                            SqlCsvImportOptions.verify = function verify(message) {
+                            SqlCsvImportOptions.verify = function verify(message, long) {
                                 if (typeof message !== "object" || message === null)
                                     return "object expected";
+                                if (long === undefined)
+                                    long = 0;
+                                if (long > $util.recursionLimit)
+                                    return "maximum nesting depth exceeded";
                                 if (message.table != null && message.hasOwnProperty("table"))
                                     if (!$util.isString(message.table))
                                         return "table: string expected";
@@ -112743,9 +117157,13 @@
                              * @param {Object.<string,*>} object Plain object
                              * @returns {google.cloud.sql.v1beta4.ImportContext.SqlCsvImportOptions} SqlCsvImportOptions
                              */
-                            SqlCsvImportOptions.fromObject = function fromObject(object) {
+                            SqlCsvImportOptions.fromObject = function fromObject(object, long) {
                                 if (object instanceof $root.google.cloud.sql.v1beta4.ImportContext.SqlCsvImportOptions)
                                     return object;
+                                if (long === undefined)
+                                    long = 0;
+                                if (long > $util.recursionLimit)
+                                    throw Error("maximum nesting depth exceeded");
                                 var message = new $root.google.cloud.sql.v1beta4.ImportContext.SqlCsvImportOptions();
                                 if (object.table != null)
                                     message.table = String(object.table);
@@ -112862,7 +117280,7 @@
                             function SqlBakImportOptions(properties) {
                                 if (properties)
                                     for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                        if (properties[keys[i]] != null)
+                                        if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                             this[keys[i]] = properties[keys[i]];
                             }
     
@@ -112987,9 +117405,13 @@
                              * @throws {Error} If the payload is not a reader or valid buffer
                              * @throws {$protobuf.util.ProtocolError} If required fields are missing
                              */
-                            SqlBakImportOptions.decode = function decode(reader, length, error) {
+                            SqlBakImportOptions.decode = function decode(reader, length, error, long) {
                                 if (!(reader instanceof $Reader))
                                     reader = $Reader.create(reader);
+                                if (long === undefined)
+                                    long = 0;
+                                if (long > $Reader.recursionLimit)
+                                    throw Error("maximum nesting depth exceeded");
                                 var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.ImportContext.SqlBakImportOptions();
                                 while (reader.pos < end) {
                                     var tag = reader.uint32();
@@ -112997,19 +117419,19 @@
                                         break;
                                     switch (tag >>> 3) {
                                     case 1: {
-                                            message.encryptionOptions = $root.google.cloud.sql.v1beta4.ImportContext.SqlBakImportOptions.EncryptionOptions.decode(reader, reader.uint32());
+                                            message.encryptionOptions = $root.google.cloud.sql.v1beta4.ImportContext.SqlBakImportOptions.EncryptionOptions.decode(reader, reader.uint32(), undefined, long + 1);
                                             break;
                                         }
                                     case 2: {
-                                            message.striped = $root.google.protobuf.BoolValue.decode(reader, reader.uint32());
+                                            message.striped = $root.google.protobuf.BoolValue.decode(reader, reader.uint32(), undefined, long + 1);
                                             break;
                                         }
                                     case 4: {
-                                            message.noRecovery = $root.google.protobuf.BoolValue.decode(reader, reader.uint32());
+                                            message.noRecovery = $root.google.protobuf.BoolValue.decode(reader, reader.uint32(), undefined, long + 1);
                                             break;
                                         }
                                     case 5: {
-                                            message.recoveryOnly = $root.google.protobuf.BoolValue.decode(reader, reader.uint32());
+                                            message.recoveryOnly = $root.google.protobuf.BoolValue.decode(reader, reader.uint32(), undefined, long + 1);
                                             break;
                                         }
                                     case 6: {
@@ -113017,7 +117439,7 @@
                                             break;
                                         }
                                     case 7: {
-                                            message.stopAt = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+                                            message.stopAt = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1);
                                             break;
                                         }
                                     case 8: {
@@ -113025,7 +117447,7 @@
                                             break;
                                         }
                                     default:
-                                        reader.skipType(tag & 7);
+                                        reader.skipType(tag & 7, long);
                                         break;
                                     }
                                 }
@@ -113056,26 +117478,30 @@
                              * @param {Object.<string,*>} message Plain object to verify
                              * @returns {string|null} `null` if valid, otherwise the reason why it is not
                              */
-                            SqlBakImportOptions.verify = function verify(message) {
+                            SqlBakImportOptions.verify = function verify(message, long) {
                                 if (typeof message !== "object" || message === null)
                                     return "object expected";
+                                if (long === undefined)
+                                    long = 0;
+                                if (long > $util.recursionLimit)
+                                    return "maximum nesting depth exceeded";
                                 if (message.encryptionOptions != null && message.hasOwnProperty("encryptionOptions")) {
-                                    var error = $root.google.cloud.sql.v1beta4.ImportContext.SqlBakImportOptions.EncryptionOptions.verify(message.encryptionOptions);
+                                    var error = $root.google.cloud.sql.v1beta4.ImportContext.SqlBakImportOptions.EncryptionOptions.verify(message.encryptionOptions, long + 1);
                                     if (error)
                                         return "encryptionOptions." + error;
                                 }
                                 if (message.striped != null && message.hasOwnProperty("striped")) {
-                                    var error = $root.google.protobuf.BoolValue.verify(message.striped);
+                                    var error = $root.google.protobuf.BoolValue.verify(message.striped, long + 1);
                                     if (error)
                                         return "striped." + error;
                                 }
                                 if (message.noRecovery != null && message.hasOwnProperty("noRecovery")) {
-                                    var error = $root.google.protobuf.BoolValue.verify(message.noRecovery);
+                                    var error = $root.google.protobuf.BoolValue.verify(message.noRecovery, long + 1);
                                     if (error)
                                         return "noRecovery." + error;
                                 }
                                 if (message.recoveryOnly != null && message.hasOwnProperty("recoveryOnly")) {
-                                    var error = $root.google.protobuf.BoolValue.verify(message.recoveryOnly);
+                                    var error = $root.google.protobuf.BoolValue.verify(message.recoveryOnly, long + 1);
                                     if (error)
                                         return "recoveryOnly." + error;
                                 }
@@ -113090,7 +117516,7 @@
                                         break;
                                     }
                                 if (message.stopAt != null && message.hasOwnProperty("stopAt")) {
-                                    var error = $root.google.protobuf.Timestamp.verify(message.stopAt);
+                                    var error = $root.google.protobuf.Timestamp.verify(message.stopAt, long + 1);
                                     if (error)
                                         return "stopAt." + error;
                                 }
@@ -113108,29 +117534,33 @@
                              * @param {Object.<string,*>} object Plain object
                              * @returns {google.cloud.sql.v1beta4.ImportContext.SqlBakImportOptions} SqlBakImportOptions
                              */
-                            SqlBakImportOptions.fromObject = function fromObject(object) {
+                            SqlBakImportOptions.fromObject = function fromObject(object, long) {
                                 if (object instanceof $root.google.cloud.sql.v1beta4.ImportContext.SqlBakImportOptions)
                                     return object;
+                                if (long === undefined)
+                                    long = 0;
+                                if (long > $util.recursionLimit)
+                                    throw Error("maximum nesting depth exceeded");
                                 var message = new $root.google.cloud.sql.v1beta4.ImportContext.SqlBakImportOptions();
                                 if (object.encryptionOptions != null) {
                                     if (typeof object.encryptionOptions !== "object")
                                         throw TypeError(".google.cloud.sql.v1beta4.ImportContext.SqlBakImportOptions.encryptionOptions: object expected");
-                                    message.encryptionOptions = $root.google.cloud.sql.v1beta4.ImportContext.SqlBakImportOptions.EncryptionOptions.fromObject(object.encryptionOptions);
+                                    message.encryptionOptions = $root.google.cloud.sql.v1beta4.ImportContext.SqlBakImportOptions.EncryptionOptions.fromObject(object.encryptionOptions, long + 1);
                                 }
                                 if (object.striped != null) {
                                     if (typeof object.striped !== "object")
                                         throw TypeError(".google.cloud.sql.v1beta4.ImportContext.SqlBakImportOptions.striped: object expected");
-                                    message.striped = $root.google.protobuf.BoolValue.fromObject(object.striped);
+                                    message.striped = $root.google.protobuf.BoolValue.fromObject(object.striped, long + 1);
                                 }
                                 if (object.noRecovery != null) {
                                     if (typeof object.noRecovery !== "object")
                                         throw TypeError(".google.cloud.sql.v1beta4.ImportContext.SqlBakImportOptions.noRecovery: object expected");
-                                    message.noRecovery = $root.google.protobuf.BoolValue.fromObject(object.noRecovery);
+                                    message.noRecovery = $root.google.protobuf.BoolValue.fromObject(object.noRecovery, long + 1);
                                 }
                                 if (object.recoveryOnly != null) {
                                     if (typeof object.recoveryOnly !== "object")
                                         throw TypeError(".google.cloud.sql.v1beta4.ImportContext.SqlBakImportOptions.recoveryOnly: object expected");
-                                    message.recoveryOnly = $root.google.protobuf.BoolValue.fromObject(object.recoveryOnly);
+                                    message.recoveryOnly = $root.google.protobuf.BoolValue.fromObject(object.recoveryOnly, long + 1);
                                 }
                                 switch (object.bakType) {
                                 default:
@@ -113159,7 +117589,7 @@
                                 if (object.stopAt != null) {
                                     if (typeof object.stopAt !== "object")
                                         throw TypeError(".google.cloud.sql.v1beta4.ImportContext.SqlBakImportOptions.stopAt: object expected");
-                                    message.stopAt = $root.google.protobuf.Timestamp.fromObject(object.stopAt);
+                                    message.stopAt = $root.google.protobuf.Timestamp.fromObject(object.stopAt, long + 1);
                                 }
                                 if (object.stopAtMark != null)
                                     message.stopAtMark = String(object.stopAtMark);
@@ -113254,7 +117684,7 @@
                                 function EncryptionOptions(properties) {
                                     if (properties)
                                         for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                            if (properties[keys[i]] != null)
+                                            if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                                 this[keys[i]] = properties[keys[i]];
                                 }
     
@@ -113349,9 +117779,13 @@
                                  * @throws {Error} If the payload is not a reader or valid buffer
                                  * @throws {$protobuf.util.ProtocolError} If required fields are missing
                                  */
-                                EncryptionOptions.decode = function decode(reader, length, error) {
+                                EncryptionOptions.decode = function decode(reader, length, error, long) {
                                     if (!(reader instanceof $Reader))
                                         reader = $Reader.create(reader);
+                                    if (long === undefined)
+                                        long = 0;
+                                    if (long > $Reader.recursionLimit)
+                                        throw Error("maximum nesting depth exceeded");
                                     var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.ImportContext.SqlBakImportOptions.EncryptionOptions();
                                     while (reader.pos < end) {
                                         var tag = reader.uint32();
@@ -113371,11 +117805,11 @@
                                                 break;
                                             }
                                         case 5: {
-                                                message.keepEncrypted = $root.google.protobuf.BoolValue.decode(reader, reader.uint32());
+                                                message.keepEncrypted = $root.google.protobuf.BoolValue.decode(reader, reader.uint32(), undefined, long + 1);
                                                 break;
                                             }
                                         default:
-                                            reader.skipType(tag & 7);
+                                            reader.skipType(tag & 7, long);
                                             break;
                                         }
                                     }
@@ -113406,9 +117840,13 @@
                                  * @param {Object.<string,*>} message Plain object to verify
                                  * @returns {string|null} `null` if valid, otherwise the reason why it is not
                                  */
-                                EncryptionOptions.verify = function verify(message) {
+                                EncryptionOptions.verify = function verify(message, long) {
                                     if (typeof message !== "object" || message === null)
                                         return "object expected";
+                                    if (long === undefined)
+                                        long = 0;
+                                    if (long > $util.recursionLimit)
+                                        return "maximum nesting depth exceeded";
                                     if (message.certPath != null && message.hasOwnProperty("certPath"))
                                         if (!$util.isString(message.certPath))
                                             return "certPath: string expected";
@@ -113419,7 +117857,7 @@
                                         if (!$util.isString(message.pvkPassword))
                                             return "pvkPassword: string expected";
                                     if (message.keepEncrypted != null && message.hasOwnProperty("keepEncrypted")) {
-                                        var error = $root.google.protobuf.BoolValue.verify(message.keepEncrypted);
+                                        var error = $root.google.protobuf.BoolValue.verify(message.keepEncrypted, long + 1);
                                         if (error)
                                             return "keepEncrypted." + error;
                                     }
@@ -113434,9 +117872,13 @@
                                  * @param {Object.<string,*>} object Plain object
                                  * @returns {google.cloud.sql.v1beta4.ImportContext.SqlBakImportOptions.EncryptionOptions} EncryptionOptions
                                  */
-                                EncryptionOptions.fromObject = function fromObject(object) {
+                                EncryptionOptions.fromObject = function fromObject(object, long) {
                                     if (object instanceof $root.google.cloud.sql.v1beta4.ImportContext.SqlBakImportOptions.EncryptionOptions)
                                         return object;
+                                    if (long === undefined)
+                                        long = 0;
+                                    if (long > $util.recursionLimit)
+                                        throw Error("maximum nesting depth exceeded");
                                     var message = new $root.google.cloud.sql.v1beta4.ImportContext.SqlBakImportOptions.EncryptionOptions();
                                     if (object.certPath != null)
                                         message.certPath = String(object.certPath);
@@ -113447,7 +117889,7 @@
                                     if (object.keepEncrypted != null) {
                                         if (typeof object.keepEncrypted !== "object")
                                             throw TypeError(".google.cloud.sql.v1beta4.ImportContext.SqlBakImportOptions.EncryptionOptions.keepEncrypted: object expected");
-                                        message.keepEncrypted = $root.google.protobuf.BoolValue.fromObject(object.keepEncrypted);
+                                        message.keepEncrypted = $root.google.protobuf.BoolValue.fromObject(object.keepEncrypted, long + 1);
                                     }
                                     return message;
                                 };
@@ -113537,7 +117979,7 @@
                             function SqlTdeImportOptions(properties) {
                                 if (properties)
                                     for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                        if (properties[keys[i]] != null)
+                                        if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                             this[keys[i]] = properties[keys[i]];
                             }
     
@@ -113632,9 +118074,13 @@
                              * @throws {Error} If the payload is not a reader or valid buffer
                              * @throws {$protobuf.util.ProtocolError} If required fields are missing
                              */
-                            SqlTdeImportOptions.decode = function decode(reader, length, error) {
+                            SqlTdeImportOptions.decode = function decode(reader, length, error, long) {
                                 if (!(reader instanceof $Reader))
                                     reader = $Reader.create(reader);
+                                if (long === undefined)
+                                    long = 0;
+                                if (long > $Reader.recursionLimit)
+                                    throw Error("maximum nesting depth exceeded");
                                 var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.ImportContext.SqlTdeImportOptions();
                                 while (reader.pos < end) {
                                     var tag = reader.uint32();
@@ -113658,7 +118104,7 @@
                                             break;
                                         }
                                     default:
-                                        reader.skipType(tag & 7);
+                                        reader.skipType(tag & 7, long);
                                         break;
                                     }
                                 }
@@ -113689,9 +118135,13 @@
                              * @param {Object.<string,*>} message Plain object to verify
                              * @returns {string|null} `null` if valid, otherwise the reason why it is not
                              */
-                            SqlTdeImportOptions.verify = function verify(message) {
+                            SqlTdeImportOptions.verify = function verify(message, long) {
                                 if (typeof message !== "object" || message === null)
                                     return "object expected";
+                                if (long === undefined)
+                                    long = 0;
+                                if (long > $util.recursionLimit)
+                                    return "maximum nesting depth exceeded";
                                 if (message.certificatePath != null && message.hasOwnProperty("certificatePath"))
                                     if (!$util.isString(message.certificatePath))
                                         return "certificatePath: string expected";
@@ -113715,9 +118165,13 @@
                              * @param {Object.<string,*>} object Plain object
                              * @returns {google.cloud.sql.v1beta4.ImportContext.SqlTdeImportOptions} SqlTdeImportOptions
                              */
-                            SqlTdeImportOptions.fromObject = function fromObject(object) {
+                            SqlTdeImportOptions.fromObject = function fromObject(object, long) {
                                 if (object instanceof $root.google.cloud.sql.v1beta4.ImportContext.SqlTdeImportOptions)
                                     return object;
+                                if (long === undefined)
+                                    long = 0;
+                                if (long > $util.recursionLimit)
+                                    throw Error("maximum nesting depth exceeded");
                                 var message = new $root.google.cloud.sql.v1beta4.ImportContext.SqlTdeImportOptions();
                                 if (object.certificatePath != null)
                                     message.certificatePath = String(object.certificatePath);
@@ -113830,7 +118284,7 @@
                         function InstancesCloneRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -113895,9 +118349,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        InstancesCloneRequest.decode = function decode(reader, length, error) {
+                        InstancesCloneRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.InstancesCloneRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -113905,11 +118363,11 @@
                                     break;
                                 switch (tag >>> 3) {
                                 case 1: {
-                                        message.cloneContext = $root.google.cloud.sql.v1beta4.CloneContext.decode(reader, reader.uint32());
+                                        message.cloneContext = $root.google.cloud.sql.v1beta4.CloneContext.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -113940,11 +118398,15 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        InstancesCloneRequest.verify = function verify(message) {
+                        InstancesCloneRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.cloneContext != null && message.hasOwnProperty("cloneContext")) {
-                                var error = $root.google.cloud.sql.v1beta4.CloneContext.verify(message.cloneContext);
+                                var error = $root.google.cloud.sql.v1beta4.CloneContext.verify(message.cloneContext, long + 1);
                                 if (error)
                                     return "cloneContext." + error;
                             }
@@ -113959,14 +118421,18 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.InstancesCloneRequest} InstancesCloneRequest
                          */
-                        InstancesCloneRequest.fromObject = function fromObject(object) {
+                        InstancesCloneRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.InstancesCloneRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.InstancesCloneRequest();
                             if (object.cloneContext != null) {
                                 if (typeof object.cloneContext !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.InstancesCloneRequest.cloneContext: object expected");
-                                message.cloneContext = $root.google.cloud.sql.v1beta4.CloneContext.fromObject(object.cloneContext);
+                                message.cloneContext = $root.google.cloud.sql.v1beta4.CloneContext.fromObject(object.cloneContext, long + 1);
                             }
                             return message;
                         };
@@ -114040,7 +118506,7 @@
                         function InstancesDemoteMasterRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -114105,9 +118571,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        InstancesDemoteMasterRequest.decode = function decode(reader, length, error) {
+                        InstancesDemoteMasterRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.InstancesDemoteMasterRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -114115,11 +118585,11 @@
                                     break;
                                 switch (tag >>> 3) {
                                 case 1: {
-                                        message.demoteMasterContext = $root.google.cloud.sql.v1beta4.DemoteMasterContext.decode(reader, reader.uint32());
+                                        message.demoteMasterContext = $root.google.cloud.sql.v1beta4.DemoteMasterContext.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -114150,11 +118620,15 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        InstancesDemoteMasterRequest.verify = function verify(message) {
+                        InstancesDemoteMasterRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.demoteMasterContext != null && message.hasOwnProperty("demoteMasterContext")) {
-                                var error = $root.google.cloud.sql.v1beta4.DemoteMasterContext.verify(message.demoteMasterContext);
+                                var error = $root.google.cloud.sql.v1beta4.DemoteMasterContext.verify(message.demoteMasterContext, long + 1);
                                 if (error)
                                     return "demoteMasterContext." + error;
                             }
@@ -114169,14 +118643,18 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.InstancesDemoteMasterRequest} InstancesDemoteMasterRequest
                          */
-                        InstancesDemoteMasterRequest.fromObject = function fromObject(object) {
+                        InstancesDemoteMasterRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.InstancesDemoteMasterRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.InstancesDemoteMasterRequest();
                             if (object.demoteMasterContext != null) {
                                 if (typeof object.demoteMasterContext !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.InstancesDemoteMasterRequest.demoteMasterContext: object expected");
-                                message.demoteMasterContext = $root.google.cloud.sql.v1beta4.DemoteMasterContext.fromObject(object.demoteMasterContext);
+                                message.demoteMasterContext = $root.google.cloud.sql.v1beta4.DemoteMasterContext.fromObject(object.demoteMasterContext, long + 1);
                             }
                             return message;
                         };
@@ -114250,7 +118728,7 @@
                         function InstancesDemoteRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -114315,9 +118793,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        InstancesDemoteRequest.decode = function decode(reader, length, error) {
+                        InstancesDemoteRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.InstancesDemoteRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -114325,11 +118807,11 @@
                                     break;
                                 switch (tag >>> 3) {
                                 case 1: {
-                                        message.demoteContext = $root.google.cloud.sql.v1beta4.DemoteContext.decode(reader, reader.uint32());
+                                        message.demoteContext = $root.google.cloud.sql.v1beta4.DemoteContext.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -114360,11 +118842,15 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        InstancesDemoteRequest.verify = function verify(message) {
+                        InstancesDemoteRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.demoteContext != null && message.hasOwnProperty("demoteContext")) {
-                                var error = $root.google.cloud.sql.v1beta4.DemoteContext.verify(message.demoteContext);
+                                var error = $root.google.cloud.sql.v1beta4.DemoteContext.verify(message.demoteContext, long + 1);
                                 if (error)
                                     return "demoteContext." + error;
                             }
@@ -114379,14 +118865,18 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.InstancesDemoteRequest} InstancesDemoteRequest
                          */
-                        InstancesDemoteRequest.fromObject = function fromObject(object) {
+                        InstancesDemoteRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.InstancesDemoteRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.InstancesDemoteRequest();
                             if (object.demoteContext != null) {
                                 if (typeof object.demoteContext !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.InstancesDemoteRequest.demoteContext: object expected");
-                                message.demoteContext = $root.google.cloud.sql.v1beta4.DemoteContext.fromObject(object.demoteContext);
+                                message.demoteContext = $root.google.cloud.sql.v1beta4.DemoteContext.fromObject(object.demoteContext, long + 1);
                             }
                             return message;
                         };
@@ -114460,7 +118950,7 @@
                         function InstancesExportRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -114525,9 +119015,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        InstancesExportRequest.decode = function decode(reader, length, error) {
+                        InstancesExportRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.InstancesExportRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -114535,11 +119029,11 @@
                                     break;
                                 switch (tag >>> 3) {
                                 case 1: {
-                                        message.exportContext = $root.google.cloud.sql.v1beta4.ExportContext.decode(reader, reader.uint32());
+                                        message.exportContext = $root.google.cloud.sql.v1beta4.ExportContext.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -114570,11 +119064,15 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        InstancesExportRequest.verify = function verify(message) {
+                        InstancesExportRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.exportContext != null && message.hasOwnProperty("exportContext")) {
-                                var error = $root.google.cloud.sql.v1beta4.ExportContext.verify(message.exportContext);
+                                var error = $root.google.cloud.sql.v1beta4.ExportContext.verify(message.exportContext, long + 1);
                                 if (error)
                                     return "exportContext." + error;
                             }
@@ -114589,14 +119087,18 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.InstancesExportRequest} InstancesExportRequest
                          */
-                        InstancesExportRequest.fromObject = function fromObject(object) {
+                        InstancesExportRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.InstancesExportRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.InstancesExportRequest();
                             if (object.exportContext != null) {
                                 if (typeof object.exportContext !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.InstancesExportRequest.exportContext: object expected");
-                                message.exportContext = $root.google.cloud.sql.v1beta4.ExportContext.fromObject(object.exportContext);
+                                message.exportContext = $root.google.cloud.sql.v1beta4.ExportContext.fromObject(object.exportContext, long + 1);
                             }
                             return message;
                         };
@@ -114670,7 +119172,7 @@
                         function InstancesFailoverRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -114735,9 +119237,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        InstancesFailoverRequest.decode = function decode(reader, length, error) {
+                        InstancesFailoverRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.InstancesFailoverRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -114745,11 +119251,11 @@
                                     break;
                                 switch (tag >>> 3) {
                                 case 1: {
-                                        message.failoverContext = $root.google.cloud.sql.v1beta4.FailoverContext.decode(reader, reader.uint32());
+                                        message.failoverContext = $root.google.cloud.sql.v1beta4.FailoverContext.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -114780,11 +119286,15 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        InstancesFailoverRequest.verify = function verify(message) {
+                        InstancesFailoverRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.failoverContext != null && message.hasOwnProperty("failoverContext")) {
-                                var error = $root.google.cloud.sql.v1beta4.FailoverContext.verify(message.failoverContext);
+                                var error = $root.google.cloud.sql.v1beta4.FailoverContext.verify(message.failoverContext, long + 1);
                                 if (error)
                                     return "failoverContext." + error;
                             }
@@ -114799,14 +119309,18 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.InstancesFailoverRequest} InstancesFailoverRequest
                          */
-                        InstancesFailoverRequest.fromObject = function fromObject(object) {
+                        InstancesFailoverRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.InstancesFailoverRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.InstancesFailoverRequest();
                             if (object.failoverContext != null) {
                                 if (typeof object.failoverContext !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.InstancesFailoverRequest.failoverContext: object expected");
-                                message.failoverContext = $root.google.cloud.sql.v1beta4.FailoverContext.fromObject(object.failoverContext);
+                                message.failoverContext = $root.google.cloud.sql.v1beta4.FailoverContext.fromObject(object.failoverContext, long + 1);
                             }
                             return message;
                         };
@@ -114880,7 +119394,7 @@
                         function InstancesImportRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -114945,9 +119459,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        InstancesImportRequest.decode = function decode(reader, length, error) {
+                        InstancesImportRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.InstancesImportRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -114955,11 +119473,11 @@
                                     break;
                                 switch (tag >>> 3) {
                                 case 1: {
-                                        message.importContext = $root.google.cloud.sql.v1beta4.ImportContext.decode(reader, reader.uint32());
+                                        message.importContext = $root.google.cloud.sql.v1beta4.ImportContext.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -114990,11 +119508,15 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        InstancesImportRequest.verify = function verify(message) {
+                        InstancesImportRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.importContext != null && message.hasOwnProperty("importContext")) {
-                                var error = $root.google.cloud.sql.v1beta4.ImportContext.verify(message.importContext);
+                                var error = $root.google.cloud.sql.v1beta4.ImportContext.verify(message.importContext, long + 1);
                                 if (error)
                                     return "importContext." + error;
                             }
@@ -115009,14 +119531,18 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.InstancesImportRequest} InstancesImportRequest
                          */
-                        InstancesImportRequest.fromObject = function fromObject(object) {
+                        InstancesImportRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.InstancesImportRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.InstancesImportRequest();
                             if (object.importContext != null) {
                                 if (typeof object.importContext !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.InstancesImportRequest.importContext: object expected");
-                                message.importContext = $root.google.cloud.sql.v1beta4.ImportContext.fromObject(object.importContext);
+                                message.importContext = $root.google.cloud.sql.v1beta4.ImportContext.fromObject(object.importContext, long + 1);
                             }
                             return message;
                         };
@@ -115090,7 +119616,7 @@
                         function InstancesPreCheckMajorVersionUpgradeRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -115155,9 +119681,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        InstancesPreCheckMajorVersionUpgradeRequest.decode = function decode(reader, length, error) {
+                        InstancesPreCheckMajorVersionUpgradeRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.InstancesPreCheckMajorVersionUpgradeRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -115165,11 +119695,11 @@
                                     break;
                                 switch (tag >>> 3) {
                                 case 1: {
-                                        message.preCheckMajorVersionUpgradeContext = $root.google.cloud.sql.v1beta4.PreCheckMajorVersionUpgradeContext.decode(reader, reader.uint32());
+                                        message.preCheckMajorVersionUpgradeContext = $root.google.cloud.sql.v1beta4.PreCheckMajorVersionUpgradeContext.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -115200,11 +119730,15 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        InstancesPreCheckMajorVersionUpgradeRequest.verify = function verify(message) {
+                        InstancesPreCheckMajorVersionUpgradeRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.preCheckMajorVersionUpgradeContext != null && message.hasOwnProperty("preCheckMajorVersionUpgradeContext")) {
-                                var error = $root.google.cloud.sql.v1beta4.PreCheckMajorVersionUpgradeContext.verify(message.preCheckMajorVersionUpgradeContext);
+                                var error = $root.google.cloud.sql.v1beta4.PreCheckMajorVersionUpgradeContext.verify(message.preCheckMajorVersionUpgradeContext, long + 1);
                                 if (error)
                                     return "preCheckMajorVersionUpgradeContext." + error;
                             }
@@ -115219,14 +119753,18 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.InstancesPreCheckMajorVersionUpgradeRequest} InstancesPreCheckMajorVersionUpgradeRequest
                          */
-                        InstancesPreCheckMajorVersionUpgradeRequest.fromObject = function fromObject(object) {
+                        InstancesPreCheckMajorVersionUpgradeRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.InstancesPreCheckMajorVersionUpgradeRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.InstancesPreCheckMajorVersionUpgradeRequest();
                             if (object.preCheckMajorVersionUpgradeContext != null) {
                                 if (typeof object.preCheckMajorVersionUpgradeContext !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.InstancesPreCheckMajorVersionUpgradeRequest.preCheckMajorVersionUpgradeContext: object expected");
-                                message.preCheckMajorVersionUpgradeContext = $root.google.cloud.sql.v1beta4.PreCheckMajorVersionUpgradeContext.fromObject(object.preCheckMajorVersionUpgradeContext);
+                                message.preCheckMajorVersionUpgradeContext = $root.google.cloud.sql.v1beta4.PreCheckMajorVersionUpgradeContext.fromObject(object.preCheckMajorVersionUpgradeContext, long + 1);
                             }
                             return message;
                         };
@@ -115301,7 +119839,7 @@
                             this.initialSyncFlags = [];
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -115367,9 +119905,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        MySqlSyncConfig.decode = function decode(reader, length, error) {
+                        MySqlSyncConfig.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.MySqlSyncConfig();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -115379,11 +119921,11 @@
                                 case 1: {
                                         if (!(message.initialSyncFlags && message.initialSyncFlags.length))
                                             message.initialSyncFlags = [];
-                                        message.initialSyncFlags.push($root.google.cloud.sql.v1beta4.SyncFlags.decode(reader, reader.uint32()));
+                                        message.initialSyncFlags.push($root.google.cloud.sql.v1beta4.SyncFlags.decode(reader, reader.uint32(), undefined, long + 1));
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -115414,14 +119956,18 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        MySqlSyncConfig.verify = function verify(message) {
+                        MySqlSyncConfig.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.initialSyncFlags != null && message.hasOwnProperty("initialSyncFlags")) {
                                 if (!Array.isArray(message.initialSyncFlags))
                                     return "initialSyncFlags: array expected";
                                 for (var i = 0; i < message.initialSyncFlags.length; ++i) {
-                                    var error = $root.google.cloud.sql.v1beta4.SyncFlags.verify(message.initialSyncFlags[i]);
+                                    var error = $root.google.cloud.sql.v1beta4.SyncFlags.verify(message.initialSyncFlags[i], long + 1);
                                     if (error)
                                         return "initialSyncFlags." + error;
                                 }
@@ -115437,9 +119983,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.MySqlSyncConfig} MySqlSyncConfig
                          */
-                        MySqlSyncConfig.fromObject = function fromObject(object) {
+                        MySqlSyncConfig.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.MySqlSyncConfig)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.MySqlSyncConfig();
                             if (object.initialSyncFlags) {
                                 if (!Array.isArray(object.initialSyncFlags))
@@ -115448,7 +119998,7 @@
                                 for (var i = 0; i < object.initialSyncFlags.length; ++i) {
                                     if (typeof object.initialSyncFlags[i] !== "object")
                                         throw TypeError(".google.cloud.sql.v1beta4.MySqlSyncConfig.initialSyncFlags: object expected");
-                                    message.initialSyncFlags[i] = $root.google.cloud.sql.v1beta4.SyncFlags.fromObject(object.initialSyncFlags[i]);
+                                    message.initialSyncFlags[i] = $root.google.cloud.sql.v1beta4.SyncFlags.fromObject(object.initialSyncFlags[i], long + 1);
                                 }
                             }
                             return message;
@@ -115531,7 +120081,7 @@
                             this.items = [];
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -115628,9 +120178,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        InstancesListResponse.decode = function decode(reader, length, error) {
+                        InstancesListResponse.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.InstancesListResponse();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -115644,13 +120198,13 @@
                                 case 2: {
                                         if (!(message.warnings && message.warnings.length))
                                             message.warnings = [];
-                                        message.warnings.push($root.google.cloud.sql.v1beta4.ApiWarning.decode(reader, reader.uint32()));
+                                        message.warnings.push($root.google.cloud.sql.v1beta4.ApiWarning.decode(reader, reader.uint32(), undefined, long + 1));
                                         break;
                                     }
                                 case 3: {
                                         if (!(message.items && message.items.length))
                                             message.items = [];
-                                        message.items.push($root.google.cloud.sql.v1beta4.DatabaseInstance.decode(reader, reader.uint32()));
+                                        message.items.push($root.google.cloud.sql.v1beta4.DatabaseInstance.decode(reader, reader.uint32(), undefined, long + 1));
                                         break;
                                     }
                                 case 4: {
@@ -115658,7 +120212,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -115689,9 +120243,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        InstancesListResponse.verify = function verify(message) {
+                        InstancesListResponse.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.kind != null && message.hasOwnProperty("kind"))
                                 if (!$util.isString(message.kind))
                                     return "kind: string expected";
@@ -115699,7 +120257,7 @@
                                 if (!Array.isArray(message.warnings))
                                     return "warnings: array expected";
                                 for (var i = 0; i < message.warnings.length; ++i) {
-                                    var error = $root.google.cloud.sql.v1beta4.ApiWarning.verify(message.warnings[i]);
+                                    var error = $root.google.cloud.sql.v1beta4.ApiWarning.verify(message.warnings[i], long + 1);
                                     if (error)
                                         return "warnings." + error;
                                 }
@@ -115708,7 +120266,7 @@
                                 if (!Array.isArray(message.items))
                                     return "items: array expected";
                                 for (var i = 0; i < message.items.length; ++i) {
-                                    var error = $root.google.cloud.sql.v1beta4.DatabaseInstance.verify(message.items[i]);
+                                    var error = $root.google.cloud.sql.v1beta4.DatabaseInstance.verify(message.items[i], long + 1);
                                     if (error)
                                         return "items." + error;
                                 }
@@ -115727,9 +120285,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.InstancesListResponse} InstancesListResponse
                          */
-                        InstancesListResponse.fromObject = function fromObject(object) {
+                        InstancesListResponse.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.InstancesListResponse)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.InstancesListResponse();
                             if (object.kind != null)
                                 message.kind = String(object.kind);
@@ -115740,7 +120302,7 @@
                                 for (var i = 0; i < object.warnings.length; ++i) {
                                     if (typeof object.warnings[i] !== "object")
                                         throw TypeError(".google.cloud.sql.v1beta4.InstancesListResponse.warnings: object expected");
-                                    message.warnings[i] = $root.google.cloud.sql.v1beta4.ApiWarning.fromObject(object.warnings[i]);
+                                    message.warnings[i] = $root.google.cloud.sql.v1beta4.ApiWarning.fromObject(object.warnings[i], long + 1);
                                 }
                             }
                             if (object.items) {
@@ -115750,7 +120312,7 @@
                                 for (var i = 0; i < object.items.length; ++i) {
                                     if (typeof object.items[i] !== "object")
                                         throw TypeError(".google.cloud.sql.v1beta4.InstancesListResponse.items: object expected");
-                                    message.items[i] = $root.google.cloud.sql.v1beta4.DatabaseInstance.fromObject(object.items[i]);
+                                    message.items[i] = $root.google.cloud.sql.v1beta4.DatabaseInstance.fromObject(object.items[i], long + 1);
                                 }
                             }
                             if (object.nextPageToken != null)
@@ -115848,7 +120410,7 @@
                             this.certs = [];
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -115934,9 +120496,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        InstancesListServerCasResponse.decode = function decode(reader, length, error) {
+                        InstancesListServerCasResponse.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.InstancesListServerCasResponse();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -115946,7 +120512,7 @@
                                 case 1: {
                                         if (!(message.certs && message.certs.length))
                                             message.certs = [];
-                                        message.certs.push($root.google.cloud.sql.v1beta4.SslCert.decode(reader, reader.uint32()));
+                                        message.certs.push($root.google.cloud.sql.v1beta4.SslCert.decode(reader, reader.uint32(), undefined, long + 1));
                                         break;
                                     }
                                 case 2: {
@@ -115958,7 +120524,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -115989,14 +120555,18 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        InstancesListServerCasResponse.verify = function verify(message) {
+                        InstancesListServerCasResponse.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.certs != null && message.hasOwnProperty("certs")) {
                                 if (!Array.isArray(message.certs))
                                     return "certs: array expected";
                                 for (var i = 0; i < message.certs.length; ++i) {
-                                    var error = $root.google.cloud.sql.v1beta4.SslCert.verify(message.certs[i]);
+                                    var error = $root.google.cloud.sql.v1beta4.SslCert.verify(message.certs[i], long + 1);
                                     if (error)
                                         return "certs." + error;
                                 }
@@ -116018,9 +120588,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.InstancesListServerCasResponse} InstancesListServerCasResponse
                          */
-                        InstancesListServerCasResponse.fromObject = function fromObject(object) {
+                        InstancesListServerCasResponse.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.InstancesListServerCasResponse)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.InstancesListServerCasResponse();
                             if (object.certs) {
                                 if (!Array.isArray(object.certs))
@@ -116029,7 +120603,7 @@
                                 for (var i = 0; i < object.certs.length; ++i) {
                                     if (typeof object.certs[i] !== "object")
                                         throw TypeError(".google.cloud.sql.v1beta4.InstancesListServerCasResponse.certs: object expected");
-                                    message.certs[i] = $root.google.cloud.sql.v1beta4.SslCert.fromObject(object.certs[i]);
+                                    message.certs[i] = $root.google.cloud.sql.v1beta4.SslCert.fromObject(object.certs[i], long + 1);
                                 }
                             }
                             if (object.activeVersion != null)
@@ -116124,7 +120698,7 @@
                             this.serverCerts = [];
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -116221,9 +120795,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        InstancesListServerCertificatesResponse.decode = function decode(reader, length, error) {
+                        InstancesListServerCertificatesResponse.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.InstancesListServerCertificatesResponse();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -116233,13 +120811,13 @@
                                 case 1: {
                                         if (!(message.caCerts && message.caCerts.length))
                                             message.caCerts = [];
-                                        message.caCerts.push($root.google.cloud.sql.v1beta4.SslCert.decode(reader, reader.uint32()));
+                                        message.caCerts.push($root.google.cloud.sql.v1beta4.SslCert.decode(reader, reader.uint32(), undefined, long + 1));
                                         break;
                                     }
                                 case 2: {
                                         if (!(message.serverCerts && message.serverCerts.length))
                                             message.serverCerts = [];
-                                        message.serverCerts.push($root.google.cloud.sql.v1beta4.SslCert.decode(reader, reader.uint32()));
+                                        message.serverCerts.push($root.google.cloud.sql.v1beta4.SslCert.decode(reader, reader.uint32(), undefined, long + 1));
                                         break;
                                     }
                                 case 3: {
@@ -116251,7 +120829,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -116282,14 +120860,18 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        InstancesListServerCertificatesResponse.verify = function verify(message) {
+                        InstancesListServerCertificatesResponse.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.caCerts != null && message.hasOwnProperty("caCerts")) {
                                 if (!Array.isArray(message.caCerts))
                                     return "caCerts: array expected";
                                 for (var i = 0; i < message.caCerts.length; ++i) {
-                                    var error = $root.google.cloud.sql.v1beta4.SslCert.verify(message.caCerts[i]);
+                                    var error = $root.google.cloud.sql.v1beta4.SslCert.verify(message.caCerts[i], long + 1);
                                     if (error)
                                         return "caCerts." + error;
                                 }
@@ -116298,7 +120880,7 @@
                                 if (!Array.isArray(message.serverCerts))
                                     return "serverCerts: array expected";
                                 for (var i = 0; i < message.serverCerts.length; ++i) {
-                                    var error = $root.google.cloud.sql.v1beta4.SslCert.verify(message.serverCerts[i]);
+                                    var error = $root.google.cloud.sql.v1beta4.SslCert.verify(message.serverCerts[i], long + 1);
                                     if (error)
                                         return "serverCerts." + error;
                                 }
@@ -116320,9 +120902,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.InstancesListServerCertificatesResponse} InstancesListServerCertificatesResponse
                          */
-                        InstancesListServerCertificatesResponse.fromObject = function fromObject(object) {
+                        InstancesListServerCertificatesResponse.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.InstancesListServerCertificatesResponse)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.InstancesListServerCertificatesResponse();
                             if (object.caCerts) {
                                 if (!Array.isArray(object.caCerts))
@@ -116331,7 +120917,7 @@
                                 for (var i = 0; i < object.caCerts.length; ++i) {
                                     if (typeof object.caCerts[i] !== "object")
                                         throw TypeError(".google.cloud.sql.v1beta4.InstancesListServerCertificatesResponse.caCerts: object expected");
-                                    message.caCerts[i] = $root.google.cloud.sql.v1beta4.SslCert.fromObject(object.caCerts[i]);
+                                    message.caCerts[i] = $root.google.cloud.sql.v1beta4.SslCert.fromObject(object.caCerts[i], long + 1);
                                 }
                             }
                             if (object.serverCerts) {
@@ -116341,7 +120927,7 @@
                                 for (var i = 0; i < object.serverCerts.length; ++i) {
                                     if (typeof object.serverCerts[i] !== "object")
                                         throw TypeError(".google.cloud.sql.v1beta4.InstancesListServerCertificatesResponse.serverCerts: object expected");
-                                    message.serverCerts[i] = $root.google.cloud.sql.v1beta4.SslCert.fromObject(object.serverCerts[i]);
+                                    message.serverCerts[i] = $root.google.cloud.sql.v1beta4.SslCert.fromObject(object.serverCerts[i], long + 1);
                                 }
                             }
                             if (object.activeVersion != null)
@@ -116441,7 +121027,7 @@
                             this.certs = [];
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -116527,9 +121113,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        InstancesListEntraIdCertificatesResponse.decode = function decode(reader, length, error) {
+                        InstancesListEntraIdCertificatesResponse.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.InstancesListEntraIdCertificatesResponse();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -116539,7 +121129,7 @@
                                 case 1: {
                                         if (!(message.certs && message.certs.length))
                                             message.certs = [];
-                                        message.certs.push($root.google.cloud.sql.v1beta4.SslCert.decode(reader, reader.uint32()));
+                                        message.certs.push($root.google.cloud.sql.v1beta4.SslCert.decode(reader, reader.uint32(), undefined, long + 1));
                                         break;
                                     }
                                 case 2: {
@@ -116551,7 +121141,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -116582,14 +121172,18 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        InstancesListEntraIdCertificatesResponse.verify = function verify(message) {
+                        InstancesListEntraIdCertificatesResponse.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.certs != null && message.hasOwnProperty("certs")) {
                                 if (!Array.isArray(message.certs))
                                     return "certs: array expected";
                                 for (var i = 0; i < message.certs.length; ++i) {
-                                    var error = $root.google.cloud.sql.v1beta4.SslCert.verify(message.certs[i]);
+                                    var error = $root.google.cloud.sql.v1beta4.SslCert.verify(message.certs[i], long + 1);
                                     if (error)
                                         return "certs." + error;
                                 }
@@ -116611,9 +121205,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.InstancesListEntraIdCertificatesResponse} InstancesListEntraIdCertificatesResponse
                          */
-                        InstancesListEntraIdCertificatesResponse.fromObject = function fromObject(object) {
+                        InstancesListEntraIdCertificatesResponse.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.InstancesListEntraIdCertificatesResponse)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.InstancesListEntraIdCertificatesResponse();
                             if (object.certs) {
                                 if (!Array.isArray(object.certs))
@@ -116622,7 +121220,7 @@
                                 for (var i = 0; i < object.certs.length; ++i) {
                                     if (typeof object.certs[i] !== "object")
                                         throw TypeError(".google.cloud.sql.v1beta4.InstancesListEntraIdCertificatesResponse.certs: object expected");
-                                    message.certs[i] = $root.google.cloud.sql.v1beta4.SslCert.fromObject(object.certs[i]);
+                                    message.certs[i] = $root.google.cloud.sql.v1beta4.SslCert.fromObject(object.certs[i], long + 1);
                                 }
                             }
                             if (object.activeVersion != null)
@@ -116717,7 +121315,7 @@
                             this.restoreInstanceClearOverridesFieldNames = [];
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -116823,9 +121421,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        InstancesRestoreBackupRequest.decode = function decode(reader, length, error) {
+                        InstancesRestoreBackupRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.InstancesRestoreBackupRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -116833,7 +121435,7 @@
                                     break;
                                 switch (tag >>> 3) {
                                 case 1: {
-                                        message.restoreBackupContext = $root.google.cloud.sql.v1beta4.RestoreBackupContext.decode(reader, reader.uint32());
+                                        message.restoreBackupContext = $root.google.cloud.sql.v1beta4.RestoreBackupContext.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 2: {
@@ -116845,7 +121447,7 @@
                                         break;
                                     }
                                 case 3: {
-                                        message.restoreInstanceSettings = $root.google.cloud.sql.v1beta4.DatabaseInstance.decode(reader, reader.uint32());
+                                        message.restoreInstanceSettings = $root.google.cloud.sql.v1beta4.DatabaseInstance.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 5: {
@@ -116855,7 +121457,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -116886,11 +121488,15 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        InstancesRestoreBackupRequest.verify = function verify(message) {
+                        InstancesRestoreBackupRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.restoreBackupContext != null && message.hasOwnProperty("restoreBackupContext")) {
-                                var error = $root.google.cloud.sql.v1beta4.RestoreBackupContext.verify(message.restoreBackupContext);
+                                var error = $root.google.cloud.sql.v1beta4.RestoreBackupContext.verify(message.restoreBackupContext, long + 1);
                                 if (error)
                                     return "restoreBackupContext." + error;
                             }
@@ -116901,7 +121507,7 @@
                                 if (!$util.isString(message.backupdrBackup))
                                     return "backupdrBackup: string expected";
                             if (message.restoreInstanceSettings != null && message.hasOwnProperty("restoreInstanceSettings")) {
-                                var error = $root.google.cloud.sql.v1beta4.DatabaseInstance.verify(message.restoreInstanceSettings);
+                                var error = $root.google.cloud.sql.v1beta4.DatabaseInstance.verify(message.restoreInstanceSettings, long + 1);
                                 if (error)
                                     return "restoreInstanceSettings." + error;
                             }
@@ -116923,14 +121529,18 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.InstancesRestoreBackupRequest} InstancesRestoreBackupRequest
                          */
-                        InstancesRestoreBackupRequest.fromObject = function fromObject(object) {
+                        InstancesRestoreBackupRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.InstancesRestoreBackupRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.InstancesRestoreBackupRequest();
                             if (object.restoreBackupContext != null) {
                                 if (typeof object.restoreBackupContext !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.InstancesRestoreBackupRequest.restoreBackupContext: object expected");
-                                message.restoreBackupContext = $root.google.cloud.sql.v1beta4.RestoreBackupContext.fromObject(object.restoreBackupContext);
+                                message.restoreBackupContext = $root.google.cloud.sql.v1beta4.RestoreBackupContext.fromObject(object.restoreBackupContext, long + 1);
                             }
                             if (object.backup != null)
                                 message.backup = String(object.backup);
@@ -116939,7 +121549,7 @@
                             if (object.restoreInstanceSettings != null) {
                                 if (typeof object.restoreInstanceSettings !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.InstancesRestoreBackupRequest.restoreInstanceSettings: object expected");
-                                message.restoreInstanceSettings = $root.google.cloud.sql.v1beta4.DatabaseInstance.fromObject(object.restoreInstanceSettings);
+                                message.restoreInstanceSettings = $root.google.cloud.sql.v1beta4.DatabaseInstance.fromObject(object.restoreInstanceSettings, long + 1);
                             }
                             if (object.restoreInstanceClearOverridesFieldNames) {
                                 if (!Array.isArray(object.restoreInstanceClearOverridesFieldNames))
@@ -117037,7 +121647,7 @@
                         function InstancesRotateServerCaRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -117102,9 +121712,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        InstancesRotateServerCaRequest.decode = function decode(reader, length, error) {
+                        InstancesRotateServerCaRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.InstancesRotateServerCaRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -117112,11 +121726,11 @@
                                     break;
                                 switch (tag >>> 3) {
                                 case 1: {
-                                        message.rotateServerCaContext = $root.google.cloud.sql.v1beta4.RotateServerCaContext.decode(reader, reader.uint32());
+                                        message.rotateServerCaContext = $root.google.cloud.sql.v1beta4.RotateServerCaContext.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -117147,11 +121761,15 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        InstancesRotateServerCaRequest.verify = function verify(message) {
+                        InstancesRotateServerCaRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.rotateServerCaContext != null && message.hasOwnProperty("rotateServerCaContext")) {
-                                var error = $root.google.cloud.sql.v1beta4.RotateServerCaContext.verify(message.rotateServerCaContext);
+                                var error = $root.google.cloud.sql.v1beta4.RotateServerCaContext.verify(message.rotateServerCaContext, long + 1);
                                 if (error)
                                     return "rotateServerCaContext." + error;
                             }
@@ -117166,14 +121784,18 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.InstancesRotateServerCaRequest} InstancesRotateServerCaRequest
                          */
-                        InstancesRotateServerCaRequest.fromObject = function fromObject(object) {
+                        InstancesRotateServerCaRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.InstancesRotateServerCaRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.InstancesRotateServerCaRequest();
                             if (object.rotateServerCaContext != null) {
                                 if (typeof object.rotateServerCaContext !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.InstancesRotateServerCaRequest.rotateServerCaContext: object expected");
-                                message.rotateServerCaContext = $root.google.cloud.sql.v1beta4.RotateServerCaContext.fromObject(object.rotateServerCaContext);
+                                message.rotateServerCaContext = $root.google.cloud.sql.v1beta4.RotateServerCaContext.fromObject(object.rotateServerCaContext, long + 1);
                             }
                             return message;
                         };
@@ -117247,7 +121869,7 @@
                         function InstancesRotateServerCertificateRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -117312,9 +121934,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        InstancesRotateServerCertificateRequest.decode = function decode(reader, length, error) {
+                        InstancesRotateServerCertificateRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.InstancesRotateServerCertificateRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -117322,11 +121948,11 @@
                                     break;
                                 switch (tag >>> 3) {
                                 case 1: {
-                                        message.rotateServerCertificateContext = $root.google.cloud.sql.v1beta4.RotateServerCertificateContext.decode(reader, reader.uint32());
+                                        message.rotateServerCertificateContext = $root.google.cloud.sql.v1beta4.RotateServerCertificateContext.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -117357,11 +121983,15 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        InstancesRotateServerCertificateRequest.verify = function verify(message) {
+                        InstancesRotateServerCertificateRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.rotateServerCertificateContext != null && message.hasOwnProperty("rotateServerCertificateContext")) {
-                                var error = $root.google.cloud.sql.v1beta4.RotateServerCertificateContext.verify(message.rotateServerCertificateContext);
+                                var error = $root.google.cloud.sql.v1beta4.RotateServerCertificateContext.verify(message.rotateServerCertificateContext, long + 1);
                                 if (error)
                                     return "rotateServerCertificateContext." + error;
                             }
@@ -117376,14 +122006,18 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.InstancesRotateServerCertificateRequest} InstancesRotateServerCertificateRequest
                          */
-                        InstancesRotateServerCertificateRequest.fromObject = function fromObject(object) {
+                        InstancesRotateServerCertificateRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.InstancesRotateServerCertificateRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.InstancesRotateServerCertificateRequest();
                             if (object.rotateServerCertificateContext != null) {
                                 if (typeof object.rotateServerCertificateContext !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.InstancesRotateServerCertificateRequest.rotateServerCertificateContext: object expected");
-                                message.rotateServerCertificateContext = $root.google.cloud.sql.v1beta4.RotateServerCertificateContext.fromObject(object.rotateServerCertificateContext);
+                                message.rotateServerCertificateContext = $root.google.cloud.sql.v1beta4.RotateServerCertificateContext.fromObject(object.rotateServerCertificateContext, long + 1);
                             }
                             return message;
                         };
@@ -117457,7 +122091,7 @@
                         function InstancesRotateEntraIdCertificateRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -117522,9 +122156,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        InstancesRotateEntraIdCertificateRequest.decode = function decode(reader, length, error) {
+                        InstancesRotateEntraIdCertificateRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.InstancesRotateEntraIdCertificateRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -117532,11 +122170,11 @@
                                     break;
                                 switch (tag >>> 3) {
                                 case 1: {
-                                        message.rotateEntraIdCertificateContext = $root.google.cloud.sql.v1beta4.RotateEntraIdCertificateContext.decode(reader, reader.uint32());
+                                        message.rotateEntraIdCertificateContext = $root.google.cloud.sql.v1beta4.RotateEntraIdCertificateContext.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -117567,11 +122205,15 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        InstancesRotateEntraIdCertificateRequest.verify = function verify(message) {
+                        InstancesRotateEntraIdCertificateRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.rotateEntraIdCertificateContext != null && message.hasOwnProperty("rotateEntraIdCertificateContext")) {
-                                var error = $root.google.cloud.sql.v1beta4.RotateEntraIdCertificateContext.verify(message.rotateEntraIdCertificateContext);
+                                var error = $root.google.cloud.sql.v1beta4.RotateEntraIdCertificateContext.verify(message.rotateEntraIdCertificateContext, long + 1);
                                 if (error)
                                     return "rotateEntraIdCertificateContext." + error;
                             }
@@ -117586,14 +122228,18 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.InstancesRotateEntraIdCertificateRequest} InstancesRotateEntraIdCertificateRequest
                          */
-                        InstancesRotateEntraIdCertificateRequest.fromObject = function fromObject(object) {
+                        InstancesRotateEntraIdCertificateRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.InstancesRotateEntraIdCertificateRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.InstancesRotateEntraIdCertificateRequest();
                             if (object.rotateEntraIdCertificateContext != null) {
                                 if (typeof object.rotateEntraIdCertificateContext !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.InstancesRotateEntraIdCertificateRequest.rotateEntraIdCertificateContext: object expected");
-                                message.rotateEntraIdCertificateContext = $root.google.cloud.sql.v1beta4.RotateEntraIdCertificateContext.fromObject(object.rotateEntraIdCertificateContext);
+                                message.rotateEntraIdCertificateContext = $root.google.cloud.sql.v1beta4.RotateEntraIdCertificateContext.fromObject(object.rotateEntraIdCertificateContext, long + 1);
                             }
                             return message;
                         };
@@ -117667,7 +122313,7 @@
                         function InstancesTruncateLogRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -117732,9 +122378,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        InstancesTruncateLogRequest.decode = function decode(reader, length, error) {
+                        InstancesTruncateLogRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.InstancesTruncateLogRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -117742,11 +122392,11 @@
                                     break;
                                 switch (tag >>> 3) {
                                 case 1: {
-                                        message.truncateLogContext = $root.google.cloud.sql.v1beta4.TruncateLogContext.decode(reader, reader.uint32());
+                                        message.truncateLogContext = $root.google.cloud.sql.v1beta4.TruncateLogContext.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -117777,11 +122427,15 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        InstancesTruncateLogRequest.verify = function verify(message) {
+                        InstancesTruncateLogRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.truncateLogContext != null && message.hasOwnProperty("truncateLogContext")) {
-                                var error = $root.google.cloud.sql.v1beta4.TruncateLogContext.verify(message.truncateLogContext);
+                                var error = $root.google.cloud.sql.v1beta4.TruncateLogContext.verify(message.truncateLogContext, long + 1);
                                 if (error)
                                     return "truncateLogContext." + error;
                             }
@@ -117796,14 +122450,18 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.InstancesTruncateLogRequest} InstancesTruncateLogRequest
                          */
-                        InstancesTruncateLogRequest.fromObject = function fromObject(object) {
+                        InstancesTruncateLogRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.InstancesTruncateLogRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.InstancesTruncateLogRequest();
                             if (object.truncateLogContext != null) {
                                 if (typeof object.truncateLogContext !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.InstancesTruncateLogRequest.truncateLogContext: object expected");
-                                message.truncateLogContext = $root.google.cloud.sql.v1beta4.TruncateLogContext.fromObject(object.truncateLogContext);
+                                message.truncateLogContext = $root.google.cloud.sql.v1beta4.TruncateLogContext.fromObject(object.truncateLogContext, long + 1);
                             }
                             return message;
                         };
@@ -117877,7 +122535,7 @@
                         function InstancesAcquireSsrsLeaseRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -117942,9 +122600,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        InstancesAcquireSsrsLeaseRequest.decode = function decode(reader, length, error) {
+                        InstancesAcquireSsrsLeaseRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.InstancesAcquireSsrsLeaseRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -117952,11 +122614,11 @@
                                     break;
                                 switch (tag >>> 3) {
                                 case 1: {
-                                        message.acquireSsrsLeaseContext = $root.google.cloud.sql.v1beta4.AcquireSsrsLeaseContext.decode(reader, reader.uint32());
+                                        message.acquireSsrsLeaseContext = $root.google.cloud.sql.v1beta4.AcquireSsrsLeaseContext.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -117987,11 +122649,15 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        InstancesAcquireSsrsLeaseRequest.verify = function verify(message) {
+                        InstancesAcquireSsrsLeaseRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.acquireSsrsLeaseContext != null && message.hasOwnProperty("acquireSsrsLeaseContext")) {
-                                var error = $root.google.cloud.sql.v1beta4.AcquireSsrsLeaseContext.verify(message.acquireSsrsLeaseContext);
+                                var error = $root.google.cloud.sql.v1beta4.AcquireSsrsLeaseContext.verify(message.acquireSsrsLeaseContext, long + 1);
                                 if (error)
                                     return "acquireSsrsLeaseContext." + error;
                             }
@@ -118006,14 +122672,18 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.InstancesAcquireSsrsLeaseRequest} InstancesAcquireSsrsLeaseRequest
                          */
-                        InstancesAcquireSsrsLeaseRequest.fromObject = function fromObject(object) {
+                        InstancesAcquireSsrsLeaseRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.InstancesAcquireSsrsLeaseRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.InstancesAcquireSsrsLeaseRequest();
                             if (object.acquireSsrsLeaseContext != null) {
                                 if (typeof object.acquireSsrsLeaseContext !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.InstancesAcquireSsrsLeaseRequest.acquireSsrsLeaseContext: object expected");
-                                message.acquireSsrsLeaseContext = $root.google.cloud.sql.v1beta4.AcquireSsrsLeaseContext.fromObject(object.acquireSsrsLeaseContext);
+                                message.acquireSsrsLeaseContext = $root.google.cloud.sql.v1beta4.AcquireSsrsLeaseContext.fromObject(object.acquireSsrsLeaseContext, long + 1);
                             }
                             return message;
                         };
@@ -118093,7 +122763,7 @@
                         function PointInTimeRestoreContext(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -118257,9 +122927,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        PointInTimeRestoreContext.decode = function decode(reader, length, error) {
+                        PointInTimeRestoreContext.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.PointInTimeRestoreContext();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -118271,7 +122945,7 @@
                                         break;
                                     }
                                 case 2: {
-                                        message.pointInTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+                                        message.pointInTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 3: {
@@ -118295,7 +122969,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -118326,9 +123000,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        PointInTimeRestoreContext.verify = function verify(message) {
+                        PointInTimeRestoreContext.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             var properties = {};
                             if (message.datasource != null && message.hasOwnProperty("datasource")) {
                                 properties._datasource = 1;
@@ -118336,7 +123014,7 @@
                                     return "datasource: string expected";
                             }
                             if (message.pointInTime != null && message.hasOwnProperty("pointInTime")) {
-                                var error = $root.google.protobuf.Timestamp.verify(message.pointInTime);
+                                var error = $root.google.protobuf.Timestamp.verify(message.pointInTime, long + 1);
                                 if (error)
                                     return "pointInTime." + error;
                             }
@@ -118376,16 +123054,20 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.PointInTimeRestoreContext} PointInTimeRestoreContext
                          */
-                        PointInTimeRestoreContext.fromObject = function fromObject(object) {
+                        PointInTimeRestoreContext.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.PointInTimeRestoreContext)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.PointInTimeRestoreContext();
                             if (object.datasource != null)
                                 message.datasource = String(object.datasource);
                             if (object.pointInTime != null) {
                                 if (typeof object.pointInTime !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.PointInTimeRestoreContext.pointInTime: object expected");
-                                message.pointInTime = $root.google.protobuf.Timestamp.fromObject(object.pointInTime);
+                                message.pointInTime = $root.google.protobuf.Timestamp.fromObject(object.pointInTime, long + 1);
                             }
                             if (object.targetInstance != null)
                                 message.targetInstance = String(object.targetInstance);
@@ -118499,7 +123181,7 @@
                         function PerformDiskShrinkContext(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -118564,9 +123246,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        PerformDiskShrinkContext.decode = function decode(reader, length, error) {
+                        PerformDiskShrinkContext.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.PerformDiskShrinkContext();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -118578,7 +123264,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -118609,9 +123295,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        PerformDiskShrinkContext.verify = function verify(message) {
+                        PerformDiskShrinkContext.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.targetSizeGb != null && message.hasOwnProperty("targetSizeGb"))
                                 if (!$util.isInteger(message.targetSizeGb) && !(message.targetSizeGb && $util.isInteger(message.targetSizeGb.low) && $util.isInteger(message.targetSizeGb.high)))
                                     return "targetSizeGb: integer|Long expected";
@@ -118626,9 +123316,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.PerformDiskShrinkContext} PerformDiskShrinkContext
                          */
-                        PerformDiskShrinkContext.fromObject = function fromObject(object) {
+                        PerformDiskShrinkContext.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.PerformDiskShrinkContext)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.PerformDiskShrinkContext();
                             if (object.targetSizeGb != null)
                                 if ($util.Long)
@@ -118721,7 +123415,7 @@
                             this.actionsRequired = [];
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -118822,9 +123516,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        PreCheckResponse.decode = function decode(reader, length, error) {
+                        PreCheckResponse.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.PreCheckResponse();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -118846,7 +123544,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -118877,9 +123575,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        PreCheckResponse.verify = function verify(message) {
+                        PreCheckResponse.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             var properties = {};
                             if (message.message != null && message.hasOwnProperty("message")) {
                                 properties._message = 1;
@@ -118916,9 +123618,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.PreCheckResponse} PreCheckResponse
                          */
-                        PreCheckResponse.fromObject = function fromObject(object) {
+                        PreCheckResponse.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.PreCheckResponse)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.PreCheckResponse();
                             if (object.message != null)
                                 message.message = String(object.message);
@@ -119059,7 +123765,7 @@
                             this.preCheckResponse = [];
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -119145,9 +123851,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        PreCheckMajorVersionUpgradeContext.decode = function decode(reader, length, error) {
+                        PreCheckMajorVersionUpgradeContext.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.PreCheckMajorVersionUpgradeContext();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -119161,7 +123871,7 @@
                                 case 2: {
                                         if (!(message.preCheckResponse && message.preCheckResponse.length))
                                             message.preCheckResponse = [];
-                                        message.preCheckResponse.push($root.google.cloud.sql.v1beta4.PreCheckResponse.decode(reader, reader.uint32()));
+                                        message.preCheckResponse.push($root.google.cloud.sql.v1beta4.PreCheckResponse.decode(reader, reader.uint32(), undefined, long + 1));
                                         break;
                                     }
                                 case 3: {
@@ -119169,7 +123879,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -119200,9 +123910,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        PreCheckMajorVersionUpgradeContext.verify = function verify(message) {
+                        PreCheckMajorVersionUpgradeContext.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.targetDatabaseVersion != null && message.hasOwnProperty("targetDatabaseVersion"))
                                 switch (message.targetDatabaseVersion) {
                                 default:
@@ -119264,7 +123978,7 @@
                                 if (!Array.isArray(message.preCheckResponse))
                                     return "preCheckResponse: array expected";
                                 for (var i = 0; i < message.preCheckResponse.length; ++i) {
-                                    var error = $root.google.cloud.sql.v1beta4.PreCheckResponse.verify(message.preCheckResponse[i]);
+                                    var error = $root.google.cloud.sql.v1beta4.PreCheckResponse.verify(message.preCheckResponse[i], long + 1);
                                     if (error)
                                         return "preCheckResponse." + error;
                                 }
@@ -119283,9 +123997,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.PreCheckMajorVersionUpgradeContext} PreCheckMajorVersionUpgradeContext
                          */
-                        PreCheckMajorVersionUpgradeContext.fromObject = function fromObject(object) {
+                        PreCheckMajorVersionUpgradeContext.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.PreCheckMajorVersionUpgradeContext)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.PreCheckMajorVersionUpgradeContext();
                             switch (object.targetDatabaseVersion) {
                             default:
@@ -119506,7 +124224,7 @@
                                 for (var i = 0; i < object.preCheckResponse.length; ++i) {
                                     if (typeof object.preCheckResponse[i] !== "object")
                                         throw TypeError(".google.cloud.sql.v1beta4.PreCheckMajorVersionUpgradeContext.preCheckResponse: object expected");
-                                    message.preCheckResponse[i] = $root.google.cloud.sql.v1beta4.PreCheckResponse.fromObject(object.preCheckResponse[i]);
+                                    message.preCheckResponse[i] = $root.google.cloud.sql.v1beta4.PreCheckResponse.fromObject(object.preCheckResponse[i], long + 1);
                                 }
                             }
                             if (object.kind != null)
@@ -119596,7 +124314,7 @@
                         function SqlInstancesGetDiskShrinkConfigResponse(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -119681,9 +124399,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlInstancesGetDiskShrinkConfigResponse.decode = function decode(reader, length, error) {
+                        SqlInstancesGetDiskShrinkConfigResponse.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.SqlInstancesGetDiskShrinkConfigResponse();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -119703,7 +124425,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -119734,9 +124456,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlInstancesGetDiskShrinkConfigResponse.verify = function verify(message) {
+                        SqlInstancesGetDiskShrinkConfigResponse.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.kind != null && message.hasOwnProperty("kind"))
                                 if (!$util.isString(message.kind))
                                     return "kind: string expected";
@@ -119757,9 +124483,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.SqlInstancesGetDiskShrinkConfigResponse} SqlInstancesGetDiskShrinkConfigResponse
                          */
-                        SqlInstancesGetDiskShrinkConfigResponse.fromObject = function fromObject(object) {
+                        SqlInstancesGetDiskShrinkConfigResponse.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.SqlInstancesGetDiskShrinkConfigResponse)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.SqlInstancesGetDiskShrinkConfigResponse();
                             if (object.kind != null)
                                 message.kind = String(object.kind);
@@ -119864,7 +124594,7 @@
                             this.warnings = [];
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -119951,9 +124681,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlInstancesVerifyExternalSyncSettingsResponse.decode = function decode(reader, length, error) {
+                        SqlInstancesVerifyExternalSyncSettingsResponse.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.SqlInstancesVerifyExternalSyncSettingsResponse();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -119967,17 +124701,17 @@
                                 case 2: {
                                         if (!(message.errors && message.errors.length))
                                             message.errors = [];
-                                        message.errors.push($root.google.cloud.sql.v1beta4.SqlExternalSyncSettingError.decode(reader, reader.uint32()));
+                                        message.errors.push($root.google.cloud.sql.v1beta4.SqlExternalSyncSettingError.decode(reader, reader.uint32(), undefined, long + 1));
                                         break;
                                     }
                                 case 3: {
                                         if (!(message.warnings && message.warnings.length))
                                             message.warnings = [];
-                                        message.warnings.push($root.google.cloud.sql.v1beta4.SqlExternalSyncSettingError.decode(reader, reader.uint32()));
+                                        message.warnings.push($root.google.cloud.sql.v1beta4.SqlExternalSyncSettingError.decode(reader, reader.uint32(), undefined, long + 1));
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -120008,9 +124742,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlInstancesVerifyExternalSyncSettingsResponse.verify = function verify(message) {
+                        SqlInstancesVerifyExternalSyncSettingsResponse.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.kind != null && message.hasOwnProperty("kind"))
                                 if (!$util.isString(message.kind))
                                     return "kind: string expected";
@@ -120018,7 +124756,7 @@
                                 if (!Array.isArray(message.errors))
                                     return "errors: array expected";
                                 for (var i = 0; i < message.errors.length; ++i) {
-                                    var error = $root.google.cloud.sql.v1beta4.SqlExternalSyncSettingError.verify(message.errors[i]);
+                                    var error = $root.google.cloud.sql.v1beta4.SqlExternalSyncSettingError.verify(message.errors[i], long + 1);
                                     if (error)
                                         return "errors." + error;
                                 }
@@ -120027,7 +124765,7 @@
                                 if (!Array.isArray(message.warnings))
                                     return "warnings: array expected";
                                 for (var i = 0; i < message.warnings.length; ++i) {
-                                    var error = $root.google.cloud.sql.v1beta4.SqlExternalSyncSettingError.verify(message.warnings[i]);
+                                    var error = $root.google.cloud.sql.v1beta4.SqlExternalSyncSettingError.verify(message.warnings[i], long + 1);
                                     if (error)
                                         return "warnings." + error;
                                 }
@@ -120043,9 +124781,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.SqlInstancesVerifyExternalSyncSettingsResponse} SqlInstancesVerifyExternalSyncSettingsResponse
                          */
-                        SqlInstancesVerifyExternalSyncSettingsResponse.fromObject = function fromObject(object) {
+                        SqlInstancesVerifyExternalSyncSettingsResponse.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.SqlInstancesVerifyExternalSyncSettingsResponse)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.SqlInstancesVerifyExternalSyncSettingsResponse();
                             if (object.kind != null)
                                 message.kind = String(object.kind);
@@ -120056,7 +124798,7 @@
                                 for (var i = 0; i < object.errors.length; ++i) {
                                     if (typeof object.errors[i] !== "object")
                                         throw TypeError(".google.cloud.sql.v1beta4.SqlInstancesVerifyExternalSyncSettingsResponse.errors: object expected");
-                                    message.errors[i] = $root.google.cloud.sql.v1beta4.SqlExternalSyncSettingError.fromObject(object.errors[i]);
+                                    message.errors[i] = $root.google.cloud.sql.v1beta4.SqlExternalSyncSettingError.fromObject(object.errors[i], long + 1);
                                 }
                             }
                             if (object.warnings) {
@@ -120066,7 +124808,7 @@
                                 for (var i = 0; i < object.warnings.length; ++i) {
                                     if (typeof object.warnings[i] !== "object")
                                         throw TypeError(".google.cloud.sql.v1beta4.SqlInstancesVerifyExternalSyncSettingsResponse.warnings: object expected");
-                                    message.warnings[i] = $root.google.cloud.sql.v1beta4.SqlExternalSyncSettingError.fromObject(object.warnings[i]);
+                                    message.warnings[i] = $root.google.cloud.sql.v1beta4.SqlExternalSyncSettingError.fromObject(object.warnings[i], long + 1);
                                 }
                             }
                             return message;
@@ -120157,7 +124899,7 @@
                         function SqlExternalSyncSettingError(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -120242,9 +124984,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlExternalSyncSettingError.decode = function decode(reader, length, error) {
+                        SqlExternalSyncSettingError.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.SqlExternalSyncSettingError();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -120264,7 +125010,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -120295,9 +125041,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlExternalSyncSettingError.verify = function verify(message) {
+                        SqlExternalSyncSettingError.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.kind != null && message.hasOwnProperty("kind"))
                                 if (!$util.isString(message.kind))
                                     return "kind: string expected";
@@ -120380,9 +125130,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.SqlExternalSyncSettingError} SqlExternalSyncSettingError
                          */
-                        SqlExternalSyncSettingError.fromObject = function fromObject(object) {
+                        SqlExternalSyncSettingError.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.SqlExternalSyncSettingError)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.SqlExternalSyncSettingError();
                             if (object.kind != null)
                                 message.kind = String(object.kind);
@@ -120852,7 +125606,7 @@
                             this.customSubjectAlternativeNames = [];
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -121056,9 +125810,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        IpConfiguration.decode = function decode(reader, length, error) {
+                        IpConfiguration.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.IpConfiguration();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -121066,7 +125824,7 @@
                                     break;
                                 switch (tag >>> 3) {
                                 case 1: {
-                                        message.ipv4Enabled = $root.google.protobuf.BoolValue.decode(reader, reader.uint32());
+                                        message.ipv4Enabled = $root.google.protobuf.BoolValue.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 2: {
@@ -121074,13 +125832,13 @@
                                         break;
                                     }
                                 case 3: {
-                                        message.requireSsl = $root.google.protobuf.BoolValue.decode(reader, reader.uint32());
+                                        message.requireSsl = $root.google.protobuf.BoolValue.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 4: {
                                         if (!(message.authorizedNetworks && message.authorizedNetworks.length))
                                             message.authorizedNetworks = [];
-                                        message.authorizedNetworks.push($root.google.cloud.sql.v1beta4.AclEntry.decode(reader, reader.uint32()));
+                                        message.authorizedNetworks.push($root.google.cloud.sql.v1beta4.AclEntry.decode(reader, reader.uint32(), undefined, long + 1));
                                         break;
                                     }
                                 case 6: {
@@ -121088,7 +125846,7 @@
                                         break;
                                     }
                                 case 7: {
-                                        message.enablePrivatePathForGoogleCloudServices = $root.google.protobuf.BoolValue.decode(reader, reader.uint32());
+                                        message.enablePrivatePathForGoogleCloudServices = $root.google.protobuf.BoolValue.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 8: {
@@ -121096,7 +125854,7 @@
                                         break;
                                     }
                                 case 9: {
-                                        message.pscConfig = $root.google.cloud.sql.v1beta4.PscConfig.decode(reader, reader.uint32());
+                                        message.pscConfig = $root.google.cloud.sql.v1beta4.PscConfig.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 10: {
@@ -121118,7 +125876,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -121149,12 +125907,16 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        IpConfiguration.verify = function verify(message) {
+                        IpConfiguration.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             var properties = {};
                             if (message.ipv4Enabled != null && message.hasOwnProperty("ipv4Enabled")) {
-                                var error = $root.google.protobuf.BoolValue.verify(message.ipv4Enabled);
+                                var error = $root.google.protobuf.BoolValue.verify(message.ipv4Enabled, long + 1);
                                 if (error)
                                     return "ipv4Enabled." + error;
                             }
@@ -121162,7 +125924,7 @@
                                 if (!$util.isString(message.privateNetwork))
                                     return "privateNetwork: string expected";
                             if (message.requireSsl != null && message.hasOwnProperty("requireSsl")) {
-                                var error = $root.google.protobuf.BoolValue.verify(message.requireSsl);
+                                var error = $root.google.protobuf.BoolValue.verify(message.requireSsl, long + 1);
                                 if (error)
                                     return "requireSsl." + error;
                             }
@@ -121170,7 +125932,7 @@
                                 if (!Array.isArray(message.authorizedNetworks))
                                     return "authorizedNetworks: array expected";
                                 for (var i = 0; i < message.authorizedNetworks.length; ++i) {
-                                    var error = $root.google.cloud.sql.v1beta4.AclEntry.verify(message.authorizedNetworks[i]);
+                                    var error = $root.google.cloud.sql.v1beta4.AclEntry.verify(message.authorizedNetworks[i], long + 1);
                                     if (error)
                                         return "authorizedNetworks." + error;
                                 }
@@ -121179,7 +125941,7 @@
                                 if (!$util.isString(message.allocatedIpRange))
                                     return "allocatedIpRange: string expected";
                             if (message.enablePrivatePathForGoogleCloudServices != null && message.hasOwnProperty("enablePrivatePathForGoogleCloudServices")) {
-                                var error = $root.google.protobuf.BoolValue.verify(message.enablePrivatePathForGoogleCloudServices);
+                                var error = $root.google.protobuf.BoolValue.verify(message.enablePrivatePathForGoogleCloudServices, long + 1);
                                 if (error)
                                     return "enablePrivatePathForGoogleCloudServices." + error;
                             }
@@ -121196,7 +125958,7 @@
                             if (message.pscConfig != null && message.hasOwnProperty("pscConfig")) {
                                 properties._pscConfig = 1;
                                 {
-                                    var error = $root.google.cloud.sql.v1beta4.PscConfig.verify(message.pscConfig);
+                                    var error = $root.google.cloud.sql.v1beta4.PscConfig.verify(message.pscConfig, long + 1);
                                     if (error)
                                         return "pscConfig." + error;
                                 }
@@ -121247,21 +126009,25 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.IpConfiguration} IpConfiguration
                          */
-                        IpConfiguration.fromObject = function fromObject(object) {
+                        IpConfiguration.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.IpConfiguration)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.IpConfiguration();
                             if (object.ipv4Enabled != null) {
                                 if (typeof object.ipv4Enabled !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.IpConfiguration.ipv4Enabled: object expected");
-                                message.ipv4Enabled = $root.google.protobuf.BoolValue.fromObject(object.ipv4Enabled);
+                                message.ipv4Enabled = $root.google.protobuf.BoolValue.fromObject(object.ipv4Enabled, long + 1);
                             }
                             if (object.privateNetwork != null)
                                 message.privateNetwork = String(object.privateNetwork);
                             if (object.requireSsl != null) {
                                 if (typeof object.requireSsl !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.IpConfiguration.requireSsl: object expected");
-                                message.requireSsl = $root.google.protobuf.BoolValue.fromObject(object.requireSsl);
+                                message.requireSsl = $root.google.protobuf.BoolValue.fromObject(object.requireSsl, long + 1);
                             }
                             if (object.authorizedNetworks) {
                                 if (!Array.isArray(object.authorizedNetworks))
@@ -121270,7 +126036,7 @@
                                 for (var i = 0; i < object.authorizedNetworks.length; ++i) {
                                     if (typeof object.authorizedNetworks[i] !== "object")
                                         throw TypeError(".google.cloud.sql.v1beta4.IpConfiguration.authorizedNetworks: object expected");
-                                    message.authorizedNetworks[i] = $root.google.cloud.sql.v1beta4.AclEntry.fromObject(object.authorizedNetworks[i]);
+                                    message.authorizedNetworks[i] = $root.google.cloud.sql.v1beta4.AclEntry.fromObject(object.authorizedNetworks[i], long + 1);
                                 }
                             }
                             if (object.allocatedIpRange != null)
@@ -121278,7 +126044,7 @@
                             if (object.enablePrivatePathForGoogleCloudServices != null) {
                                 if (typeof object.enablePrivatePathForGoogleCloudServices !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.IpConfiguration.enablePrivatePathForGoogleCloudServices: object expected");
-                                message.enablePrivatePathForGoogleCloudServices = $root.google.protobuf.BoolValue.fromObject(object.enablePrivatePathForGoogleCloudServices);
+                                message.enablePrivatePathForGoogleCloudServices = $root.google.protobuf.BoolValue.fromObject(object.enablePrivatePathForGoogleCloudServices, long + 1);
                             }
                             switch (object.sslMode) {
                             default:
@@ -121307,7 +126073,7 @@
                             if (object.pscConfig != null) {
                                 if (typeof object.pscConfig !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.IpConfiguration.pscConfig: object expected");
-                                message.pscConfig = $root.google.cloud.sql.v1beta4.PscConfig.fromObject(object.pscConfig);
+                                message.pscConfig = $root.google.cloud.sql.v1beta4.PscConfig.fromObject(object.pscConfig, long + 1);
                             }
                             switch (object.serverCaMode) {
                             default:
@@ -121541,7 +126307,7 @@
                             this.pscAutoConnections = [];
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -121647,9 +126413,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        PscConfig.decode = function decode(reader, length, error) {
+                        PscConfig.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.PscConfig();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -121669,7 +126439,7 @@
                                 case 3: {
                                         if (!(message.pscAutoConnections && message.pscAutoConnections.length))
                                             message.pscAutoConnections = [];
-                                        message.pscAutoConnections.push($root.google.cloud.sql.v1beta4.PscAutoConnectionConfig.decode(reader, reader.uint32()));
+                                        message.pscAutoConnections.push($root.google.cloud.sql.v1beta4.PscAutoConnectionConfig.decode(reader, reader.uint32(), undefined, long + 1));
                                         break;
                                     }
                                 case 4: {
@@ -121677,7 +126447,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -121708,9 +126478,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        PscConfig.verify = function verify(message) {
+                        PscConfig.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             var properties = {};
                             if (message.pscEnabled != null && message.hasOwnProperty("pscEnabled")) {
                                 properties._pscEnabled = 1;
@@ -121728,7 +126502,7 @@
                                 if (!Array.isArray(message.pscAutoConnections))
                                     return "pscAutoConnections: array expected";
                                 for (var i = 0; i < message.pscAutoConnections.length; ++i) {
-                                    var error = $root.google.cloud.sql.v1beta4.PscAutoConnectionConfig.verify(message.pscAutoConnections[i]);
+                                    var error = $root.google.cloud.sql.v1beta4.PscAutoConnectionConfig.verify(message.pscAutoConnections[i], long + 1);
                                     if (error)
                                         return "pscAutoConnections." + error;
                                 }
@@ -121747,9 +126521,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.PscConfig} PscConfig
                          */
-                        PscConfig.fromObject = function fromObject(object) {
+                        PscConfig.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.PscConfig)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.PscConfig();
                             if (object.pscEnabled != null)
                                 message.pscEnabled = Boolean(object.pscEnabled);
@@ -121767,7 +126545,7 @@
                                 for (var i = 0; i < object.pscAutoConnections.length; ++i) {
                                     if (typeof object.pscAutoConnections[i] !== "object")
                                         throw TypeError(".google.cloud.sql.v1beta4.PscConfig.pscAutoConnections: object expected");
-                                    message.pscAutoConnections[i] = $root.google.cloud.sql.v1beta4.PscAutoConnectionConfig.fromObject(object.pscAutoConnections[i]);
+                                    message.pscAutoConnections[i] = $root.google.cloud.sql.v1beta4.PscAutoConnectionConfig.fromObject(object.pscAutoConnections[i], long + 1);
                                 }
                             }
                             if (object.networkAttachmentUri != null)
@@ -121867,7 +126645,7 @@
                         function PscAutoConnectionConfig(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -121993,9 +126771,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        PscAutoConnectionConfig.decode = function decode(reader, length, error) {
+                        PscAutoConnectionConfig.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.PscAutoConnectionConfig();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -122023,7 +126805,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -122054,9 +126836,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        PscAutoConnectionConfig.verify = function verify(message) {
+                        PscAutoConnectionConfig.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             var properties = {};
                             if (message.consumerProject != null && message.hasOwnProperty("consumerProject"))
                                 if (!$util.isString(message.consumerProject))
@@ -122090,9 +126876,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.PscAutoConnectionConfig} PscAutoConnectionConfig
                          */
-                        PscAutoConnectionConfig.fromObject = function fromObject(object) {
+                        PscAutoConnectionConfig.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.PscAutoConnectionConfig)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.PscAutoConnectionConfig();
                             if (object.consumerProject != null)
                                 message.consumerProject = String(object.consumerProject);
@@ -122197,7 +126987,7 @@
                         function IpMapping(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -122282,9 +127072,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        IpMapping.decode = function decode(reader, length, error) {
+                        IpMapping.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.IpMapping();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -122300,11 +127094,11 @@
                                         break;
                                     }
                                 case 3: {
-                                        message.timeToRetire = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+                                        message.timeToRetire = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -122335,9 +127129,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        IpMapping.verify = function verify(message) {
+                        IpMapping.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.type != null && message.hasOwnProperty("type"))
                                 switch (message.type) {
                                 default:
@@ -122353,7 +127151,7 @@
                                 if (!$util.isString(message.ipAddress))
                                     return "ipAddress: string expected";
                             if (message.timeToRetire != null && message.hasOwnProperty("timeToRetire")) {
-                                var error = $root.google.protobuf.Timestamp.verify(message.timeToRetire);
+                                var error = $root.google.protobuf.Timestamp.verify(message.timeToRetire, long + 1);
                                 if (error)
                                     return "timeToRetire." + error;
                             }
@@ -122368,9 +127166,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.IpMapping} IpMapping
                          */
-                        IpMapping.fromObject = function fromObject(object) {
+                        IpMapping.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.IpMapping)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.IpMapping();
                             switch (object.type) {
                             default:
@@ -122405,7 +127207,7 @@
                             if (object.timeToRetire != null) {
                                 if (typeof object.timeToRetire !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.IpMapping.timeToRetire: object expected");
-                                message.timeToRetire = $root.google.protobuf.Timestamp.fromObject(object.timeToRetire);
+                                message.timeToRetire = $root.google.protobuf.Timestamp.fromObject(object.timeToRetire, long + 1);
                             }
                             return message;
                         };
@@ -122489,7 +127291,7 @@
                         function LocationPreference(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -122584,9 +127386,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        LocationPreference.decode = function decode(reader, length, error) {
+                        LocationPreference.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.LocationPreference();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -122610,7 +127416,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -122641,9 +127447,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        LocationPreference.verify = function verify(message) {
+                        LocationPreference.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.followGaeApplication != null && message.hasOwnProperty("followGaeApplication"))
                                 if (!$util.isString(message.followGaeApplication))
                                     return "followGaeApplication: string expected";
@@ -122667,9 +127477,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.LocationPreference} LocationPreference
                          */
-                        LocationPreference.fromObject = function fromObject(object) {
+                        LocationPreference.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.LocationPreference)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.LocationPreference();
                             if (object.followGaeApplication != null)
                                 message.followGaeApplication = String(object.followGaeApplication);
@@ -122764,7 +127578,7 @@
                         function MaintenanceWindow(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -122859,9 +127673,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        MaintenanceWindow.decode = function decode(reader, length, error) {
+                        MaintenanceWindow.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.MaintenanceWindow();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -122869,11 +127687,11 @@
                                     break;
                                 switch (tag >>> 3) {
                                 case 1: {
-                                        message.hour = $root.google.protobuf.Int32Value.decode(reader, reader.uint32());
+                                        message.hour = $root.google.protobuf.Int32Value.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 2: {
-                                        message.day = $root.google.protobuf.Int32Value.decode(reader, reader.uint32());
+                                        message.day = $root.google.protobuf.Int32Value.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 3: {
@@ -122885,7 +127703,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -122916,16 +127734,20 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        MaintenanceWindow.verify = function verify(message) {
+                        MaintenanceWindow.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.hour != null && message.hasOwnProperty("hour")) {
-                                var error = $root.google.protobuf.Int32Value.verify(message.hour);
+                                var error = $root.google.protobuf.Int32Value.verify(message.hour, long + 1);
                                 if (error)
                                     return "hour." + error;
                             }
                             if (message.day != null && message.hasOwnProperty("day")) {
-                                var error = $root.google.protobuf.Int32Value.verify(message.day);
+                                var error = $root.google.protobuf.Int32Value.verify(message.day, long + 1);
                                 if (error)
                                     return "day." + error;
                             }
@@ -122953,19 +127775,23 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.MaintenanceWindow} MaintenanceWindow
                          */
-                        MaintenanceWindow.fromObject = function fromObject(object) {
+                        MaintenanceWindow.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.MaintenanceWindow)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.MaintenanceWindow();
                             if (object.hour != null) {
                                 if (typeof object.hour !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.MaintenanceWindow.hour: object expected");
-                                message.hour = $root.google.protobuf.Int32Value.fromObject(object.hour);
+                                message.hour = $root.google.protobuf.Int32Value.fromObject(object.hour, long + 1);
                             }
                             if (object.day != null) {
                                 if (typeof object.day !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.MaintenanceWindow.day: object expected");
-                                message.day = $root.google.protobuf.Int32Value.fromObject(object.day);
+                                message.day = $root.google.protobuf.Int32Value.fromObject(object.day, long + 1);
                             }
                             switch (object.updateTrack) {
                             default:
@@ -123077,7 +127903,7 @@
                         function DenyMaintenancePeriod(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -123162,9 +127988,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        DenyMaintenancePeriod.decode = function decode(reader, length, error) {
+                        DenyMaintenancePeriod.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.DenyMaintenancePeriod();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -123184,7 +128014,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -123215,9 +128045,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        DenyMaintenancePeriod.verify = function verify(message) {
+                        DenyMaintenancePeriod.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.startDate != null && message.hasOwnProperty("startDate"))
                                 if (!$util.isString(message.startDate))
                                     return "startDate: string expected";
@@ -123238,9 +128072,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.DenyMaintenancePeriod} DenyMaintenancePeriod
                          */
-                        DenyMaintenancePeriod.fromObject = function fromObject(object) {
+                        DenyMaintenancePeriod.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.DenyMaintenancePeriod)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.DenyMaintenancePeriod();
                             if (object.startDate != null)
                                 message.startDate = String(object.startDate);
@@ -123332,7 +128170,7 @@
                         function InsightsConfig(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -123447,9 +128285,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        InsightsConfig.decode = function decode(reader, length, error) {
+                        InsightsConfig.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.InsightsConfig();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -123469,19 +128311,19 @@
                                         break;
                                     }
                                 case 4: {
-                                        message.queryStringLength = $root.google.protobuf.Int32Value.decode(reader, reader.uint32());
+                                        message.queryStringLength = $root.google.protobuf.Int32Value.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 5: {
-                                        message.queryPlansPerMinute = $root.google.protobuf.Int32Value.decode(reader, reader.uint32());
+                                        message.queryPlansPerMinute = $root.google.protobuf.Int32Value.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 8: {
-                                        message.enhancedQueryInsightsEnabled = $root.google.protobuf.BoolValue.decode(reader, reader.uint32());
+                                        message.enhancedQueryInsightsEnabled = $root.google.protobuf.BoolValue.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -123512,9 +128354,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        InsightsConfig.verify = function verify(message) {
+                        InsightsConfig.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.queryInsightsEnabled != null && message.hasOwnProperty("queryInsightsEnabled"))
                                 if (typeof message.queryInsightsEnabled !== "boolean")
                                     return "queryInsightsEnabled: boolean expected";
@@ -123525,17 +128371,17 @@
                                 if (typeof message.recordApplicationTags !== "boolean")
                                     return "recordApplicationTags: boolean expected";
                             if (message.queryStringLength != null && message.hasOwnProperty("queryStringLength")) {
-                                var error = $root.google.protobuf.Int32Value.verify(message.queryStringLength);
+                                var error = $root.google.protobuf.Int32Value.verify(message.queryStringLength, long + 1);
                                 if (error)
                                     return "queryStringLength." + error;
                             }
                             if (message.queryPlansPerMinute != null && message.hasOwnProperty("queryPlansPerMinute")) {
-                                var error = $root.google.protobuf.Int32Value.verify(message.queryPlansPerMinute);
+                                var error = $root.google.protobuf.Int32Value.verify(message.queryPlansPerMinute, long + 1);
                                 if (error)
                                     return "queryPlansPerMinute." + error;
                             }
                             if (message.enhancedQueryInsightsEnabled != null && message.hasOwnProperty("enhancedQueryInsightsEnabled")) {
-                                var error = $root.google.protobuf.BoolValue.verify(message.enhancedQueryInsightsEnabled);
+                                var error = $root.google.protobuf.BoolValue.verify(message.enhancedQueryInsightsEnabled, long + 1);
                                 if (error)
                                     return "enhancedQueryInsightsEnabled." + error;
                             }
@@ -123550,9 +128396,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.InsightsConfig} InsightsConfig
                          */
-                        InsightsConfig.fromObject = function fromObject(object) {
+                        InsightsConfig.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.InsightsConfig)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.InsightsConfig();
                             if (object.queryInsightsEnabled != null)
                                 message.queryInsightsEnabled = Boolean(object.queryInsightsEnabled);
@@ -123563,17 +128413,17 @@
                             if (object.queryStringLength != null) {
                                 if (typeof object.queryStringLength !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.InsightsConfig.queryStringLength: object expected");
-                                message.queryStringLength = $root.google.protobuf.Int32Value.fromObject(object.queryStringLength);
+                                message.queryStringLength = $root.google.protobuf.Int32Value.fromObject(object.queryStringLength, long + 1);
                             }
                             if (object.queryPlansPerMinute != null) {
                                 if (typeof object.queryPlansPerMinute !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.InsightsConfig.queryPlansPerMinute: object expected");
-                                message.queryPlansPerMinute = $root.google.protobuf.Int32Value.fromObject(object.queryPlansPerMinute);
+                                message.queryPlansPerMinute = $root.google.protobuf.Int32Value.fromObject(object.queryPlansPerMinute, long + 1);
                             }
                             if (object.enhancedQueryInsightsEnabled != null) {
                                 if (typeof object.enhancedQueryInsightsEnabled !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.InsightsConfig.enhancedQueryInsightsEnabled: object expected");
-                                message.enhancedQueryInsightsEnabled = $root.google.protobuf.BoolValue.fromObject(object.enhancedQueryInsightsEnabled);
+                                message.enhancedQueryInsightsEnabled = $root.google.protobuf.BoolValue.fromObject(object.enhancedQueryInsightsEnabled, long + 1);
                             }
                             return message;
                         };
@@ -123673,7 +128523,7 @@
                         function MySqlReplicaConfiguration(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -123838,9 +128688,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        MySqlReplicaConfiguration.decode = function decode(reader, length, error) {
+                        MySqlReplicaConfiguration.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.MySqlReplicaConfiguration();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -123860,11 +128714,11 @@
                                         break;
                                     }
                                 case 4: {
-                                        message.connectRetryInterval = $root.google.protobuf.Int32Value.decode(reader, reader.uint32());
+                                        message.connectRetryInterval = $root.google.protobuf.Int32Value.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 5: {
-                                        message.masterHeartbeatPeriod = $root.google.protobuf.Int64Value.decode(reader, reader.uint32());
+                                        message.masterHeartbeatPeriod = $root.google.protobuf.Int64Value.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 6: {
@@ -123884,7 +128738,7 @@
                                         break;
                                     }
                                 case 10: {
-                                        message.verifyServerCertificate = $root.google.protobuf.BoolValue.decode(reader, reader.uint32());
+                                        message.verifyServerCertificate = $root.google.protobuf.BoolValue.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 11: {
@@ -123892,7 +128746,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -123923,9 +128777,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        MySqlReplicaConfiguration.verify = function verify(message) {
+                        MySqlReplicaConfiguration.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.dumpFilePath != null && message.hasOwnProperty("dumpFilePath"))
                                 if (!$util.isString(message.dumpFilePath))
                                     return "dumpFilePath: string expected";
@@ -123936,12 +128794,12 @@
                                 if (!$util.isString(message.password))
                                     return "password: string expected";
                             if (message.connectRetryInterval != null && message.hasOwnProperty("connectRetryInterval")) {
-                                var error = $root.google.protobuf.Int32Value.verify(message.connectRetryInterval);
+                                var error = $root.google.protobuf.Int32Value.verify(message.connectRetryInterval, long + 1);
                                 if (error)
                                     return "connectRetryInterval." + error;
                             }
                             if (message.masterHeartbeatPeriod != null && message.hasOwnProperty("masterHeartbeatPeriod")) {
-                                var error = $root.google.protobuf.Int64Value.verify(message.masterHeartbeatPeriod);
+                                var error = $root.google.protobuf.Int64Value.verify(message.masterHeartbeatPeriod, long + 1);
                                 if (error)
                                     return "masterHeartbeatPeriod." + error;
                             }
@@ -123958,7 +128816,7 @@
                                 if (!$util.isString(message.sslCipher))
                                     return "sslCipher: string expected";
                             if (message.verifyServerCertificate != null && message.hasOwnProperty("verifyServerCertificate")) {
-                                var error = $root.google.protobuf.BoolValue.verify(message.verifyServerCertificate);
+                                var error = $root.google.protobuf.BoolValue.verify(message.verifyServerCertificate, long + 1);
                                 if (error)
                                     return "verifyServerCertificate." + error;
                             }
@@ -123976,9 +128834,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.MySqlReplicaConfiguration} MySqlReplicaConfiguration
                          */
-                        MySqlReplicaConfiguration.fromObject = function fromObject(object) {
+                        MySqlReplicaConfiguration.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.MySqlReplicaConfiguration)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.MySqlReplicaConfiguration();
                             if (object.dumpFilePath != null)
                                 message.dumpFilePath = String(object.dumpFilePath);
@@ -123989,12 +128851,12 @@
                             if (object.connectRetryInterval != null) {
                                 if (typeof object.connectRetryInterval !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.MySqlReplicaConfiguration.connectRetryInterval: object expected");
-                                message.connectRetryInterval = $root.google.protobuf.Int32Value.fromObject(object.connectRetryInterval);
+                                message.connectRetryInterval = $root.google.protobuf.Int32Value.fromObject(object.connectRetryInterval, long + 1);
                             }
                             if (object.masterHeartbeatPeriod != null) {
                                 if (typeof object.masterHeartbeatPeriod !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.MySqlReplicaConfiguration.masterHeartbeatPeriod: object expected");
-                                message.masterHeartbeatPeriod = $root.google.protobuf.Int64Value.fromObject(object.masterHeartbeatPeriod);
+                                message.masterHeartbeatPeriod = $root.google.protobuf.Int64Value.fromObject(object.masterHeartbeatPeriod, long + 1);
                             }
                             if (object.caCertificate != null)
                                 message.caCertificate = String(object.caCertificate);
@@ -124007,7 +128869,7 @@
                             if (object.verifyServerCertificate != null) {
                                 if (typeof object.verifyServerCertificate !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.MySqlReplicaConfiguration.verifyServerCertificate: object expected");
-                                message.verifyServerCertificate = $root.google.protobuf.BoolValue.fromObject(object.verifyServerCertificate);
+                                message.verifyServerCertificate = $root.google.protobuf.BoolValue.fromObject(object.verifyServerCertificate, long + 1);
                             }
                             if (object.kind != null)
                                 message.kind = String(object.kind);
@@ -124114,7 +128976,7 @@
                         function SelectedObjects(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -124179,9 +129041,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SelectedObjects.decode = function decode(reader, length, error) {
+                        SelectedObjects.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.SelectedObjects();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -124193,7 +129059,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -124224,9 +129090,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SelectedObjects.verify = function verify(message) {
+                        SelectedObjects.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.database != null && message.hasOwnProperty("database"))
                                 if (!$util.isString(message.database))
                                     return "database: string expected";
@@ -124241,9 +129111,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.SelectedObjects} SelectedObjects
                          */
-                        SelectedObjects.fromObject = function fromObject(object) {
+                        SelectedObjects.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.SelectedObjects)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.SelectedObjects();
                             if (object.database != null)
                                 message.database = String(object.database);
@@ -124330,7 +129204,7 @@
                             this.selectedObjects = [];
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -124496,9 +129370,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        OnPremisesConfiguration.decode = function decode(reader, length, error) {
+                        OnPremisesConfiguration.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.OnPremisesConfiguration();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -124538,13 +129416,13 @@
                                         break;
                                     }
                                 case 15: {
-                                        message.sourceInstance = $root.google.cloud.sql.v1beta4.InstanceReference.decode(reader, reader.uint32());
+                                        message.sourceInstance = $root.google.cloud.sql.v1beta4.InstanceReference.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 16: {
                                         if (!(message.selectedObjects && message.selectedObjects.length))
                                             message.selectedObjects = [];
-                                        message.selectedObjects.push($root.google.cloud.sql.v1beta4.SelectedObjects.decode(reader, reader.uint32()));
+                                        message.selectedObjects.push($root.google.cloud.sql.v1beta4.SelectedObjects.decode(reader, reader.uint32(), undefined, long + 1));
                                         break;
                                     }
                                 case 18: {
@@ -124552,7 +129430,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -124583,9 +129461,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        OnPremisesConfiguration.verify = function verify(message) {
+                        OnPremisesConfiguration.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.hostPort != null && message.hasOwnProperty("hostPort"))
                                 if (!$util.isString(message.hostPort))
                                     return "hostPort: string expected";
@@ -124611,7 +129493,7 @@
                                 if (!$util.isString(message.dumpFilePath))
                                     return "dumpFilePath: string expected";
                             if (message.sourceInstance != null && message.hasOwnProperty("sourceInstance")) {
-                                var error = $root.google.cloud.sql.v1beta4.InstanceReference.verify(message.sourceInstance);
+                                var error = $root.google.cloud.sql.v1beta4.InstanceReference.verify(message.sourceInstance, long + 1);
                                 if (error)
                                     return "sourceInstance." + error;
                             }
@@ -124619,7 +129501,7 @@
                                 if (!Array.isArray(message.selectedObjects))
                                     return "selectedObjects: array expected";
                                 for (var i = 0; i < message.selectedObjects.length; ++i) {
-                                    var error = $root.google.cloud.sql.v1beta4.SelectedObjects.verify(message.selectedObjects[i]);
+                                    var error = $root.google.cloud.sql.v1beta4.SelectedObjects.verify(message.selectedObjects[i], long + 1);
                                     if (error)
                                         return "selectedObjects." + error;
                                 }
@@ -124645,9 +129527,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.OnPremisesConfiguration} OnPremisesConfiguration
                          */
-                        OnPremisesConfiguration.fromObject = function fromObject(object) {
+                        OnPremisesConfiguration.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.OnPremisesConfiguration)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.OnPremisesConfiguration();
                             if (object.hostPort != null)
                                 message.hostPort = String(object.hostPort);
@@ -124668,7 +129554,7 @@
                             if (object.sourceInstance != null) {
                                 if (typeof object.sourceInstance !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.OnPremisesConfiguration.sourceInstance: object expected");
-                                message.sourceInstance = $root.google.cloud.sql.v1beta4.InstanceReference.fromObject(object.sourceInstance);
+                                message.sourceInstance = $root.google.cloud.sql.v1beta4.InstanceReference.fromObject(object.sourceInstance, long + 1);
                             }
                             if (object.selectedObjects) {
                                 if (!Array.isArray(object.selectedObjects))
@@ -124677,7 +129563,7 @@
                                 for (var i = 0; i < object.selectedObjects.length; ++i) {
                                     if (typeof object.selectedObjects[i] !== "object")
                                         throw TypeError(".google.cloud.sql.v1beta4.OnPremisesConfiguration.selectedObjects: object expected");
-                                    message.selectedObjects[i] = $root.google.cloud.sql.v1beta4.SelectedObjects.fromObject(object.selectedObjects[i]);
+                                    message.selectedObjects[i] = $root.google.cloud.sql.v1beta4.SelectedObjects.fromObject(object.selectedObjects[i], long + 1);
                                 }
                             }
                             switch (object.sslOption) {
@@ -124830,7 +129716,7 @@
                         function DiskEncryptionConfiguration(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -124905,9 +129791,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        DiskEncryptionConfiguration.decode = function decode(reader, length, error) {
+                        DiskEncryptionConfiguration.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.DiskEncryptionConfiguration();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -124923,7 +129813,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -124954,9 +129844,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        DiskEncryptionConfiguration.verify = function verify(message) {
+                        DiskEncryptionConfiguration.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.kmsKeyName != null && message.hasOwnProperty("kmsKeyName"))
                                 if (!$util.isString(message.kmsKeyName))
                                     return "kmsKeyName: string expected";
@@ -124974,9 +129868,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.DiskEncryptionConfiguration} DiskEncryptionConfiguration
                          */
-                        DiskEncryptionConfiguration.fromObject = function fromObject(object) {
+                        DiskEncryptionConfiguration.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.DiskEncryptionConfiguration)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.DiskEncryptionConfiguration();
                             if (object.kmsKeyName != null)
                                 message.kmsKeyName = String(object.kmsKeyName);
@@ -125059,7 +129957,7 @@
                         function DiskEncryptionStatus(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -125134,9 +130032,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        DiskEncryptionStatus.decode = function decode(reader, length, error) {
+                        DiskEncryptionStatus.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.DiskEncryptionStatus();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -125152,7 +130054,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -125183,9 +130085,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        DiskEncryptionStatus.verify = function verify(message) {
+                        DiskEncryptionStatus.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.kmsKeyVersionName != null && message.hasOwnProperty("kmsKeyVersionName"))
                                 if (!$util.isString(message.kmsKeyVersionName))
                                     return "kmsKeyVersionName: string expected";
@@ -125203,9 +130109,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.DiskEncryptionStatus} DiskEncryptionStatus
                          */
-                        DiskEncryptionStatus.fromObject = function fromObject(object) {
+                        DiskEncryptionStatus.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.DiskEncryptionStatus)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.DiskEncryptionStatus();
                             if (object.kmsKeyVersionName != null)
                                 message.kmsKeyVersionName = String(object.kmsKeyVersionName);
@@ -125307,7 +130217,7 @@
                         function SqlSubOperationType(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -125386,9 +130296,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlSubOperationType.decode = function decode(reader, length, error) {
+                        SqlSubOperationType.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.SqlSubOperationType();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -125400,7 +130314,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -125431,9 +130345,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlSubOperationType.verify = function verify(message) {
+                        SqlSubOperationType.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             var properties = {};
                             if (message.maintenanceType != null && message.hasOwnProperty("maintenanceType")) {
                                 properties.subOperationDetails = 1;
@@ -125459,9 +130377,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.SqlSubOperationType} SqlSubOperationType
                          */
-                        SqlSubOperationType.fromObject = function fromObject(object) {
+                        SqlSubOperationType.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.SqlSubOperationType)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.SqlSubOperationType();
                             switch (object.maintenanceType) {
                             default:
@@ -125583,7 +130505,7 @@
                         function Operation(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -125838,9 +130760,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        Operation.decode = function decode(reader, length, error) {
+                        Operation.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.Operation();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -125864,23 +130790,23 @@
                                         break;
                                     }
                                 case 5: {
-                                        message.insertTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+                                        message.insertTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 6: {
-                                        message.startTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+                                        message.startTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 7: {
-                                        message.endTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+                                        message.endTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 8: {
-                                        message.error = $root.google.cloud.sql.v1beta4.OperationErrors.decode(reader, reader.uint32());
+                                        message.error = $root.google.cloud.sql.v1beta4.OperationErrors.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 19: {
-                                        message.apiWarning = $root.google.cloud.sql.v1beta4.ApiWarning.decode(reader, reader.uint32());
+                                        message.apiWarning = $root.google.cloud.sql.v1beta4.ApiWarning.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 9: {
@@ -125888,19 +130814,19 @@
                                         break;
                                     }
                                 case 10: {
-                                        message.importContext = $root.google.cloud.sql.v1beta4.ImportContext.decode(reader, reader.uint32());
+                                        message.importContext = $root.google.cloud.sql.v1beta4.ImportContext.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 11: {
-                                        message.exportContext = $root.google.cloud.sql.v1beta4.ExportContext.decode(reader, reader.uint32());
+                                        message.exportContext = $root.google.cloud.sql.v1beta4.ExportContext.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 17: {
-                                        message.backupContext = $root.google.cloud.sql.v1beta4.BackupContext.decode(reader, reader.uint32());
+                                        message.backupContext = $root.google.cloud.sql.v1beta4.BackupContext.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 50: {
-                                        message.preCheckMajorVersionUpgradeContext = $root.google.cloud.sql.v1beta4.PreCheckMajorVersionUpgradeContext.decode(reader, reader.uint32());
+                                        message.preCheckMajorVersionUpgradeContext = $root.google.cloud.sql.v1beta4.PreCheckMajorVersionUpgradeContext.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 12: {
@@ -125920,15 +130846,15 @@
                                         break;
                                     }
                                 case 20: {
-                                        message.acquireSsrsLeaseContext = $root.google.cloud.sql.v1beta4.AcquireSsrsLeaseContext.decode(reader, reader.uint32());
+                                        message.acquireSsrsLeaseContext = $root.google.cloud.sql.v1beta4.AcquireSsrsLeaseContext.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 48: {
-                                        message.subOperationType = $root.google.cloud.sql.v1beta4.SqlSubOperationType.decode(reader, reader.uint32());
+                                        message.subOperationType = $root.google.cloud.sql.v1beta4.SqlSubOperationType.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -125959,9 +130885,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        Operation.verify = function verify(message) {
+                        Operation.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.kind != null && message.hasOwnProperty("kind"))
                                 if (!$util.isString(message.kind))
                                     return "kind: string expected";
@@ -125982,27 +130912,27 @@
                                 if (!$util.isString(message.user))
                                     return "user: string expected";
                             if (message.insertTime != null && message.hasOwnProperty("insertTime")) {
-                                var error = $root.google.protobuf.Timestamp.verify(message.insertTime);
+                                var error = $root.google.protobuf.Timestamp.verify(message.insertTime, long + 1);
                                 if (error)
                                     return "insertTime." + error;
                             }
                             if (message.startTime != null && message.hasOwnProperty("startTime")) {
-                                var error = $root.google.protobuf.Timestamp.verify(message.startTime);
+                                var error = $root.google.protobuf.Timestamp.verify(message.startTime, long + 1);
                                 if (error)
                                     return "startTime." + error;
                             }
                             if (message.endTime != null && message.hasOwnProperty("endTime")) {
-                                var error = $root.google.protobuf.Timestamp.verify(message.endTime);
+                                var error = $root.google.protobuf.Timestamp.verify(message.endTime, long + 1);
                                 if (error)
                                     return "endTime." + error;
                             }
                             if (message.error != null && message.hasOwnProperty("error")) {
-                                var error = $root.google.cloud.sql.v1beta4.OperationErrors.verify(message.error);
+                                var error = $root.google.cloud.sql.v1beta4.OperationErrors.verify(message.error, long + 1);
                                 if (error)
                                     return "error." + error;
                             }
                             if (message.apiWarning != null && message.hasOwnProperty("apiWarning")) {
-                                var error = $root.google.cloud.sql.v1beta4.ApiWarning.verify(message.apiWarning);
+                                var error = $root.google.cloud.sql.v1beta4.ApiWarning.verify(message.apiWarning, long + 1);
                                 if (error)
                                     return "apiWarning." + error;
                             }
@@ -126065,22 +130995,22 @@
                                     break;
                                 }
                             if (message.importContext != null && message.hasOwnProperty("importContext")) {
-                                var error = $root.google.cloud.sql.v1beta4.ImportContext.verify(message.importContext);
+                                var error = $root.google.cloud.sql.v1beta4.ImportContext.verify(message.importContext, long + 1);
                                 if (error)
                                     return "importContext." + error;
                             }
                             if (message.exportContext != null && message.hasOwnProperty("exportContext")) {
-                                var error = $root.google.cloud.sql.v1beta4.ExportContext.verify(message.exportContext);
+                                var error = $root.google.cloud.sql.v1beta4.ExportContext.verify(message.exportContext, long + 1);
                                 if (error)
                                     return "exportContext." + error;
                             }
                             if (message.backupContext != null && message.hasOwnProperty("backupContext")) {
-                                var error = $root.google.cloud.sql.v1beta4.BackupContext.verify(message.backupContext);
+                                var error = $root.google.cloud.sql.v1beta4.BackupContext.verify(message.backupContext, long + 1);
                                 if (error)
                                     return "backupContext." + error;
                             }
                             if (message.preCheckMajorVersionUpgradeContext != null && message.hasOwnProperty("preCheckMajorVersionUpgradeContext")) {
-                                var error = $root.google.cloud.sql.v1beta4.PreCheckMajorVersionUpgradeContext.verify(message.preCheckMajorVersionUpgradeContext);
+                                var error = $root.google.cloud.sql.v1beta4.PreCheckMajorVersionUpgradeContext.verify(message.preCheckMajorVersionUpgradeContext, long + 1);
                                 if (error)
                                     return "preCheckMajorVersionUpgradeContext." + error;
                             }
@@ -126097,12 +131027,12 @@
                                 if (!$util.isString(message.targetProject))
                                     return "targetProject: string expected";
                             if (message.acquireSsrsLeaseContext != null && message.hasOwnProperty("acquireSsrsLeaseContext")) {
-                                var error = $root.google.cloud.sql.v1beta4.AcquireSsrsLeaseContext.verify(message.acquireSsrsLeaseContext);
+                                var error = $root.google.cloud.sql.v1beta4.AcquireSsrsLeaseContext.verify(message.acquireSsrsLeaseContext, long + 1);
                                 if (error)
                                     return "acquireSsrsLeaseContext." + error;
                             }
                             if (message.subOperationType != null && message.hasOwnProperty("subOperationType")) {
-                                var error = $root.google.cloud.sql.v1beta4.SqlSubOperationType.verify(message.subOperationType);
+                                var error = $root.google.cloud.sql.v1beta4.SqlSubOperationType.verify(message.subOperationType, long + 1);
                                 if (error)
                                     return "subOperationType." + error;
                             }
@@ -126117,9 +131047,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.Operation} Operation
                          */
-                        Operation.fromObject = function fromObject(object) {
+                        Operation.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.Operation)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.Operation();
                             if (object.kind != null)
                                 message.kind = String(object.kind);
@@ -126154,27 +131088,27 @@
                             if (object.insertTime != null) {
                                 if (typeof object.insertTime !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.Operation.insertTime: object expected");
-                                message.insertTime = $root.google.protobuf.Timestamp.fromObject(object.insertTime);
+                                message.insertTime = $root.google.protobuf.Timestamp.fromObject(object.insertTime, long + 1);
                             }
                             if (object.startTime != null) {
                                 if (typeof object.startTime !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.Operation.startTime: object expected");
-                                message.startTime = $root.google.protobuf.Timestamp.fromObject(object.startTime);
+                                message.startTime = $root.google.protobuf.Timestamp.fromObject(object.startTime, long + 1);
                             }
                             if (object.endTime != null) {
                                 if (typeof object.endTime !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.Operation.endTime: object expected");
-                                message.endTime = $root.google.protobuf.Timestamp.fromObject(object.endTime);
+                                message.endTime = $root.google.protobuf.Timestamp.fromObject(object.endTime, long + 1);
                             }
                             if (object.error != null) {
                                 if (typeof object.error !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.Operation.error: object expected");
-                                message.error = $root.google.cloud.sql.v1beta4.OperationErrors.fromObject(object.error);
+                                message.error = $root.google.cloud.sql.v1beta4.OperationErrors.fromObject(object.error, long + 1);
                             }
                             if (object.apiWarning != null) {
                                 if (typeof object.apiWarning !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.Operation.apiWarning: object expected");
-                                message.apiWarning = $root.google.cloud.sql.v1beta4.ApiWarning.fromObject(object.apiWarning);
+                                message.apiWarning = $root.google.cloud.sql.v1beta4.ApiWarning.fromObject(object.apiWarning, long + 1);
                             }
                             switch (object.operationType) {
                             default:
@@ -126395,22 +131329,22 @@
                             if (object.importContext != null) {
                                 if (typeof object.importContext !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.Operation.importContext: object expected");
-                                message.importContext = $root.google.cloud.sql.v1beta4.ImportContext.fromObject(object.importContext);
+                                message.importContext = $root.google.cloud.sql.v1beta4.ImportContext.fromObject(object.importContext, long + 1);
                             }
                             if (object.exportContext != null) {
                                 if (typeof object.exportContext !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.Operation.exportContext: object expected");
-                                message.exportContext = $root.google.cloud.sql.v1beta4.ExportContext.fromObject(object.exportContext);
+                                message.exportContext = $root.google.cloud.sql.v1beta4.ExportContext.fromObject(object.exportContext, long + 1);
                             }
                             if (object.backupContext != null) {
                                 if (typeof object.backupContext !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.Operation.backupContext: object expected");
-                                message.backupContext = $root.google.cloud.sql.v1beta4.BackupContext.fromObject(object.backupContext);
+                                message.backupContext = $root.google.cloud.sql.v1beta4.BackupContext.fromObject(object.backupContext, long + 1);
                             }
                             if (object.preCheckMajorVersionUpgradeContext != null) {
                                 if (typeof object.preCheckMajorVersionUpgradeContext !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.Operation.preCheckMajorVersionUpgradeContext: object expected");
-                                message.preCheckMajorVersionUpgradeContext = $root.google.cloud.sql.v1beta4.PreCheckMajorVersionUpgradeContext.fromObject(object.preCheckMajorVersionUpgradeContext);
+                                message.preCheckMajorVersionUpgradeContext = $root.google.cloud.sql.v1beta4.PreCheckMajorVersionUpgradeContext.fromObject(object.preCheckMajorVersionUpgradeContext, long + 1);
                             }
                             if (object.name != null)
                                 message.name = String(object.name);
@@ -126423,12 +131357,12 @@
                             if (object.acquireSsrsLeaseContext != null) {
                                 if (typeof object.acquireSsrsLeaseContext !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.Operation.acquireSsrsLeaseContext: object expected");
-                                message.acquireSsrsLeaseContext = $root.google.cloud.sql.v1beta4.AcquireSsrsLeaseContext.fromObject(object.acquireSsrsLeaseContext);
+                                message.acquireSsrsLeaseContext = $root.google.cloud.sql.v1beta4.AcquireSsrsLeaseContext.fromObject(object.acquireSsrsLeaseContext, long + 1);
                             }
                             if (object.subOperationType != null) {
                                 if (typeof object.subOperationType !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.Operation.subOperationType: object expected");
-                                message.subOperationType = $root.google.cloud.sql.v1beta4.SqlSubOperationType.fromObject(object.subOperationType);
+                                message.subOperationType = $root.google.cloud.sql.v1beta4.SqlSubOperationType.fromObject(object.subOperationType, long + 1);
                             }
                             return message;
                         };
@@ -126694,7 +131628,7 @@
                         function OperationError(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -126779,9 +131713,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        OperationError.decode = function decode(reader, length, error) {
+                        OperationError.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.OperationError();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -126801,7 +131739,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -126832,9 +131770,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        OperationError.verify = function verify(message) {
+                        OperationError.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.kind != null && message.hasOwnProperty("kind"))
                                 if (!$util.isString(message.kind))
                                     return "kind: string expected";
@@ -126855,9 +131797,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.OperationError} OperationError
                          */
-                        OperationError.fromObject = function fromObject(object) {
+                        OperationError.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.OperationError)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.OperationError();
                             if (object.kind != null)
                                 message.kind = String(object.kind);
@@ -126946,7 +131892,7 @@
                             this.errors = [];
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -127022,9 +131968,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        OperationErrors.decode = function decode(reader, length, error) {
+                        OperationErrors.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.OperationErrors();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -127038,11 +131988,11 @@
                                 case 2: {
                                         if (!(message.errors && message.errors.length))
                                             message.errors = [];
-                                        message.errors.push($root.google.cloud.sql.v1beta4.OperationError.decode(reader, reader.uint32()));
+                                        message.errors.push($root.google.cloud.sql.v1beta4.OperationError.decode(reader, reader.uint32(), undefined, long + 1));
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -127073,9 +132023,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        OperationErrors.verify = function verify(message) {
+                        OperationErrors.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.kind != null && message.hasOwnProperty("kind"))
                                 if (!$util.isString(message.kind))
                                     return "kind: string expected";
@@ -127083,7 +132037,7 @@
                                 if (!Array.isArray(message.errors))
                                     return "errors: array expected";
                                 for (var i = 0; i < message.errors.length; ++i) {
-                                    var error = $root.google.cloud.sql.v1beta4.OperationError.verify(message.errors[i]);
+                                    var error = $root.google.cloud.sql.v1beta4.OperationError.verify(message.errors[i], long + 1);
                                     if (error)
                                         return "errors." + error;
                                 }
@@ -127099,9 +132053,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.OperationErrors} OperationErrors
                          */
-                        OperationErrors.fromObject = function fromObject(object) {
+                        OperationErrors.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.OperationErrors)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.OperationErrors();
                             if (object.kind != null)
                                 message.kind = String(object.kind);
@@ -127112,7 +132070,7 @@
                                 for (var i = 0; i < object.errors.length; ++i) {
                                     if (typeof object.errors[i] !== "object")
                                         throw TypeError(".google.cloud.sql.v1beta4.OperationErrors.errors: object expected");
-                                    message.errors[i] = $root.google.cloud.sql.v1beta4.OperationError.fromObject(object.errors[i]);
+                                    message.errors[i] = $root.google.cloud.sql.v1beta4.OperationError.fromObject(object.errors[i], long + 1);
                                 }
                             }
                             return message;
@@ -127200,7 +132158,7 @@
                         function PasswordValidationPolicy(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -127325,9 +132283,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        PasswordValidationPolicy.decode = function decode(reader, length, error) {
+                        PasswordValidationPolicy.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.PasswordValidationPolicy();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -127335,7 +132297,7 @@
                                     break;
                                 switch (tag >>> 3) {
                                 case 1: {
-                                        message.minLength = $root.google.protobuf.Int32Value.decode(reader, reader.uint32());
+                                        message.minLength = $root.google.protobuf.Int32Value.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 2: {
@@ -127343,27 +132305,27 @@
                                         break;
                                     }
                                 case 3: {
-                                        message.reuseInterval = $root.google.protobuf.Int32Value.decode(reader, reader.uint32());
+                                        message.reuseInterval = $root.google.protobuf.Int32Value.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 4: {
-                                        message.disallowUsernameSubstring = $root.google.protobuf.BoolValue.decode(reader, reader.uint32());
+                                        message.disallowUsernameSubstring = $root.google.protobuf.BoolValue.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 5: {
-                                        message.passwordChangeInterval = $root.google.protobuf.Duration.decode(reader, reader.uint32());
+                                        message.passwordChangeInterval = $root.google.protobuf.Duration.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 6: {
-                                        message.enablePasswordPolicy = $root.google.protobuf.BoolValue.decode(reader, reader.uint32());
+                                        message.enablePasswordPolicy = $root.google.protobuf.BoolValue.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 7: {
-                                        message.disallowCompromisedCredentials = $root.google.protobuf.BoolValue.decode(reader, reader.uint32());
+                                        message.disallowCompromisedCredentials = $root.google.protobuf.BoolValue.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -127394,11 +132356,15 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        PasswordValidationPolicy.verify = function verify(message) {
+                        PasswordValidationPolicy.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.minLength != null && message.hasOwnProperty("minLength")) {
-                                var error = $root.google.protobuf.Int32Value.verify(message.minLength);
+                                var error = $root.google.protobuf.Int32Value.verify(message.minLength, long + 1);
                                 if (error)
                                     return "minLength." + error;
                             }
@@ -127411,27 +132377,27 @@
                                     break;
                                 }
                             if (message.reuseInterval != null && message.hasOwnProperty("reuseInterval")) {
-                                var error = $root.google.protobuf.Int32Value.verify(message.reuseInterval);
+                                var error = $root.google.protobuf.Int32Value.verify(message.reuseInterval, long + 1);
                                 if (error)
                                     return "reuseInterval." + error;
                             }
                             if (message.disallowUsernameSubstring != null && message.hasOwnProperty("disallowUsernameSubstring")) {
-                                var error = $root.google.protobuf.BoolValue.verify(message.disallowUsernameSubstring);
+                                var error = $root.google.protobuf.BoolValue.verify(message.disallowUsernameSubstring, long + 1);
                                 if (error)
                                     return "disallowUsernameSubstring." + error;
                             }
                             if (message.passwordChangeInterval != null && message.hasOwnProperty("passwordChangeInterval")) {
-                                var error = $root.google.protobuf.Duration.verify(message.passwordChangeInterval);
+                                var error = $root.google.protobuf.Duration.verify(message.passwordChangeInterval, long + 1);
                                 if (error)
                                     return "passwordChangeInterval." + error;
                             }
                             if (message.enablePasswordPolicy != null && message.hasOwnProperty("enablePasswordPolicy")) {
-                                var error = $root.google.protobuf.BoolValue.verify(message.enablePasswordPolicy);
+                                var error = $root.google.protobuf.BoolValue.verify(message.enablePasswordPolicy, long + 1);
                                 if (error)
                                     return "enablePasswordPolicy." + error;
                             }
                             if (message.disallowCompromisedCredentials != null && message.hasOwnProperty("disallowCompromisedCredentials")) {
-                                var error = $root.google.protobuf.BoolValue.verify(message.disallowCompromisedCredentials);
+                                var error = $root.google.protobuf.BoolValue.verify(message.disallowCompromisedCredentials, long + 1);
                                 if (error)
                                     return "disallowCompromisedCredentials." + error;
                             }
@@ -127446,14 +132412,18 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.PasswordValidationPolicy} PasswordValidationPolicy
                          */
-                        PasswordValidationPolicy.fromObject = function fromObject(object) {
+                        PasswordValidationPolicy.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.PasswordValidationPolicy)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.PasswordValidationPolicy();
                             if (object.minLength != null) {
                                 if (typeof object.minLength !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.PasswordValidationPolicy.minLength: object expected");
-                                message.minLength = $root.google.protobuf.Int32Value.fromObject(object.minLength);
+                                message.minLength = $root.google.protobuf.Int32Value.fromObject(object.minLength, long + 1);
                             }
                             switch (object.complexity) {
                             default:
@@ -127474,27 +132444,27 @@
                             if (object.reuseInterval != null) {
                                 if (typeof object.reuseInterval !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.PasswordValidationPolicy.reuseInterval: object expected");
-                                message.reuseInterval = $root.google.protobuf.Int32Value.fromObject(object.reuseInterval);
+                                message.reuseInterval = $root.google.protobuf.Int32Value.fromObject(object.reuseInterval, long + 1);
                             }
                             if (object.disallowUsernameSubstring != null) {
                                 if (typeof object.disallowUsernameSubstring !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.PasswordValidationPolicy.disallowUsernameSubstring: object expected");
-                                message.disallowUsernameSubstring = $root.google.protobuf.BoolValue.fromObject(object.disallowUsernameSubstring);
+                                message.disallowUsernameSubstring = $root.google.protobuf.BoolValue.fromObject(object.disallowUsernameSubstring, long + 1);
                             }
                             if (object.passwordChangeInterval != null) {
                                 if (typeof object.passwordChangeInterval !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.PasswordValidationPolicy.passwordChangeInterval: object expected");
-                                message.passwordChangeInterval = $root.google.protobuf.Duration.fromObject(object.passwordChangeInterval);
+                                message.passwordChangeInterval = $root.google.protobuf.Duration.fromObject(object.passwordChangeInterval, long + 1);
                             }
                             if (object.enablePasswordPolicy != null) {
                                 if (typeof object.enablePasswordPolicy !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.PasswordValidationPolicy.enablePasswordPolicy: object expected");
-                                message.enablePasswordPolicy = $root.google.protobuf.BoolValue.fromObject(object.enablePasswordPolicy);
+                                message.enablePasswordPolicy = $root.google.protobuf.BoolValue.fromObject(object.enablePasswordPolicy, long + 1);
                             }
                             if (object.disallowCompromisedCredentials != null) {
                                 if (typeof object.disallowCompromisedCredentials !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.PasswordValidationPolicy.disallowCompromisedCredentials: object expected");
-                                message.disallowCompromisedCredentials = $root.google.protobuf.BoolValue.fromObject(object.disallowCompromisedCredentials);
+                                message.disallowCompromisedCredentials = $root.google.protobuf.BoolValue.fromObject(object.disallowCompromisedCredentials, long + 1);
                             }
                             return message;
                         };
@@ -127604,7 +132574,7 @@
                             this.items = [];
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -127690,9 +132660,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        OperationsListResponse.decode = function decode(reader, length, error) {
+                        OperationsListResponse.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.OperationsListResponse();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -127706,7 +132680,7 @@
                                 case 2: {
                                         if (!(message.items && message.items.length))
                                             message.items = [];
-                                        message.items.push($root.google.cloud.sql.v1beta4.Operation.decode(reader, reader.uint32()));
+                                        message.items.push($root.google.cloud.sql.v1beta4.Operation.decode(reader, reader.uint32(), undefined, long + 1));
                                         break;
                                     }
                                 case 3: {
@@ -127714,7 +132688,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -127745,9 +132719,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        OperationsListResponse.verify = function verify(message) {
+                        OperationsListResponse.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.kind != null && message.hasOwnProperty("kind"))
                                 if (!$util.isString(message.kind))
                                     return "kind: string expected";
@@ -127755,7 +132733,7 @@
                                 if (!Array.isArray(message.items))
                                     return "items: array expected";
                                 for (var i = 0; i < message.items.length; ++i) {
-                                    var error = $root.google.cloud.sql.v1beta4.Operation.verify(message.items[i]);
+                                    var error = $root.google.cloud.sql.v1beta4.Operation.verify(message.items[i], long + 1);
                                     if (error)
                                         return "items." + error;
                                 }
@@ -127774,9 +132752,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.OperationsListResponse} OperationsListResponse
                          */
-                        OperationsListResponse.fromObject = function fromObject(object) {
+                        OperationsListResponse.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.OperationsListResponse)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.OperationsListResponse();
                             if (object.kind != null)
                                 message.kind = String(object.kind);
@@ -127787,7 +132769,7 @@
                                 for (var i = 0; i < object.items.length; ++i) {
                                     if (typeof object.items[i] !== "object")
                                         throw TypeError(".google.cloud.sql.v1beta4.OperationsListResponse.items: object expected");
-                                    message.items[i] = $root.google.cloud.sql.v1beta4.Operation.fromObject(object.items[i]);
+                                    message.items[i] = $root.google.cloud.sql.v1beta4.Operation.fromObject(object.items[i], long + 1);
                                 }
                             }
                             if (object.nextPageToken != null)
@@ -127878,7 +132860,7 @@
                         function ReplicaConfiguration(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -127973,9 +132955,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        ReplicaConfiguration.decode = function decode(reader, length, error) {
+                        ReplicaConfiguration.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.ReplicaConfiguration();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -127987,19 +132973,19 @@
                                         break;
                                     }
                                 case 2: {
-                                        message.mysqlReplicaConfiguration = $root.google.cloud.sql.v1beta4.MySqlReplicaConfiguration.decode(reader, reader.uint32());
+                                        message.mysqlReplicaConfiguration = $root.google.cloud.sql.v1beta4.MySqlReplicaConfiguration.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 3: {
-                                        message.failoverTarget = $root.google.protobuf.BoolValue.decode(reader, reader.uint32());
+                                        message.failoverTarget = $root.google.protobuf.BoolValue.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 5: {
-                                        message.cascadableReplica = $root.google.protobuf.BoolValue.decode(reader, reader.uint32());
+                                        message.cascadableReplica = $root.google.protobuf.BoolValue.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -128030,24 +133016,28 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        ReplicaConfiguration.verify = function verify(message) {
+                        ReplicaConfiguration.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.kind != null && message.hasOwnProperty("kind"))
                                 if (!$util.isString(message.kind))
                                     return "kind: string expected";
                             if (message.mysqlReplicaConfiguration != null && message.hasOwnProperty("mysqlReplicaConfiguration")) {
-                                var error = $root.google.cloud.sql.v1beta4.MySqlReplicaConfiguration.verify(message.mysqlReplicaConfiguration);
+                                var error = $root.google.cloud.sql.v1beta4.MySqlReplicaConfiguration.verify(message.mysqlReplicaConfiguration, long + 1);
                                 if (error)
                                     return "mysqlReplicaConfiguration." + error;
                             }
                             if (message.failoverTarget != null && message.hasOwnProperty("failoverTarget")) {
-                                var error = $root.google.protobuf.BoolValue.verify(message.failoverTarget);
+                                var error = $root.google.protobuf.BoolValue.verify(message.failoverTarget, long + 1);
                                 if (error)
                                     return "failoverTarget." + error;
                             }
                             if (message.cascadableReplica != null && message.hasOwnProperty("cascadableReplica")) {
-                                var error = $root.google.protobuf.BoolValue.verify(message.cascadableReplica);
+                                var error = $root.google.protobuf.BoolValue.verify(message.cascadableReplica, long + 1);
                                 if (error)
                                     return "cascadableReplica." + error;
                             }
@@ -128062,26 +133052,30 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.ReplicaConfiguration} ReplicaConfiguration
                          */
-                        ReplicaConfiguration.fromObject = function fromObject(object) {
+                        ReplicaConfiguration.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.ReplicaConfiguration)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.ReplicaConfiguration();
                             if (object.kind != null)
                                 message.kind = String(object.kind);
                             if (object.mysqlReplicaConfiguration != null) {
                                 if (typeof object.mysqlReplicaConfiguration !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.ReplicaConfiguration.mysqlReplicaConfiguration: object expected");
-                                message.mysqlReplicaConfiguration = $root.google.cloud.sql.v1beta4.MySqlReplicaConfiguration.fromObject(object.mysqlReplicaConfiguration);
+                                message.mysqlReplicaConfiguration = $root.google.cloud.sql.v1beta4.MySqlReplicaConfiguration.fromObject(object.mysqlReplicaConfiguration, long + 1);
                             }
                             if (object.failoverTarget != null) {
                                 if (typeof object.failoverTarget !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.ReplicaConfiguration.failoverTarget: object expected");
-                                message.failoverTarget = $root.google.protobuf.BoolValue.fromObject(object.failoverTarget);
+                                message.failoverTarget = $root.google.protobuf.BoolValue.fromObject(object.failoverTarget, long + 1);
                             }
                             if (object.cascadableReplica != null) {
                                 if (typeof object.cascadableReplica !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.ReplicaConfiguration.cascadableReplica: object expected");
-                                message.cascadableReplica = $root.google.protobuf.BoolValue.fromObject(object.cascadableReplica);
+                                message.cascadableReplica = $root.google.protobuf.BoolValue.fromObject(object.cascadableReplica, long + 1);
                             }
                             return message;
                         };
@@ -128168,7 +133162,7 @@
                         function RestoreBackupContext(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -128263,9 +133257,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        RestoreBackupContext.decode = function decode(reader, length, error) {
+                        RestoreBackupContext.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.RestoreBackupContext();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -128289,7 +133287,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -128320,9 +133318,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        RestoreBackupContext.verify = function verify(message) {
+                        RestoreBackupContext.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.kind != null && message.hasOwnProperty("kind"))
                                 if (!$util.isString(message.kind))
                                     return "kind: string expected";
@@ -128346,9 +133348,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.RestoreBackupContext} RestoreBackupContext
                          */
-                        RestoreBackupContext.fromObject = function fromObject(object) {
+                        RestoreBackupContext.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.RestoreBackupContext)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.RestoreBackupContext();
                             if (object.kind != null)
                                 message.kind = String(object.kind);
@@ -128455,7 +133461,7 @@
                         function RotateServerCaContext(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -128530,9 +133536,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        RotateServerCaContext.decode = function decode(reader, length, error) {
+                        RotateServerCaContext.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.RotateServerCaContext();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -128548,7 +133558,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -128579,9 +133589,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        RotateServerCaContext.verify = function verify(message) {
+                        RotateServerCaContext.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.kind != null && message.hasOwnProperty("kind"))
                                 if (!$util.isString(message.kind))
                                     return "kind: string expected";
@@ -128599,9 +133613,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.RotateServerCaContext} RotateServerCaContext
                          */
-                        RotateServerCaContext.fromObject = function fromObject(object) {
+                        RotateServerCaContext.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.RotateServerCaContext)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.RotateServerCaContext();
                             if (object.kind != null)
                                 message.kind = String(object.kind);
@@ -128684,7 +133702,7 @@
                         function RotateServerCertificateContext(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -128759,9 +133777,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        RotateServerCertificateContext.decode = function decode(reader, length, error) {
+                        RotateServerCertificateContext.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.RotateServerCertificateContext();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -128777,7 +133799,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -128808,9 +133830,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        RotateServerCertificateContext.verify = function verify(message) {
+                        RotateServerCertificateContext.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.kind != null && message.hasOwnProperty("kind"))
                                 if (!$util.isString(message.kind))
                                     return "kind: string expected";
@@ -128828,9 +133854,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.RotateServerCertificateContext} RotateServerCertificateContext
                          */
-                        RotateServerCertificateContext.fromObject = function fromObject(object) {
+                        RotateServerCertificateContext.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.RotateServerCertificateContext)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.RotateServerCertificateContext();
                             if (object.kind != null)
                                 message.kind = String(object.kind);
@@ -128913,7 +133943,7 @@
                         function RotateEntraIdCertificateContext(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -128988,9 +134018,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        RotateEntraIdCertificateContext.decode = function decode(reader, length, error) {
+                        RotateEntraIdCertificateContext.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.RotateEntraIdCertificateContext();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -129006,7 +134040,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -129037,9 +134071,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        RotateEntraIdCertificateContext.verify = function verify(message) {
+                        RotateEntraIdCertificateContext.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.kind != null && message.hasOwnProperty("kind"))
                                 if (!$util.isString(message.kind))
                                     return "kind: string expected";
@@ -129057,9 +134095,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.RotateEntraIdCertificateContext} RotateEntraIdCertificateContext
                          */
-                        RotateEntraIdCertificateContext.fromObject = function fromObject(object) {
+                        RotateEntraIdCertificateContext.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.RotateEntraIdCertificateContext)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.RotateEntraIdCertificateContext();
                             if (object.kind != null)
                                 message.kind = String(object.kind);
@@ -129141,7 +134183,7 @@
                         function DataCacheConfig(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -129206,9 +134248,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        DataCacheConfig.decode = function decode(reader, length, error) {
+                        DataCacheConfig.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.DataCacheConfig();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -129220,7 +134266,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -129251,9 +134297,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        DataCacheConfig.verify = function verify(message) {
+                        DataCacheConfig.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.dataCacheEnabled != null && message.hasOwnProperty("dataCacheEnabled"))
                                 if (typeof message.dataCacheEnabled !== "boolean")
                                     return "dataCacheEnabled: boolean expected";
@@ -129268,9 +134318,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.DataCacheConfig} DataCacheConfig
                          */
-                        DataCacheConfig.fromObject = function fromObject(object) {
+                        DataCacheConfig.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.DataCacheConfig)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.DataCacheConfig();
                             if (object.dataCacheEnabled != null)
                                 message.dataCacheEnabled = Boolean(object.dataCacheEnabled);
@@ -129347,7 +134401,7 @@
                         function FinalBackupConfig(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -129437,9 +134491,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        FinalBackupConfig.decode = function decode(reader, length, error) {
+                        FinalBackupConfig.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.FinalBackupConfig();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -129455,7 +134513,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -129486,9 +134544,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        FinalBackupConfig.verify = function verify(message) {
+                        FinalBackupConfig.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             var properties = {};
                             if (message.enabled != null && message.hasOwnProperty("enabled")) {
                                 properties._enabled = 1;
@@ -129511,9 +134573,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.FinalBackupConfig} FinalBackupConfig
                          */
-                        FinalBackupConfig.fromObject = function fromObject(object) {
+                        FinalBackupConfig.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.FinalBackupConfig)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.FinalBackupConfig();
                             if (object.enabled != null)
                                 message.enabled = Boolean(object.enabled);
@@ -129645,7 +134711,7 @@
                             this.denyMaintenancePeriods = [];
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -130199,9 +135265,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        Settings.decode = function decode(reader, length, error) {
+                        Settings.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.Settings(), key, value;
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -130209,7 +135279,7 @@
                                     break;
                                 switch (tag >>> 3) {
                                 case 1: {
-                                        message.settingsVersion = $root.google.protobuf.Int64Value.decode(reader, reader.uint32());
+                                        message.settingsVersion = $root.google.protobuf.Int64Value.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 2: {
@@ -130242,10 +135312,12 @@
                                                 value = reader.string();
                                                 break;
                                             default:
-                                                reader.skipType(tag2 & 7);
+                                                reader.skipType(tag2 & 7, long);
                                                 break;
                                             }
                                         }
+                                        if (key === "__proto__")
+                                            $util.makeProp(message.userLabels, key);
                                         message.userLabels[key] = value;
                                         break;
                                     }
@@ -130262,7 +135334,7 @@
                                         break;
                                     }
                                 case 9: {
-                                        message.storageAutoResizeLimit = $root.google.protobuf.Int64Value.decode(reader, reader.uint32());
+                                        message.storageAutoResizeLimit = $root.google.protobuf.Int64Value.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 10: {
@@ -130270,21 +135342,21 @@
                                         break;
                                     }
                                 case 11: {
-                                        message.ipConfiguration = $root.google.cloud.sql.v1beta4.IpConfiguration.decode(reader, reader.uint32());
+                                        message.ipConfiguration = $root.google.cloud.sql.v1beta4.IpConfiguration.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 12: {
-                                        message.storageAutoResize = $root.google.protobuf.BoolValue.decode(reader, reader.uint32());
+                                        message.storageAutoResize = $root.google.protobuf.BoolValue.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 13: {
-                                        message.locationPreference = $root.google.cloud.sql.v1beta4.LocationPreference.decode(reader, reader.uint32());
+                                        message.locationPreference = $root.google.cloud.sql.v1beta4.LocationPreference.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 14: {
                                         if (!(message.databaseFlags && message.databaseFlags.length))
                                             message.databaseFlags = [];
-                                        message.databaseFlags.push($root.google.cloud.sql.v1beta4.DatabaseFlags.decode(reader, reader.uint32()));
+                                        message.databaseFlags.push($root.google.cloud.sql.v1beta4.DatabaseFlags.decode(reader, reader.uint32(), undefined, long + 1));
                                         break;
                                     }
                                 case 15: {
@@ -130292,27 +135364,27 @@
                                         break;
                                     }
                                 case 16: {
-                                        message.maintenanceWindow = $root.google.cloud.sql.v1beta4.MaintenanceWindow.decode(reader, reader.uint32());
+                                        message.maintenanceWindow = $root.google.cloud.sql.v1beta4.MaintenanceWindow.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 17: {
-                                        message.backupConfiguration = $root.google.cloud.sql.v1beta4.BackupConfiguration.decode(reader, reader.uint32());
+                                        message.backupConfiguration = $root.google.cloud.sql.v1beta4.BackupConfiguration.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 18: {
-                                        message.databaseReplicationEnabled = $root.google.protobuf.BoolValue.decode(reader, reader.uint32());
+                                        message.databaseReplicationEnabled = $root.google.protobuf.BoolValue.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 19: {
-                                        message.crashSafeReplicationEnabled = $root.google.protobuf.BoolValue.decode(reader, reader.uint32());
+                                        message.crashSafeReplicationEnabled = $root.google.protobuf.BoolValue.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 20: {
-                                        message.dataDiskSizeGb = $root.google.protobuf.Int64Value.decode(reader, reader.uint32());
+                                        message.dataDiskSizeGb = $root.google.protobuf.Int64Value.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 22: {
-                                        message.activeDirectoryConfig = $root.google.cloud.sql.v1beta4.SqlActiveDirectoryConfig.decode(reader, reader.uint32());
+                                        message.activeDirectoryConfig = $root.google.cloud.sql.v1beta4.SqlActiveDirectoryConfig.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 23: {
@@ -130322,19 +135394,19 @@
                                 case 24: {
                                         if (!(message.denyMaintenancePeriods && message.denyMaintenancePeriods.length))
                                             message.denyMaintenancePeriods = [];
-                                        message.denyMaintenancePeriods.push($root.google.cloud.sql.v1beta4.DenyMaintenancePeriod.decode(reader, reader.uint32()));
+                                        message.denyMaintenancePeriods.push($root.google.cloud.sql.v1beta4.DenyMaintenancePeriod.decode(reader, reader.uint32(), undefined, long + 1));
                                         break;
                                     }
                                 case 25: {
-                                        message.insightsConfig = $root.google.cloud.sql.v1beta4.InsightsConfig.decode(reader, reader.uint32());
+                                        message.insightsConfig = $root.google.cloud.sql.v1beta4.InsightsConfig.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 27: {
-                                        message.passwordValidationPolicy = $root.google.cloud.sql.v1beta4.PasswordValidationPolicy.decode(reader, reader.uint32());
+                                        message.passwordValidationPolicy = $root.google.cloud.sql.v1beta4.PasswordValidationPolicy.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 29: {
-                                        message.sqlServerAuditConfig = $root.google.cloud.sql.v1beta4.SqlServerAuditConfig.decode(reader, reader.uint32());
+                                        message.sqlServerAuditConfig = $root.google.cloud.sql.v1beta4.SqlServerAuditConfig.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 38: {
@@ -130346,7 +135418,7 @@
                                         break;
                                     }
                                 case 33: {
-                                        message.deletionProtectionEnabled = $root.google.protobuf.BoolValue.decode(reader, reader.uint32());
+                                        message.deletionProtectionEnabled = $root.google.protobuf.BoolValue.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 34: {
@@ -130354,27 +135426,27 @@
                                         break;
                                     }
                                 case 35: {
-                                        message.advancedMachineFeatures = $root.google.cloud.sql.v1beta4.AdvancedMachineFeatures.decode(reader, reader.uint32());
+                                        message.advancedMachineFeatures = $root.google.cloud.sql.v1beta4.AdvancedMachineFeatures.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 37: {
-                                        message.dataCacheConfig = $root.google.cloud.sql.v1beta4.DataCacheConfig.decode(reader, reader.uint32());
+                                        message.dataCacheConfig = $root.google.cloud.sql.v1beta4.DataCacheConfig.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 39: {
-                                        message.replicationLagMaxSeconds = $root.google.protobuf.Int32Value.decode(reader, reader.uint32());
+                                        message.replicationLagMaxSeconds = $root.google.protobuf.Int32Value.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 40: {
-                                        message.enableGoogleMlIntegration = $root.google.protobuf.BoolValue.decode(reader, reader.uint32());
+                                        message.enableGoogleMlIntegration = $root.google.protobuf.BoolValue.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 41: {
-                                        message.enableDataplexIntegration = $root.google.protobuf.BoolValue.decode(reader, reader.uint32());
+                                        message.enableDataplexIntegration = $root.google.protobuf.BoolValue.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 42: {
-                                        message.retainBackupsOnDelete = $root.google.protobuf.BoolValue.decode(reader, reader.uint32());
+                                        message.retainBackupsOnDelete = $root.google.protobuf.BoolValue.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 43: {
@@ -130386,15 +135458,15 @@
                                         break;
                                     }
                                 case 45: {
-                                        message.connectionPoolConfig = $root.google.cloud.sql.v1beta4.ConnectionPoolConfig.decode(reader, reader.uint32());
+                                        message.connectionPoolConfig = $root.google.cloud.sql.v1beta4.ConnectionPoolConfig.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 47: {
-                                        message.finalBackupConfig = $root.google.cloud.sql.v1beta4.FinalBackupConfig.decode(reader, reader.uint32());
+                                        message.finalBackupConfig = $root.google.cloud.sql.v1beta4.FinalBackupConfig.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 48: {
-                                        message.readPoolAutoScaleConfig = $root.google.cloud.sql.v1beta4.ReadPoolAutoScaleConfig.decode(reader, reader.uint32());
+                                        message.readPoolAutoScaleConfig = $root.google.cloud.sql.v1beta4.ReadPoolAutoScaleConfig.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 50: {
@@ -130402,7 +135474,7 @@
                                         break;
                                     }
                                 case 52: {
-                                        message.entraidConfig = $root.google.cloud.sql.v1beta4.SqlServerEntraIdConfig.decode(reader, reader.uint32());
+                                        message.entraidConfig = $root.google.cloud.sql.v1beta4.SqlServerEntraIdConfig.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 53: {
@@ -130410,11 +135482,11 @@
                                         break;
                                     }
                                 case 54: {
-                                        message.performanceCaptureConfig = $root.google.cloud.sql.v1beta4.PerformanceCaptureConfig.decode(reader, reader.uint32());
+                                        message.performanceCaptureConfig = $root.google.cloud.sql.v1beta4.PerformanceCaptureConfig.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -130445,12 +135517,16 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        Settings.verify = function verify(message) {
+                        Settings.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             var properties = {};
                             if (message.settingsVersion != null && message.hasOwnProperty("settingsVersion")) {
-                                var error = $root.google.protobuf.Int64Value.verify(message.settingsVersion);
+                                var error = $root.google.protobuf.Int64Value.verify(message.settingsVersion, long + 1);
                                 if (error)
                                     return "settingsVersion." + error;
                             }
@@ -130503,7 +135579,7 @@
                                     break;
                                 }
                             if (message.storageAutoResizeLimit != null && message.hasOwnProperty("storageAutoResizeLimit")) {
-                                var error = $root.google.protobuf.Int64Value.verify(message.storageAutoResizeLimit);
+                                var error = $root.google.protobuf.Int64Value.verify(message.storageAutoResizeLimit, long + 1);
                                 if (error)
                                     return "storageAutoResizeLimit." + error;
                             }
@@ -130518,17 +135594,17 @@
                                     break;
                                 }
                             if (message.ipConfiguration != null && message.hasOwnProperty("ipConfiguration")) {
-                                var error = $root.google.cloud.sql.v1beta4.IpConfiguration.verify(message.ipConfiguration);
+                                var error = $root.google.cloud.sql.v1beta4.IpConfiguration.verify(message.ipConfiguration, long + 1);
                                 if (error)
                                     return "ipConfiguration." + error;
                             }
                             if (message.storageAutoResize != null && message.hasOwnProperty("storageAutoResize")) {
-                                var error = $root.google.protobuf.BoolValue.verify(message.storageAutoResize);
+                                var error = $root.google.protobuf.BoolValue.verify(message.storageAutoResize, long + 1);
                                 if (error)
                                     return "storageAutoResize." + error;
                             }
                             if (message.locationPreference != null && message.hasOwnProperty("locationPreference")) {
-                                var error = $root.google.cloud.sql.v1beta4.LocationPreference.verify(message.locationPreference);
+                                var error = $root.google.cloud.sql.v1beta4.LocationPreference.verify(message.locationPreference, long + 1);
                                 if (error)
                                     return "locationPreference." + error;
                             }
@@ -130536,7 +135612,7 @@
                                 if (!Array.isArray(message.databaseFlags))
                                     return "databaseFlags: array expected";
                                 for (var i = 0; i < message.databaseFlags.length; ++i) {
-                                    var error = $root.google.cloud.sql.v1beta4.DatabaseFlags.verify(message.databaseFlags[i]);
+                                    var error = $root.google.cloud.sql.v1beta4.DatabaseFlags.verify(message.databaseFlags[i], long + 1);
                                     if (error)
                                         return "databaseFlags." + error;
                                 }
@@ -130553,32 +135629,32 @@
                                     break;
                                 }
                             if (message.maintenanceWindow != null && message.hasOwnProperty("maintenanceWindow")) {
-                                var error = $root.google.cloud.sql.v1beta4.MaintenanceWindow.verify(message.maintenanceWindow);
+                                var error = $root.google.cloud.sql.v1beta4.MaintenanceWindow.verify(message.maintenanceWindow, long + 1);
                                 if (error)
                                     return "maintenanceWindow." + error;
                             }
                             if (message.backupConfiguration != null && message.hasOwnProperty("backupConfiguration")) {
-                                var error = $root.google.cloud.sql.v1beta4.BackupConfiguration.verify(message.backupConfiguration);
+                                var error = $root.google.cloud.sql.v1beta4.BackupConfiguration.verify(message.backupConfiguration, long + 1);
                                 if (error)
                                     return "backupConfiguration." + error;
                             }
                             if (message.databaseReplicationEnabled != null && message.hasOwnProperty("databaseReplicationEnabled")) {
-                                var error = $root.google.protobuf.BoolValue.verify(message.databaseReplicationEnabled);
+                                var error = $root.google.protobuf.BoolValue.verify(message.databaseReplicationEnabled, long + 1);
                                 if (error)
                                     return "databaseReplicationEnabled." + error;
                             }
                             if (message.crashSafeReplicationEnabled != null && message.hasOwnProperty("crashSafeReplicationEnabled")) {
-                                var error = $root.google.protobuf.BoolValue.verify(message.crashSafeReplicationEnabled);
+                                var error = $root.google.protobuf.BoolValue.verify(message.crashSafeReplicationEnabled, long + 1);
                                 if (error)
                                     return "crashSafeReplicationEnabled." + error;
                             }
                             if (message.dataDiskSizeGb != null && message.hasOwnProperty("dataDiskSizeGb")) {
-                                var error = $root.google.protobuf.Int64Value.verify(message.dataDiskSizeGb);
+                                var error = $root.google.protobuf.Int64Value.verify(message.dataDiskSizeGb, long + 1);
                                 if (error)
                                     return "dataDiskSizeGb." + error;
                             }
                             if (message.activeDirectoryConfig != null && message.hasOwnProperty("activeDirectoryConfig")) {
-                                var error = $root.google.cloud.sql.v1beta4.SqlActiveDirectoryConfig.verify(message.activeDirectoryConfig);
+                                var error = $root.google.cloud.sql.v1beta4.SqlActiveDirectoryConfig.verify(message.activeDirectoryConfig, long + 1);
                                 if (error)
                                     return "activeDirectoryConfig." + error;
                             }
@@ -130589,23 +135665,23 @@
                                 if (!Array.isArray(message.denyMaintenancePeriods))
                                     return "denyMaintenancePeriods: array expected";
                                 for (var i = 0; i < message.denyMaintenancePeriods.length; ++i) {
-                                    var error = $root.google.cloud.sql.v1beta4.DenyMaintenancePeriod.verify(message.denyMaintenancePeriods[i]);
+                                    var error = $root.google.cloud.sql.v1beta4.DenyMaintenancePeriod.verify(message.denyMaintenancePeriods[i], long + 1);
                                     if (error)
                                         return "denyMaintenancePeriods." + error;
                                 }
                             }
                             if (message.insightsConfig != null && message.hasOwnProperty("insightsConfig")) {
-                                var error = $root.google.cloud.sql.v1beta4.InsightsConfig.verify(message.insightsConfig);
+                                var error = $root.google.cloud.sql.v1beta4.InsightsConfig.verify(message.insightsConfig, long + 1);
                                 if (error)
                                     return "insightsConfig." + error;
                             }
                             if (message.passwordValidationPolicy != null && message.hasOwnProperty("passwordValidationPolicy")) {
-                                var error = $root.google.cloud.sql.v1beta4.PasswordValidationPolicy.verify(message.passwordValidationPolicy);
+                                var error = $root.google.cloud.sql.v1beta4.PasswordValidationPolicy.verify(message.passwordValidationPolicy, long + 1);
                                 if (error)
                                     return "passwordValidationPolicy." + error;
                             }
                             if (message.sqlServerAuditConfig != null && message.hasOwnProperty("sqlServerAuditConfig")) {
-                                var error = $root.google.cloud.sql.v1beta4.SqlServerAuditConfig.verify(message.sqlServerAuditConfig);
+                                var error = $root.google.cloud.sql.v1beta4.SqlServerAuditConfig.verify(message.sqlServerAuditConfig, long + 1);
                                 if (error)
                                     return "sqlServerAuditConfig." + error;
                             }
@@ -130628,7 +135704,7 @@
                                     break;
                                 }
                             if (message.deletionProtectionEnabled != null && message.hasOwnProperty("deletionProtectionEnabled")) {
-                                var error = $root.google.protobuf.BoolValue.verify(message.deletionProtectionEnabled);
+                                var error = $root.google.protobuf.BoolValue.verify(message.deletionProtectionEnabled, long + 1);
                                 if (error)
                                     return "deletionProtectionEnabled." + error;
                             }
@@ -130636,32 +135712,32 @@
                                 if (!$util.isString(message.timeZone))
                                     return "timeZone: string expected";
                             if (message.advancedMachineFeatures != null && message.hasOwnProperty("advancedMachineFeatures")) {
-                                var error = $root.google.cloud.sql.v1beta4.AdvancedMachineFeatures.verify(message.advancedMachineFeatures);
+                                var error = $root.google.cloud.sql.v1beta4.AdvancedMachineFeatures.verify(message.advancedMachineFeatures, long + 1);
                                 if (error)
                                     return "advancedMachineFeatures." + error;
                             }
                             if (message.dataCacheConfig != null && message.hasOwnProperty("dataCacheConfig")) {
-                                var error = $root.google.cloud.sql.v1beta4.DataCacheConfig.verify(message.dataCacheConfig);
+                                var error = $root.google.cloud.sql.v1beta4.DataCacheConfig.verify(message.dataCacheConfig, long + 1);
                                 if (error)
                                     return "dataCacheConfig." + error;
                             }
                             if (message.replicationLagMaxSeconds != null && message.hasOwnProperty("replicationLagMaxSeconds")) {
-                                var error = $root.google.protobuf.Int32Value.verify(message.replicationLagMaxSeconds);
+                                var error = $root.google.protobuf.Int32Value.verify(message.replicationLagMaxSeconds, long + 1);
                                 if (error)
                                     return "replicationLagMaxSeconds." + error;
                             }
                             if (message.enableGoogleMlIntegration != null && message.hasOwnProperty("enableGoogleMlIntegration")) {
-                                var error = $root.google.protobuf.BoolValue.verify(message.enableGoogleMlIntegration);
+                                var error = $root.google.protobuf.BoolValue.verify(message.enableGoogleMlIntegration, long + 1);
                                 if (error)
                                     return "enableGoogleMlIntegration." + error;
                             }
                             if (message.enableDataplexIntegration != null && message.hasOwnProperty("enableDataplexIntegration")) {
-                                var error = $root.google.protobuf.BoolValue.verify(message.enableDataplexIntegration);
+                                var error = $root.google.protobuf.BoolValue.verify(message.enableDataplexIntegration, long + 1);
                                 if (error)
                                     return "enableDataplexIntegration." + error;
                             }
                             if (message.retainBackupsOnDelete != null && message.hasOwnProperty("retainBackupsOnDelete")) {
-                                var error = $root.google.protobuf.BoolValue.verify(message.retainBackupsOnDelete);
+                                var error = $root.google.protobuf.BoolValue.verify(message.retainBackupsOnDelete, long + 1);
                                 if (error)
                                     return "retainBackupsOnDelete." + error;
                             }
@@ -130678,7 +135754,7 @@
                             if (message.connectionPoolConfig != null && message.hasOwnProperty("connectionPoolConfig")) {
                                 properties._connectionPoolConfig = 1;
                                 {
-                                    var error = $root.google.cloud.sql.v1beta4.ConnectionPoolConfig.verify(message.connectionPoolConfig);
+                                    var error = $root.google.cloud.sql.v1beta4.ConnectionPoolConfig.verify(message.connectionPoolConfig, long + 1);
                                     if (error)
                                         return "connectionPoolConfig." + error;
                                 }
@@ -130686,7 +135762,7 @@
                             if (message.finalBackupConfig != null && message.hasOwnProperty("finalBackupConfig")) {
                                 properties._finalBackupConfig = 1;
                                 {
-                                    var error = $root.google.cloud.sql.v1beta4.FinalBackupConfig.verify(message.finalBackupConfig);
+                                    var error = $root.google.cloud.sql.v1beta4.FinalBackupConfig.verify(message.finalBackupConfig, long + 1);
                                     if (error)
                                         return "finalBackupConfig." + error;
                                 }
@@ -130694,7 +135770,7 @@
                             if (message.readPoolAutoScaleConfig != null && message.hasOwnProperty("readPoolAutoScaleConfig")) {
                                 properties._readPoolAutoScaleConfig = 1;
                                 {
-                                    var error = $root.google.cloud.sql.v1beta4.ReadPoolAutoScaleConfig.verify(message.readPoolAutoScaleConfig);
+                                    var error = $root.google.cloud.sql.v1beta4.ReadPoolAutoScaleConfig.verify(message.readPoolAutoScaleConfig, long + 1);
                                     if (error)
                                         return "readPoolAutoScaleConfig." + error;
                                 }
@@ -130705,7 +135781,7 @@
                                     return "autoUpgradeEnabled: boolean expected";
                             }
                             if (message.entraidConfig != null && message.hasOwnProperty("entraidConfig")) {
-                                var error = $root.google.cloud.sql.v1beta4.SqlServerEntraIdConfig.verify(message.entraidConfig);
+                                var error = $root.google.cloud.sql.v1beta4.SqlServerEntraIdConfig.verify(message.entraidConfig, long + 1);
                                 if (error)
                                     return "entraidConfig." + error;
                             }
@@ -130721,7 +135797,7 @@
                                 }
                             }
                             if (message.performanceCaptureConfig != null && message.hasOwnProperty("performanceCaptureConfig")) {
-                                var error = $root.google.cloud.sql.v1beta4.PerformanceCaptureConfig.verify(message.performanceCaptureConfig);
+                                var error = $root.google.cloud.sql.v1beta4.PerformanceCaptureConfig.verify(message.performanceCaptureConfig, long + 1);
                                 if (error)
                                     return "performanceCaptureConfig." + error;
                             }
@@ -130736,14 +135812,18 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.Settings} Settings
                          */
-                        Settings.fromObject = function fromObject(object) {
+                        Settings.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.Settings)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.Settings();
                             if (object.settingsVersion != null) {
                                 if (typeof object.settingsVersion !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.Settings.settingsVersion: object expected");
-                                message.settingsVersion = $root.google.protobuf.Int64Value.fromObject(object.settingsVersion);
+                                message.settingsVersion = $root.google.protobuf.Int64Value.fromObject(object.settingsVersion, long + 1);
                             }
                             if (object.authorizedGaeApplications) {
                                 if (!Array.isArray(object.authorizedGaeApplications))
@@ -130760,8 +135840,11 @@
                                 if (typeof object.userLabels !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.Settings.userLabels: object expected");
                                 message.userLabels = {};
-                                for (var keys = Object.keys(object.userLabels), i = 0; i < keys.length; ++i)
+                                for (var keys = Object.keys(object.userLabels), i = 0; i < keys.length; ++i) {
+                                    if (keys[i] === "__proto__")
+                                        $util.makeProp(message.userLabels, keys[i]);
                                     message.userLabels[keys[i]] = String(object.userLabels[keys[i]]);
+                                }
                             }
                             switch (object.availabilityType) {
                             default:
@@ -130826,7 +135909,7 @@
                             if (object.storageAutoResizeLimit != null) {
                                 if (typeof object.storageAutoResizeLimit !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.Settings.storageAutoResizeLimit: object expected");
-                                message.storageAutoResizeLimit = $root.google.protobuf.Int64Value.fromObject(object.storageAutoResizeLimit);
+                                message.storageAutoResizeLimit = $root.google.protobuf.Int64Value.fromObject(object.storageAutoResizeLimit, long + 1);
                             }
                             switch (object.activationPolicy) {
                             default:
@@ -130855,17 +135938,17 @@
                             if (object.ipConfiguration != null) {
                                 if (typeof object.ipConfiguration !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.Settings.ipConfiguration: object expected");
-                                message.ipConfiguration = $root.google.cloud.sql.v1beta4.IpConfiguration.fromObject(object.ipConfiguration);
+                                message.ipConfiguration = $root.google.cloud.sql.v1beta4.IpConfiguration.fromObject(object.ipConfiguration, long + 1);
                             }
                             if (object.storageAutoResize != null) {
                                 if (typeof object.storageAutoResize !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.Settings.storageAutoResize: object expected");
-                                message.storageAutoResize = $root.google.protobuf.BoolValue.fromObject(object.storageAutoResize);
+                                message.storageAutoResize = $root.google.protobuf.BoolValue.fromObject(object.storageAutoResize, long + 1);
                             }
                             if (object.locationPreference != null) {
                                 if (typeof object.locationPreference !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.Settings.locationPreference: object expected");
-                                message.locationPreference = $root.google.cloud.sql.v1beta4.LocationPreference.fromObject(object.locationPreference);
+                                message.locationPreference = $root.google.cloud.sql.v1beta4.LocationPreference.fromObject(object.locationPreference, long + 1);
                             }
                             if (object.databaseFlags) {
                                 if (!Array.isArray(object.databaseFlags))
@@ -130874,7 +135957,7 @@
                                 for (var i = 0; i < object.databaseFlags.length; ++i) {
                                     if (typeof object.databaseFlags[i] !== "object")
                                         throw TypeError(".google.cloud.sql.v1beta4.Settings.databaseFlags: object expected");
-                                    message.databaseFlags[i] = $root.google.cloud.sql.v1beta4.DatabaseFlags.fromObject(object.databaseFlags[i]);
+                                    message.databaseFlags[i] = $root.google.cloud.sql.v1beta4.DatabaseFlags.fromObject(object.databaseFlags[i], long + 1);
                                 }
                             }
                             switch (object.dataDiskType) {
@@ -130908,32 +135991,32 @@
                             if (object.maintenanceWindow != null) {
                                 if (typeof object.maintenanceWindow !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.Settings.maintenanceWindow: object expected");
-                                message.maintenanceWindow = $root.google.cloud.sql.v1beta4.MaintenanceWindow.fromObject(object.maintenanceWindow);
+                                message.maintenanceWindow = $root.google.cloud.sql.v1beta4.MaintenanceWindow.fromObject(object.maintenanceWindow, long + 1);
                             }
                             if (object.backupConfiguration != null) {
                                 if (typeof object.backupConfiguration !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.Settings.backupConfiguration: object expected");
-                                message.backupConfiguration = $root.google.cloud.sql.v1beta4.BackupConfiguration.fromObject(object.backupConfiguration);
+                                message.backupConfiguration = $root.google.cloud.sql.v1beta4.BackupConfiguration.fromObject(object.backupConfiguration, long + 1);
                             }
                             if (object.databaseReplicationEnabled != null) {
                                 if (typeof object.databaseReplicationEnabled !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.Settings.databaseReplicationEnabled: object expected");
-                                message.databaseReplicationEnabled = $root.google.protobuf.BoolValue.fromObject(object.databaseReplicationEnabled);
+                                message.databaseReplicationEnabled = $root.google.protobuf.BoolValue.fromObject(object.databaseReplicationEnabled, long + 1);
                             }
                             if (object.crashSafeReplicationEnabled != null) {
                                 if (typeof object.crashSafeReplicationEnabled !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.Settings.crashSafeReplicationEnabled: object expected");
-                                message.crashSafeReplicationEnabled = $root.google.protobuf.BoolValue.fromObject(object.crashSafeReplicationEnabled);
+                                message.crashSafeReplicationEnabled = $root.google.protobuf.BoolValue.fromObject(object.crashSafeReplicationEnabled, long + 1);
                             }
                             if (object.dataDiskSizeGb != null) {
                                 if (typeof object.dataDiskSizeGb !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.Settings.dataDiskSizeGb: object expected");
-                                message.dataDiskSizeGb = $root.google.protobuf.Int64Value.fromObject(object.dataDiskSizeGb);
+                                message.dataDiskSizeGb = $root.google.protobuf.Int64Value.fromObject(object.dataDiskSizeGb, long + 1);
                             }
                             if (object.activeDirectoryConfig != null) {
                                 if (typeof object.activeDirectoryConfig !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.Settings.activeDirectoryConfig: object expected");
-                                message.activeDirectoryConfig = $root.google.cloud.sql.v1beta4.SqlActiveDirectoryConfig.fromObject(object.activeDirectoryConfig);
+                                message.activeDirectoryConfig = $root.google.cloud.sql.v1beta4.SqlActiveDirectoryConfig.fromObject(object.activeDirectoryConfig, long + 1);
                             }
                             if (object.collation != null)
                                 message.collation = String(object.collation);
@@ -130944,23 +136027,23 @@
                                 for (var i = 0; i < object.denyMaintenancePeriods.length; ++i) {
                                     if (typeof object.denyMaintenancePeriods[i] !== "object")
                                         throw TypeError(".google.cloud.sql.v1beta4.Settings.denyMaintenancePeriods: object expected");
-                                    message.denyMaintenancePeriods[i] = $root.google.cloud.sql.v1beta4.DenyMaintenancePeriod.fromObject(object.denyMaintenancePeriods[i]);
+                                    message.denyMaintenancePeriods[i] = $root.google.cloud.sql.v1beta4.DenyMaintenancePeriod.fromObject(object.denyMaintenancePeriods[i], long + 1);
                                 }
                             }
                             if (object.insightsConfig != null) {
                                 if (typeof object.insightsConfig !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.Settings.insightsConfig: object expected");
-                                message.insightsConfig = $root.google.cloud.sql.v1beta4.InsightsConfig.fromObject(object.insightsConfig);
+                                message.insightsConfig = $root.google.cloud.sql.v1beta4.InsightsConfig.fromObject(object.insightsConfig, long + 1);
                             }
                             if (object.passwordValidationPolicy != null) {
                                 if (typeof object.passwordValidationPolicy !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.Settings.passwordValidationPolicy: object expected");
-                                message.passwordValidationPolicy = $root.google.cloud.sql.v1beta4.PasswordValidationPolicy.fromObject(object.passwordValidationPolicy);
+                                message.passwordValidationPolicy = $root.google.cloud.sql.v1beta4.PasswordValidationPolicy.fromObject(object.passwordValidationPolicy, long + 1);
                             }
                             if (object.sqlServerAuditConfig != null) {
                                 if (typeof object.sqlServerAuditConfig !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.Settings.sqlServerAuditConfig: object expected");
-                                message.sqlServerAuditConfig = $root.google.cloud.sql.v1beta4.SqlServerAuditConfig.fromObject(object.sqlServerAuditConfig);
+                                message.sqlServerAuditConfig = $root.google.cloud.sql.v1beta4.SqlServerAuditConfig.fromObject(object.sqlServerAuditConfig, long + 1);
                             }
                             switch (object.edition) {
                             default:
@@ -131005,39 +136088,39 @@
                             if (object.deletionProtectionEnabled != null) {
                                 if (typeof object.deletionProtectionEnabled !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.Settings.deletionProtectionEnabled: object expected");
-                                message.deletionProtectionEnabled = $root.google.protobuf.BoolValue.fromObject(object.deletionProtectionEnabled);
+                                message.deletionProtectionEnabled = $root.google.protobuf.BoolValue.fromObject(object.deletionProtectionEnabled, long + 1);
                             }
                             if (object.timeZone != null)
                                 message.timeZone = String(object.timeZone);
                             if (object.advancedMachineFeatures != null) {
                                 if (typeof object.advancedMachineFeatures !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.Settings.advancedMachineFeatures: object expected");
-                                message.advancedMachineFeatures = $root.google.cloud.sql.v1beta4.AdvancedMachineFeatures.fromObject(object.advancedMachineFeatures);
+                                message.advancedMachineFeatures = $root.google.cloud.sql.v1beta4.AdvancedMachineFeatures.fromObject(object.advancedMachineFeatures, long + 1);
                             }
                             if (object.dataCacheConfig != null) {
                                 if (typeof object.dataCacheConfig !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.Settings.dataCacheConfig: object expected");
-                                message.dataCacheConfig = $root.google.cloud.sql.v1beta4.DataCacheConfig.fromObject(object.dataCacheConfig);
+                                message.dataCacheConfig = $root.google.cloud.sql.v1beta4.DataCacheConfig.fromObject(object.dataCacheConfig, long + 1);
                             }
                             if (object.replicationLagMaxSeconds != null) {
                                 if (typeof object.replicationLagMaxSeconds !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.Settings.replicationLagMaxSeconds: object expected");
-                                message.replicationLagMaxSeconds = $root.google.protobuf.Int32Value.fromObject(object.replicationLagMaxSeconds);
+                                message.replicationLagMaxSeconds = $root.google.protobuf.Int32Value.fromObject(object.replicationLagMaxSeconds, long + 1);
                             }
                             if (object.enableGoogleMlIntegration != null) {
                                 if (typeof object.enableGoogleMlIntegration !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.Settings.enableGoogleMlIntegration: object expected");
-                                message.enableGoogleMlIntegration = $root.google.protobuf.BoolValue.fromObject(object.enableGoogleMlIntegration);
+                                message.enableGoogleMlIntegration = $root.google.protobuf.BoolValue.fromObject(object.enableGoogleMlIntegration, long + 1);
                             }
                             if (object.enableDataplexIntegration != null) {
                                 if (typeof object.enableDataplexIntegration !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.Settings.enableDataplexIntegration: object expected");
-                                message.enableDataplexIntegration = $root.google.protobuf.BoolValue.fromObject(object.enableDataplexIntegration);
+                                message.enableDataplexIntegration = $root.google.protobuf.BoolValue.fromObject(object.enableDataplexIntegration, long + 1);
                             }
                             if (object.retainBackupsOnDelete != null) {
                                 if (typeof object.retainBackupsOnDelete !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.Settings.retainBackupsOnDelete: object expected");
-                                message.retainBackupsOnDelete = $root.google.protobuf.BoolValue.fromObject(object.retainBackupsOnDelete);
+                                message.retainBackupsOnDelete = $root.google.protobuf.BoolValue.fromObject(object.retainBackupsOnDelete, long + 1);
                             }
                             if (object.dataDiskProvisionedIops != null)
                                 if ($util.Long)
@@ -131060,24 +136143,24 @@
                             if (object.connectionPoolConfig != null) {
                                 if (typeof object.connectionPoolConfig !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.Settings.connectionPoolConfig: object expected");
-                                message.connectionPoolConfig = $root.google.cloud.sql.v1beta4.ConnectionPoolConfig.fromObject(object.connectionPoolConfig);
+                                message.connectionPoolConfig = $root.google.cloud.sql.v1beta4.ConnectionPoolConfig.fromObject(object.connectionPoolConfig, long + 1);
                             }
                             if (object.finalBackupConfig != null) {
                                 if (typeof object.finalBackupConfig !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.Settings.finalBackupConfig: object expected");
-                                message.finalBackupConfig = $root.google.cloud.sql.v1beta4.FinalBackupConfig.fromObject(object.finalBackupConfig);
+                                message.finalBackupConfig = $root.google.cloud.sql.v1beta4.FinalBackupConfig.fromObject(object.finalBackupConfig, long + 1);
                             }
                             if (object.readPoolAutoScaleConfig != null) {
                                 if (typeof object.readPoolAutoScaleConfig !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.Settings.readPoolAutoScaleConfig: object expected");
-                                message.readPoolAutoScaleConfig = $root.google.cloud.sql.v1beta4.ReadPoolAutoScaleConfig.fromObject(object.readPoolAutoScaleConfig);
+                                message.readPoolAutoScaleConfig = $root.google.cloud.sql.v1beta4.ReadPoolAutoScaleConfig.fromObject(object.readPoolAutoScaleConfig, long + 1);
                             }
                             if (object.autoUpgradeEnabled != null)
                                 message.autoUpgradeEnabled = Boolean(object.autoUpgradeEnabled);
                             if (object.entraidConfig != null) {
                                 if (typeof object.entraidConfig !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.Settings.entraidConfig: object expected");
-                                message.entraidConfig = $root.google.cloud.sql.v1beta4.SqlServerEntraIdConfig.fromObject(object.entraidConfig);
+                                message.entraidConfig = $root.google.cloud.sql.v1beta4.SqlServerEntraIdConfig.fromObject(object.entraidConfig, long + 1);
                             }
                             switch (object.dataApiAccess) {
                             default:
@@ -131102,7 +136185,7 @@
                             if (object.performanceCaptureConfig != null) {
                                 if (typeof object.performanceCaptureConfig !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.Settings.performanceCaptureConfig: object expected");
-                                message.performanceCaptureConfig = $root.google.cloud.sql.v1beta4.PerformanceCaptureConfig.fromObject(object.performanceCaptureConfig);
+                                message.performanceCaptureConfig = $root.google.cloud.sql.v1beta4.PerformanceCaptureConfig.fromObject(object.performanceCaptureConfig, long + 1);
                             }
                             return message;
                         };
@@ -131177,8 +136260,11 @@
                             var keys2;
                             if (message.userLabels && (keys2 = Object.keys(message.userLabels)).length) {
                                 object.userLabels = {};
-                                for (var j = 0; j < keys2.length; ++j)
+                                for (var j = 0; j < keys2.length; ++j) {
+                                    if (keys2[j] === "__proto__")
+                                        $util.makeProp(object.userLabels, keys2[j]);
                                     object.userLabels[keys2[j]] = message.userLabels[keys2[j]];
+                                }
                             }
                             if (message.availabilityType != null && message.hasOwnProperty("availabilityType"))
                                 object.availabilityType = options.enums === String ? $root.google.cloud.sql.v1beta4.SqlAvailabilityType[message.availabilityType] === undefined ? message.availabilityType : $root.google.cloud.sql.v1beta4.SqlAvailabilityType[message.availabilityType] : message.availabilityType;
@@ -131416,7 +136502,7 @@
                         function PerformanceCaptureConfig(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -131570,9 +136656,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        PerformanceCaptureConfig.decode = function decode(reader, length, error) {
+                        PerformanceCaptureConfig.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.PerformanceCaptureConfig();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -131604,7 +136694,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -131635,9 +136725,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        PerformanceCaptureConfig.verify = function verify(message) {
+                        PerformanceCaptureConfig.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             var properties = {};
                             if (message.enabled != null && message.hasOwnProperty("enabled")) {
                                 properties._enabled = 1;
@@ -131680,9 +136774,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.PerformanceCaptureConfig} PerformanceCaptureConfig
                          */
-                        PerformanceCaptureConfig.fromObject = function fromObject(object) {
+                        PerformanceCaptureConfig.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.PerformanceCaptureConfig)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.PerformanceCaptureConfig();
                             if (object.enabled != null)
                                 message.enabled = Boolean(object.enabled);
@@ -131794,7 +136892,7 @@
                         function AdvancedMachineFeatures(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -131859,9 +136957,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        AdvancedMachineFeatures.decode = function decode(reader, length, error) {
+                        AdvancedMachineFeatures.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.AdvancedMachineFeatures();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -131873,7 +136975,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -131904,9 +137006,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        AdvancedMachineFeatures.verify = function verify(message) {
+                        AdvancedMachineFeatures.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.threadsPerCore != null && message.hasOwnProperty("threadsPerCore"))
                                 if (!$util.isInteger(message.threadsPerCore))
                                     return "threadsPerCore: integer expected";
@@ -131921,9 +137027,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.AdvancedMachineFeatures} AdvancedMachineFeatures
                          */
-                        AdvancedMachineFeatures.fromObject = function fromObject(object) {
+                        AdvancedMachineFeatures.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.AdvancedMachineFeatures)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.AdvancedMachineFeatures();
                             if (object.threadsPerCore != null)
                                 message.threadsPerCore = object.threadsPerCore | 0;
@@ -132007,7 +137117,7 @@
                         function SslCert(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -132152,9 +137262,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SslCert.decode = function decode(reader, length, error) {
+                        SslCert.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.SslCert();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -132174,7 +137288,7 @@
                                         break;
                                     }
                                 case 4: {
-                                        message.createTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+                                        message.createTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 5: {
@@ -132182,7 +137296,7 @@
                                         break;
                                     }
                                 case 6: {
-                                        message.expirationTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+                                        message.expirationTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 7: {
@@ -132198,7 +137312,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -132229,9 +137343,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SslCert.verify = function verify(message) {
+                        SslCert.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.kind != null && message.hasOwnProperty("kind"))
                                 if (!$util.isString(message.kind))
                                     return "kind: string expected";
@@ -132242,7 +137360,7 @@
                                 if (!$util.isString(message.cert))
                                     return "cert: string expected";
                             if (message.createTime != null && message.hasOwnProperty("createTime")) {
-                                var error = $root.google.protobuf.Timestamp.verify(message.createTime);
+                                var error = $root.google.protobuf.Timestamp.verify(message.createTime, long + 1);
                                 if (error)
                                     return "createTime." + error;
                             }
@@ -132250,7 +137368,7 @@
                                 if (!$util.isString(message.commonName))
                                     return "commonName: string expected";
                             if (message.expirationTime != null && message.hasOwnProperty("expirationTime")) {
-                                var error = $root.google.protobuf.Timestamp.verify(message.expirationTime);
+                                var error = $root.google.protobuf.Timestamp.verify(message.expirationTime, long + 1);
                                 if (error)
                                     return "expirationTime." + error;
                             }
@@ -132274,9 +137392,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.SslCert} SslCert
                          */
-                        SslCert.fromObject = function fromObject(object) {
+                        SslCert.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.SslCert)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.SslCert();
                             if (object.kind != null)
                                 message.kind = String(object.kind);
@@ -132287,14 +137409,14 @@
                             if (object.createTime != null) {
                                 if (typeof object.createTime !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.SslCert.createTime: object expected");
-                                message.createTime = $root.google.protobuf.Timestamp.fromObject(object.createTime);
+                                message.createTime = $root.google.protobuf.Timestamp.fromObject(object.createTime, long + 1);
                             }
                             if (object.commonName != null)
                                 message.commonName = String(object.commonName);
                             if (object.expirationTime != null) {
                                 if (typeof object.expirationTime !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.SslCert.expirationTime: object expected");
-                                message.expirationTime = $root.google.protobuf.Timestamp.fromObject(object.expirationTime);
+                                message.expirationTime = $root.google.protobuf.Timestamp.fromObject(object.expirationTime, long + 1);
                             }
                             if (object.sha1Fingerprint != null)
                                 message.sha1Fingerprint = String(object.sha1Fingerprint);
@@ -132400,7 +137522,7 @@
                         function SslCertDetail(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -132475,9 +137597,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SslCertDetail.decode = function decode(reader, length, error) {
+                        SslCertDetail.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.SslCertDetail();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -132485,7 +137611,7 @@
                                     break;
                                 switch (tag >>> 3) {
                                 case 1: {
-                                        message.certInfo = $root.google.cloud.sql.v1beta4.SslCert.decode(reader, reader.uint32());
+                                        message.certInfo = $root.google.cloud.sql.v1beta4.SslCert.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 2: {
@@ -132493,7 +137619,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -132524,11 +137650,15 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SslCertDetail.verify = function verify(message) {
+                        SslCertDetail.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.certInfo != null && message.hasOwnProperty("certInfo")) {
-                                var error = $root.google.cloud.sql.v1beta4.SslCert.verify(message.certInfo);
+                                var error = $root.google.cloud.sql.v1beta4.SslCert.verify(message.certInfo, long + 1);
                                 if (error)
                                     return "certInfo." + error;
                             }
@@ -132546,14 +137676,18 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.SslCertDetail} SslCertDetail
                          */
-                        SslCertDetail.fromObject = function fromObject(object) {
+                        SslCertDetail.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.SslCertDetail)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.SslCertDetail();
                             if (object.certInfo != null) {
                                 if (typeof object.certInfo !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.SslCertDetail.certInfo: object expected");
-                                message.certInfo = $root.google.cloud.sql.v1beta4.SslCert.fromObject(object.certInfo);
+                                message.certInfo = $root.google.cloud.sql.v1beta4.SslCert.fromObject(object.certInfo, long + 1);
                             }
                             if (object.certPrivateKey != null)
                                 message.certPrivateKey = String(object.certPrivateKey);
@@ -132634,7 +137768,7 @@
                         function SslCertsCreateEphemeralRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -132709,9 +137843,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SslCertsCreateEphemeralRequest.decode = function decode(reader, length, error) {
+                        SslCertsCreateEphemeralRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.SslCertsCreateEphemeralRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -132727,7 +137865,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -132758,9 +137896,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SslCertsCreateEphemeralRequest.verify = function verify(message) {
+                        SslCertsCreateEphemeralRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.publicKey != null && message.hasOwnProperty("publicKey"))
                                 if (!$util.isString(message.publicKey))
                                     return "publicKey: string expected";
@@ -132778,9 +137920,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.SslCertsCreateEphemeralRequest} SslCertsCreateEphemeralRequest
                          */
-                        SslCertsCreateEphemeralRequest.fromObject = function fromObject(object) {
+                        SslCertsCreateEphemeralRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.SslCertsCreateEphemeralRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.SslCertsCreateEphemeralRequest();
                             if (object.publicKey != null)
                                 message.publicKey = String(object.publicKey);
@@ -132862,7 +138008,7 @@
                         function SslCertsInsertRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -132927,9 +138073,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SslCertsInsertRequest.decode = function decode(reader, length, error) {
+                        SslCertsInsertRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.SslCertsInsertRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -132941,7 +138091,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -132972,9 +138122,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SslCertsInsertRequest.verify = function verify(message) {
+                        SslCertsInsertRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.commonName != null && message.hasOwnProperty("commonName"))
                                 if (!$util.isString(message.commonName))
                                     return "commonName: string expected";
@@ -132989,9 +138143,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.SslCertsInsertRequest} SslCertsInsertRequest
                          */
-                        SslCertsInsertRequest.fromObject = function fromObject(object) {
+                        SslCertsInsertRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.SslCertsInsertRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.SslCertsInsertRequest();
                             if (object.commonName != null)
                                 message.commonName = String(object.commonName);
@@ -133067,7 +138225,7 @@
                         function SqlInstancesRescheduleMaintenanceRequestBody(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -133132,9 +138290,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlInstancesRescheduleMaintenanceRequestBody.decode = function decode(reader, length, error) {
+                        SqlInstancesRescheduleMaintenanceRequestBody.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.SqlInstancesRescheduleMaintenanceRequestBody();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -133142,11 +138304,11 @@
                                     break;
                                 switch (tag >>> 3) {
                                 case 3: {
-                                        message.reschedule = $root.google.cloud.sql.v1beta4.SqlInstancesRescheduleMaintenanceRequestBody.Reschedule.decode(reader, reader.uint32());
+                                        message.reschedule = $root.google.cloud.sql.v1beta4.SqlInstancesRescheduleMaintenanceRequestBody.Reschedule.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -133177,11 +138339,15 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlInstancesRescheduleMaintenanceRequestBody.verify = function verify(message) {
+                        SqlInstancesRescheduleMaintenanceRequestBody.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.reschedule != null && message.hasOwnProperty("reschedule")) {
-                                var error = $root.google.cloud.sql.v1beta4.SqlInstancesRescheduleMaintenanceRequestBody.Reschedule.verify(message.reschedule);
+                                var error = $root.google.cloud.sql.v1beta4.SqlInstancesRescheduleMaintenanceRequestBody.Reschedule.verify(message.reschedule, long + 1);
                                 if (error)
                                     return "reschedule." + error;
                             }
@@ -133196,14 +138362,18 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.SqlInstancesRescheduleMaintenanceRequestBody} SqlInstancesRescheduleMaintenanceRequestBody
                          */
-                        SqlInstancesRescheduleMaintenanceRequestBody.fromObject = function fromObject(object) {
+                        SqlInstancesRescheduleMaintenanceRequestBody.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.SqlInstancesRescheduleMaintenanceRequestBody)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.SqlInstancesRescheduleMaintenanceRequestBody();
                             if (object.reschedule != null) {
                                 if (typeof object.reschedule !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.SqlInstancesRescheduleMaintenanceRequestBody.reschedule: object expected");
-                                message.reschedule = $root.google.cloud.sql.v1beta4.SqlInstancesRescheduleMaintenanceRequestBody.Reschedule.fromObject(object.reschedule);
+                                message.reschedule = $root.google.cloud.sql.v1beta4.SqlInstancesRescheduleMaintenanceRequestBody.Reschedule.fromObject(object.reschedule, long + 1);
                             }
                             return message;
                         };
@@ -133293,7 +138463,7 @@
                             function Reschedule(properties) {
                                 if (properties)
                                     for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                        if (properties[keys[i]] != null)
+                                        if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                             this[keys[i]] = properties[keys[i]];
                             }
     
@@ -133368,9 +138538,13 @@
                              * @throws {Error} If the payload is not a reader or valid buffer
                              * @throws {$protobuf.util.ProtocolError} If required fields are missing
                              */
-                            Reschedule.decode = function decode(reader, length, error) {
+                            Reschedule.decode = function decode(reader, length, error, long) {
                                 if (!(reader instanceof $Reader))
                                     reader = $Reader.create(reader);
+                                if (long === undefined)
+                                    long = 0;
+                                if (long > $Reader.recursionLimit)
+                                    throw Error("maximum nesting depth exceeded");
                                 var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.SqlInstancesRescheduleMaintenanceRequestBody.Reschedule();
                                 while (reader.pos < end) {
                                     var tag = reader.uint32();
@@ -133382,11 +138556,11 @@
                                             break;
                                         }
                                     case 2: {
-                                            message.scheduleTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+                                            message.scheduleTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1);
                                             break;
                                         }
                                     default:
-                                        reader.skipType(tag & 7);
+                                        reader.skipType(tag & 7, long);
                                         break;
                                     }
                                 }
@@ -133417,9 +138591,13 @@
                              * @param {Object.<string,*>} message Plain object to verify
                              * @returns {string|null} `null` if valid, otherwise the reason why it is not
                              */
-                            Reschedule.verify = function verify(message) {
+                            Reschedule.verify = function verify(message, long) {
                                 if (typeof message !== "object" || message === null)
                                     return "object expected";
+                                if (long === undefined)
+                                    long = 0;
+                                if (long > $util.recursionLimit)
+                                    return "maximum nesting depth exceeded";
                                 if (message.rescheduleType != null && message.hasOwnProperty("rescheduleType"))
                                     switch (message.rescheduleType) {
                                     default:
@@ -133431,7 +138609,7 @@
                                         break;
                                     }
                                 if (message.scheduleTime != null && message.hasOwnProperty("scheduleTime")) {
-                                    var error = $root.google.protobuf.Timestamp.verify(message.scheduleTime);
+                                    var error = $root.google.protobuf.Timestamp.verify(message.scheduleTime, long + 1);
                                     if (error)
                                         return "scheduleTime." + error;
                                 }
@@ -133446,9 +138624,13 @@
                              * @param {Object.<string,*>} object Plain object
                              * @returns {google.cloud.sql.v1beta4.SqlInstancesRescheduleMaintenanceRequestBody.Reschedule} Reschedule
                              */
-                            Reschedule.fromObject = function fromObject(object) {
+                            Reschedule.fromObject = function fromObject(object, long) {
                                 if (object instanceof $root.google.cloud.sql.v1beta4.SqlInstancesRescheduleMaintenanceRequestBody.Reschedule)
                                     return object;
+                                if (long === undefined)
+                                    long = 0;
+                                if (long > $util.recursionLimit)
+                                    throw Error("maximum nesting depth exceeded");
                                 var message = new $root.google.cloud.sql.v1beta4.SqlInstancesRescheduleMaintenanceRequestBody.Reschedule();
                                 switch (object.rescheduleType) {
                                 default:
@@ -133477,7 +138659,7 @@
                                 if (object.scheduleTime != null) {
                                     if (typeof object.scheduleTime !== "object")
                                         throw TypeError(".google.cloud.sql.v1beta4.SqlInstancesRescheduleMaintenanceRequestBody.Reschedule.scheduleTime: object expected");
-                                    message.scheduleTime = $root.google.protobuf.Timestamp.fromObject(object.scheduleTime);
+                                    message.scheduleTime = $root.google.protobuf.Timestamp.fromObject(object.scheduleTime, long + 1);
                                 }
                                 return message;
                             };
@@ -133561,7 +138743,7 @@
                         function SslCertsInsertResponse(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -133656,9 +138838,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SslCertsInsertResponse.decode = function decode(reader, length, error) {
+                        SslCertsInsertResponse.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.SslCertsInsertResponse();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -133670,19 +138856,19 @@
                                         break;
                                     }
                                 case 2: {
-                                        message.operation = $root.google.cloud.sql.v1beta4.Operation.decode(reader, reader.uint32());
+                                        message.operation = $root.google.cloud.sql.v1beta4.Operation.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 3: {
-                                        message.serverCaCert = $root.google.cloud.sql.v1beta4.SslCert.decode(reader, reader.uint32());
+                                        message.serverCaCert = $root.google.cloud.sql.v1beta4.SslCert.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 4: {
-                                        message.clientCert = $root.google.cloud.sql.v1beta4.SslCertDetail.decode(reader, reader.uint32());
+                                        message.clientCert = $root.google.cloud.sql.v1beta4.SslCertDetail.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -133713,24 +138899,28 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SslCertsInsertResponse.verify = function verify(message) {
+                        SslCertsInsertResponse.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.kind != null && message.hasOwnProperty("kind"))
                                 if (!$util.isString(message.kind))
                                     return "kind: string expected";
                             if (message.operation != null && message.hasOwnProperty("operation")) {
-                                var error = $root.google.cloud.sql.v1beta4.Operation.verify(message.operation);
+                                var error = $root.google.cloud.sql.v1beta4.Operation.verify(message.operation, long + 1);
                                 if (error)
                                     return "operation." + error;
                             }
                             if (message.serverCaCert != null && message.hasOwnProperty("serverCaCert")) {
-                                var error = $root.google.cloud.sql.v1beta4.SslCert.verify(message.serverCaCert);
+                                var error = $root.google.cloud.sql.v1beta4.SslCert.verify(message.serverCaCert, long + 1);
                                 if (error)
                                     return "serverCaCert." + error;
                             }
                             if (message.clientCert != null && message.hasOwnProperty("clientCert")) {
-                                var error = $root.google.cloud.sql.v1beta4.SslCertDetail.verify(message.clientCert);
+                                var error = $root.google.cloud.sql.v1beta4.SslCertDetail.verify(message.clientCert, long + 1);
                                 if (error)
                                     return "clientCert." + error;
                             }
@@ -133745,26 +138935,30 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.SslCertsInsertResponse} SslCertsInsertResponse
                          */
-                        SslCertsInsertResponse.fromObject = function fromObject(object) {
+                        SslCertsInsertResponse.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.SslCertsInsertResponse)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.SslCertsInsertResponse();
                             if (object.kind != null)
                                 message.kind = String(object.kind);
                             if (object.operation != null) {
                                 if (typeof object.operation !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.SslCertsInsertResponse.operation: object expected");
-                                message.operation = $root.google.cloud.sql.v1beta4.Operation.fromObject(object.operation);
+                                message.operation = $root.google.cloud.sql.v1beta4.Operation.fromObject(object.operation, long + 1);
                             }
                             if (object.serverCaCert != null) {
                                 if (typeof object.serverCaCert !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.SslCertsInsertResponse.serverCaCert: object expected");
-                                message.serverCaCert = $root.google.cloud.sql.v1beta4.SslCert.fromObject(object.serverCaCert);
+                                message.serverCaCert = $root.google.cloud.sql.v1beta4.SslCert.fromObject(object.serverCaCert, long + 1);
                             }
                             if (object.clientCert != null) {
                                 if (typeof object.clientCert !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.SslCertsInsertResponse.clientCert: object expected");
-                                message.clientCert = $root.google.cloud.sql.v1beta4.SslCertDetail.fromObject(object.clientCert);
+                                message.clientCert = $root.google.cloud.sql.v1beta4.SslCertDetail.fromObject(object.clientCert, long + 1);
                             }
                             return message;
                         };
@@ -133850,7 +139044,7 @@
                             this.items = [];
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -133926,9 +139120,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SslCertsListResponse.decode = function decode(reader, length, error) {
+                        SslCertsListResponse.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.SslCertsListResponse();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -133942,11 +139140,11 @@
                                 case 2: {
                                         if (!(message.items && message.items.length))
                                             message.items = [];
-                                        message.items.push($root.google.cloud.sql.v1beta4.SslCert.decode(reader, reader.uint32()));
+                                        message.items.push($root.google.cloud.sql.v1beta4.SslCert.decode(reader, reader.uint32(), undefined, long + 1));
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -133977,9 +139175,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SslCertsListResponse.verify = function verify(message) {
+                        SslCertsListResponse.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.kind != null && message.hasOwnProperty("kind"))
                                 if (!$util.isString(message.kind))
                                     return "kind: string expected";
@@ -133987,7 +139189,7 @@
                                 if (!Array.isArray(message.items))
                                     return "items: array expected";
                                 for (var i = 0; i < message.items.length; ++i) {
-                                    var error = $root.google.cloud.sql.v1beta4.SslCert.verify(message.items[i]);
+                                    var error = $root.google.cloud.sql.v1beta4.SslCert.verify(message.items[i], long + 1);
                                     if (error)
                                         return "items." + error;
                                 }
@@ -134003,9 +139205,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.SslCertsListResponse} SslCertsListResponse
                          */
-                        SslCertsListResponse.fromObject = function fromObject(object) {
+                        SslCertsListResponse.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.SslCertsListResponse)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.SslCertsListResponse();
                             if (object.kind != null)
                                 message.kind = String(object.kind);
@@ -134016,7 +139222,7 @@
                                 for (var i = 0; i < object.items.length; ++i) {
                                     if (typeof object.items[i] !== "object")
                                         throw TypeError(".google.cloud.sql.v1beta4.SslCertsListResponse.items: object expected");
-                                    message.items[i] = $root.google.cloud.sql.v1beta4.SslCert.fromObject(object.items[i]);
+                                    message.items[i] = $root.google.cloud.sql.v1beta4.SslCert.fromObject(object.items[i], long + 1);
                                 }
                             }
                             return message;
@@ -134099,7 +139305,7 @@
                         function TruncateLogContext(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -134174,9 +139380,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        TruncateLogContext.decode = function decode(reader, length, error) {
+                        TruncateLogContext.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.TruncateLogContext();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -134192,7 +139402,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -134223,9 +139433,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        TruncateLogContext.verify = function verify(message) {
+                        TruncateLogContext.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.kind != null && message.hasOwnProperty("kind"))
                                 if (!$util.isString(message.kind))
                                     return "kind: string expected";
@@ -134243,9 +139457,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.TruncateLogContext} TruncateLogContext
                          */
-                        TruncateLogContext.fromObject = function fromObject(object) {
+                        TruncateLogContext.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.TruncateLogContext)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.TruncateLogContext();
                             if (object.kind != null)
                                 message.kind = String(object.kind);
@@ -134333,7 +139551,7 @@
                             this.dnsServers = [];
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -134449,9 +139667,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlActiveDirectoryConfig.decode = function decode(reader, length, error) {
+                        SqlActiveDirectoryConfig.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.SqlActiveDirectoryConfig();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -134485,7 +139707,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -134516,9 +139738,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlActiveDirectoryConfig.verify = function verify(message) {
+                        SqlActiveDirectoryConfig.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.kind != null && message.hasOwnProperty("kind"))
                                 if (!$util.isString(message.kind))
                                     return "kind: string expected";
@@ -134559,9 +139785,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.SqlActiveDirectoryConfig} SqlActiveDirectoryConfig
                          */
-                        SqlActiveDirectoryConfig.fromObject = function fromObject(object) {
+                        SqlActiveDirectoryConfig.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.SqlActiveDirectoryConfig)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.SqlActiveDirectoryConfig();
                             if (object.kind != null)
                                 message.kind = String(object.kind);
@@ -134715,7 +139945,7 @@
                         function SqlServerAuditConfig(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -134810,9 +140040,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlServerAuditConfig.decode = function decode(reader, length, error) {
+                        SqlServerAuditConfig.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.SqlServerAuditConfig();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -134828,15 +140062,15 @@
                                         break;
                                     }
                                 case 3: {
-                                        message.retentionInterval = $root.google.protobuf.Duration.decode(reader, reader.uint32());
+                                        message.retentionInterval = $root.google.protobuf.Duration.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 4: {
-                                        message.uploadInterval = $root.google.protobuf.Duration.decode(reader, reader.uint32());
+                                        message.uploadInterval = $root.google.protobuf.Duration.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -134867,9 +140101,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlServerAuditConfig.verify = function verify(message) {
+                        SqlServerAuditConfig.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.kind != null && message.hasOwnProperty("kind"))
                                 if (!$util.isString(message.kind))
                                     return "kind: string expected";
@@ -134877,12 +140115,12 @@
                                 if (!$util.isString(message.bucket))
                                     return "bucket: string expected";
                             if (message.retentionInterval != null && message.hasOwnProperty("retentionInterval")) {
-                                var error = $root.google.protobuf.Duration.verify(message.retentionInterval);
+                                var error = $root.google.protobuf.Duration.verify(message.retentionInterval, long + 1);
                                 if (error)
                                     return "retentionInterval." + error;
                             }
                             if (message.uploadInterval != null && message.hasOwnProperty("uploadInterval")) {
-                                var error = $root.google.protobuf.Duration.verify(message.uploadInterval);
+                                var error = $root.google.protobuf.Duration.verify(message.uploadInterval, long + 1);
                                 if (error)
                                     return "uploadInterval." + error;
                             }
@@ -134897,9 +140135,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.SqlServerAuditConfig} SqlServerAuditConfig
                          */
-                        SqlServerAuditConfig.fromObject = function fromObject(object) {
+                        SqlServerAuditConfig.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.SqlServerAuditConfig)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.SqlServerAuditConfig();
                             if (object.kind != null)
                                 message.kind = String(object.kind);
@@ -134908,12 +140150,12 @@
                             if (object.retentionInterval != null) {
                                 if (typeof object.retentionInterval !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.SqlServerAuditConfig.retentionInterval: object expected");
-                                message.retentionInterval = $root.google.protobuf.Duration.fromObject(object.retentionInterval);
+                                message.retentionInterval = $root.google.protobuf.Duration.fromObject(object.retentionInterval, long + 1);
                             }
                             if (object.uploadInterval != null) {
                                 if (typeof object.uploadInterval !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.SqlServerAuditConfig.uploadInterval: object expected");
-                                message.uploadInterval = $root.google.protobuf.Duration.fromObject(object.uploadInterval);
+                                message.uploadInterval = $root.google.protobuf.Duration.fromObject(object.uploadInterval, long + 1);
                             }
                             return message;
                         };
@@ -134999,7 +140241,7 @@
                         function SqlServerEntraIdConfig(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -135084,9 +140326,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlServerEntraIdConfig.decode = function decode(reader, length, error) {
+                        SqlServerEntraIdConfig.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.SqlServerEntraIdConfig();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -135106,7 +140352,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -135137,9 +140383,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlServerEntraIdConfig.verify = function verify(message) {
+                        SqlServerEntraIdConfig.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.kind != null && message.hasOwnProperty("kind"))
                                 if (!$util.isString(message.kind))
                                     return "kind: string expected";
@@ -135160,9 +140410,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.SqlServerEntraIdConfig} SqlServerEntraIdConfig
                          */
-                        SqlServerEntraIdConfig.fromObject = function fromObject(object) {
+                        SqlServerEntraIdConfig.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.SqlServerEntraIdConfig)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.SqlServerEntraIdConfig();
                             if (object.kind != null)
                                 message.kind = String(object.kind);
@@ -135370,7 +140624,7 @@
                         function ConnectionPoolFlags(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -135445,9 +140699,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        ConnectionPoolFlags.decode = function decode(reader, length, error) {
+                        ConnectionPoolFlags.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.ConnectionPoolFlags();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -135463,7 +140721,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -135494,9 +140752,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        ConnectionPoolFlags.verify = function verify(message) {
+                        ConnectionPoolFlags.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.name != null && message.hasOwnProperty("name"))
                                 if (!$util.isString(message.name))
                                     return "name: string expected";
@@ -135514,9 +140776,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.ConnectionPoolFlags} ConnectionPoolFlags
                          */
-                        ConnectionPoolFlags.fromObject = function fromObject(object) {
+                        ConnectionPoolFlags.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.ConnectionPoolFlags)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.ConnectionPoolFlags();
                             if (object.name != null)
                                 message.name = String(object.name);
@@ -135605,7 +140871,7 @@
                             this.targetMetrics = [];
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -135770,9 +141036,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        ReadPoolAutoScaleConfig.decode = function decode(reader, length, error) {
+                        ReadPoolAutoScaleConfig.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.ReadPoolAutoScaleConfig();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -135794,7 +141064,7 @@
                                 case 4: {
                                         if (!(message.targetMetrics && message.targetMetrics.length))
                                             message.targetMetrics = [];
-                                        message.targetMetrics.push($root.google.cloud.sql.v1beta4.ReadPoolAutoScaleConfig.TargetMetric.decode(reader, reader.uint32()));
+                                        message.targetMetrics.push($root.google.cloud.sql.v1beta4.ReadPoolAutoScaleConfig.TargetMetric.decode(reader, reader.uint32(), undefined, long + 1));
                                         break;
                                     }
                                 case 5: {
@@ -135810,7 +141080,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -135841,9 +141111,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        ReadPoolAutoScaleConfig.verify = function verify(message) {
+                        ReadPoolAutoScaleConfig.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             var properties = {};
                             if (message.enabled != null && message.hasOwnProperty("enabled")) {
                                 properties._enabled = 1;
@@ -135864,7 +141138,7 @@
                                 if (!Array.isArray(message.targetMetrics))
                                     return "targetMetrics: array expected";
                                 for (var i = 0; i < message.targetMetrics.length; ++i) {
-                                    var error = $root.google.cloud.sql.v1beta4.ReadPoolAutoScaleConfig.TargetMetric.verify(message.targetMetrics[i]);
+                                    var error = $root.google.cloud.sql.v1beta4.ReadPoolAutoScaleConfig.TargetMetric.verify(message.targetMetrics[i], long + 1);
                                     if (error)
                                         return "targetMetrics." + error;
                                 }
@@ -135895,9 +141169,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.ReadPoolAutoScaleConfig} ReadPoolAutoScaleConfig
                          */
-                        ReadPoolAutoScaleConfig.fromObject = function fromObject(object) {
+                        ReadPoolAutoScaleConfig.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.ReadPoolAutoScaleConfig)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.ReadPoolAutoScaleConfig();
                             if (object.enabled != null)
                                 message.enabled = Boolean(object.enabled);
@@ -135912,7 +141190,7 @@
                                 for (var i = 0; i < object.targetMetrics.length; ++i) {
                                     if (typeof object.targetMetrics[i] !== "object")
                                         throw TypeError(".google.cloud.sql.v1beta4.ReadPoolAutoScaleConfig.targetMetrics: object expected");
-                                    message.targetMetrics[i] = $root.google.cloud.sql.v1beta4.ReadPoolAutoScaleConfig.TargetMetric.fromObject(object.targetMetrics[i]);
+                                    message.targetMetrics[i] = $root.google.cloud.sql.v1beta4.ReadPoolAutoScaleConfig.TargetMetric.fromObject(object.targetMetrics[i], long + 1);
                                 }
                             }
                             if (object.disableScaleIn != null)
@@ -136024,7 +141302,7 @@
                             function TargetMetric(properties) {
                                 if (properties)
                                     for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                        if (properties[keys[i]] != null)
+                                        if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                             this[keys[i]] = properties[keys[i]];
                             }
     
@@ -136114,9 +141392,13 @@
                              * @throws {Error} If the payload is not a reader or valid buffer
                              * @throws {$protobuf.util.ProtocolError} If required fields are missing
                              */
-                            TargetMetric.decode = function decode(reader, length, error) {
+                            TargetMetric.decode = function decode(reader, length, error, long) {
                                 if (!(reader instanceof $Reader))
                                     reader = $Reader.create(reader);
+                                if (long === undefined)
+                                    long = 0;
+                                if (long > $Reader.recursionLimit)
+                                    throw Error("maximum nesting depth exceeded");
                                 var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.ReadPoolAutoScaleConfig.TargetMetric();
                                 while (reader.pos < end) {
                                     var tag = reader.uint32();
@@ -136132,7 +141414,7 @@
                                             break;
                                         }
                                     default:
-                                        reader.skipType(tag & 7);
+                                        reader.skipType(tag & 7, long);
                                         break;
                                     }
                                 }
@@ -136163,9 +141445,13 @@
                              * @param {Object.<string,*>} message Plain object to verify
                              * @returns {string|null} `null` if valid, otherwise the reason why it is not
                              */
-                            TargetMetric.verify = function verify(message) {
+                            TargetMetric.verify = function verify(message, long) {
                                 if (typeof message !== "object" || message === null)
                                     return "object expected";
+                                if (long === undefined)
+                                    long = 0;
+                                if (long > $util.recursionLimit)
+                                    return "maximum nesting depth exceeded";
                                 var properties = {};
                                 if (message.metric != null && message.hasOwnProperty("metric")) {
                                     properties._metric = 1;
@@ -136188,9 +141474,13 @@
                              * @param {Object.<string,*>} object Plain object
                              * @returns {google.cloud.sql.v1beta4.ReadPoolAutoScaleConfig.TargetMetric} TargetMetric
                              */
-                            TargetMetric.fromObject = function fromObject(object) {
+                            TargetMetric.fromObject = function fromObject(object, long) {
                                 if (object instanceof $root.google.cloud.sql.v1beta4.ReadPoolAutoScaleConfig.TargetMetric)
                                     return object;
+                                if (long === undefined)
+                                    long = 0;
+                                if (long > $util.recursionLimit)
+                                    throw Error("maximum nesting depth exceeded");
                                 var message = new $root.google.cloud.sql.v1beta4.ReadPoolAutoScaleConfig.TargetMetric();
                                 if (object.metric != null)
                                     message.metric = String(object.metric);
@@ -136280,7 +141570,7 @@
                             this.flags = [];
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -136381,9 +141671,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        ConnectionPoolConfig.decode = function decode(reader, length, error) {
+                        ConnectionPoolConfig.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.ConnectionPoolConfig();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -136397,7 +141691,7 @@
                                 case 8: {
                                         if (!(message.flags && message.flags.length))
                                             message.flags = [];
-                                        message.flags.push($root.google.cloud.sql.v1beta4.ConnectionPoolFlags.decode(reader, reader.uint32()));
+                                        message.flags.push($root.google.cloud.sql.v1beta4.ConnectionPoolFlags.decode(reader, reader.uint32(), undefined, long + 1));
                                         break;
                                     }
                                 case 9: {
@@ -136405,7 +141699,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -136436,9 +141730,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        ConnectionPoolConfig.verify = function verify(message) {
+                        ConnectionPoolConfig.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             var properties = {};
                             if (message.connectionPoolingEnabled != null && message.hasOwnProperty("connectionPoolingEnabled")) {
                                 properties._connectionPoolingEnabled = 1;
@@ -136449,7 +141747,7 @@
                                 if (!Array.isArray(message.flags))
                                     return "flags: array expected";
                                 for (var i = 0; i < message.flags.length; ++i) {
-                                    var error = $root.google.cloud.sql.v1beta4.ConnectionPoolFlags.verify(message.flags[i]);
+                                    var error = $root.google.cloud.sql.v1beta4.ConnectionPoolFlags.verify(message.flags[i], long + 1);
                                     if (error)
                                         return "flags." + error;
                                 }
@@ -136470,9 +141768,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.ConnectionPoolConfig} ConnectionPoolConfig
                          */
-                        ConnectionPoolConfig.fromObject = function fromObject(object) {
+                        ConnectionPoolConfig.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.ConnectionPoolConfig)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.ConnectionPoolConfig();
                             if (object.connectionPoolingEnabled != null)
                                 message.connectionPoolingEnabled = Boolean(object.connectionPoolingEnabled);
@@ -136483,7 +141785,7 @@
                                 for (var i = 0; i < object.flags.length; ++i) {
                                     if (typeof object.flags[i] !== "object")
                                         throw TypeError(".google.cloud.sql.v1beta4.ConnectionPoolConfig.flags: object expected");
-                                    message.flags[i] = $root.google.cloud.sql.v1beta4.ConnectionPoolFlags.fromObject(object.flags[i]);
+                                    message.flags[i] = $root.google.cloud.sql.v1beta4.ConnectionPoolFlags.fromObject(object.flags[i], long + 1);
                                 }
                             }
                             if (object.poolerCount != null)
@@ -136794,7 +142096,7 @@
                         function AcquireSsrsLeaseContext(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -136916,9 +142218,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        AcquireSsrsLeaseContext.decode = function decode(reader, length, error) {
+                        AcquireSsrsLeaseContext.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.AcquireSsrsLeaseContext();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -136938,11 +142244,11 @@
                                         break;
                                     }
                                 case 4: {
-                                        message.duration = $root.google.protobuf.Duration.decode(reader, reader.uint32());
+                                        message.duration = $root.google.protobuf.Duration.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -136973,9 +142279,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        AcquireSsrsLeaseContext.verify = function verify(message) {
+                        AcquireSsrsLeaseContext.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             var properties = {};
                             if (message.setupLogin != null && message.hasOwnProperty("setupLogin")) {
                                 properties._setupLogin = 1;
@@ -136995,7 +142305,7 @@
                             if (message.duration != null && message.hasOwnProperty("duration")) {
                                 properties._duration = 1;
                                 {
-                                    var error = $root.google.protobuf.Duration.verify(message.duration);
+                                    var error = $root.google.protobuf.Duration.verify(message.duration, long + 1);
                                     if (error)
                                         return "duration." + error;
                                 }
@@ -137011,9 +142321,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.AcquireSsrsLeaseContext} AcquireSsrsLeaseContext
                          */
-                        AcquireSsrsLeaseContext.fromObject = function fromObject(object) {
+                        AcquireSsrsLeaseContext.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.AcquireSsrsLeaseContext)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.AcquireSsrsLeaseContext();
                             if (object.setupLogin != null)
                                 message.setupLogin = String(object.setupLogin);
@@ -137024,7 +142338,7 @@
                             if (object.duration != null) {
                                 if (typeof object.duration !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.AcquireSsrsLeaseContext.duration: object expected");
-                                message.duration = $root.google.protobuf.Duration.fromObject(object.duration);
+                                message.duration = $root.google.protobuf.Duration.fromObject(object.duration, long + 1);
                             }
                             return message;
                         };
@@ -137259,7 +142573,7 @@
                         function GetConnectSettingsRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -137344,9 +142658,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        GetConnectSettingsRequest.decode = function decode(reader, length, error) {
+                        GetConnectSettingsRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.GetConnectSettingsRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -137362,11 +142680,11 @@
                                         break;
                                     }
                                 case 7: {
-                                        message.readTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+                                        message.readTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -137397,9 +142715,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        GetConnectSettingsRequest.verify = function verify(message) {
+                        GetConnectSettingsRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.instance != null && message.hasOwnProperty("instance"))
                                 if (!$util.isString(message.instance))
                                     return "instance: string expected";
@@ -137407,7 +142729,7 @@
                                 if (!$util.isString(message.project))
                                     return "project: string expected";
                             if (message.readTime != null && message.hasOwnProperty("readTime")) {
-                                var error = $root.google.protobuf.Timestamp.verify(message.readTime);
+                                var error = $root.google.protobuf.Timestamp.verify(message.readTime, long + 1);
                                 if (error)
                                     return "readTime." + error;
                             }
@@ -137422,9 +142744,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.GetConnectSettingsRequest} GetConnectSettingsRequest
                          */
-                        GetConnectSettingsRequest.fromObject = function fromObject(object) {
+                        GetConnectSettingsRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.GetConnectSettingsRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.GetConnectSettingsRequest();
                             if (object.instance != null)
                                 message.instance = String(object.instance);
@@ -137433,7 +142759,7 @@
                             if (object.readTime != null) {
                                 if (typeof object.readTime !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.GetConnectSettingsRequest.readTime: object expected");
-                                message.readTime = $root.google.protobuf.Timestamp.fromObject(object.readTime);
+                                message.readTime = $root.google.protobuf.Timestamp.fromObject(object.readTime, long + 1);
                             }
                             return message;
                         };
@@ -137532,7 +142858,7 @@
                             this.mdxProtocolSupport = [];
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -137744,9 +143070,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        ConnectSettings.decode = function decode(reader, length, error) {
+                        ConnectSettings.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.ConnectSettings();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -137758,13 +143088,13 @@
                                         break;
                                     }
                                 case 2: {
-                                        message.serverCaCert = $root.google.cloud.sql.v1beta4.SslCert.decode(reader, reader.uint32());
+                                        message.serverCaCert = $root.google.cloud.sql.v1beta4.SslCert.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 3: {
                                         if (!(message.ipAddresses && message.ipAddresses.length))
                                             message.ipAddresses = [];
-                                        message.ipAddresses.push($root.google.cloud.sql.v1beta4.IpMapping.decode(reader, reader.uint32()));
+                                        message.ipAddresses.push($root.google.cloud.sql.v1beta4.IpMapping.decode(reader, reader.uint32(), undefined, long + 1));
                                         break;
                                     }
                                 case 4: {
@@ -137800,7 +143130,7 @@
                                 case 38: {
                                         if (!(message.dnsNames && message.dnsNames.length))
                                             message.dnsNames = [];
-                                        message.dnsNames.push($root.google.cloud.sql.v1beta4.DnsNameMapping.decode(reader, reader.uint32()));
+                                        message.dnsNames.push($root.google.cloud.sql.v1beta4.DnsNameMapping.decode(reader, reader.uint32(), undefined, long + 1));
                                         break;
                                     }
                                 case 63: {
@@ -137810,7 +143140,7 @@
                                 case 64: {
                                         if (!(message.nodes && message.nodes.length))
                                             message.nodes = [];
-                                        message.nodes.push($root.google.cloud.sql.v1beta4.ConnectSettings.ConnectPoolNodeConfig.decode(reader, reader.uint32()));
+                                        message.nodes.push($root.google.cloud.sql.v1beta4.ConnectSettings.ConnectPoolNodeConfig.decode(reader, reader.uint32(), undefined, long + 1));
                                         break;
                                     }
                                 case 39: {
@@ -137825,7 +143155,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -137856,15 +143186,19 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        ConnectSettings.verify = function verify(message) {
+                        ConnectSettings.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             var properties = {};
                             if (message.kind != null && message.hasOwnProperty("kind"))
                                 if (!$util.isString(message.kind))
                                     return "kind: string expected";
                             if (message.serverCaCert != null && message.hasOwnProperty("serverCaCert")) {
-                                var error = $root.google.cloud.sql.v1beta4.SslCert.verify(message.serverCaCert);
+                                var error = $root.google.cloud.sql.v1beta4.SslCert.verify(message.serverCaCert, long + 1);
                                 if (error)
                                     return "serverCaCert." + error;
                             }
@@ -137872,7 +143206,7 @@
                                 if (!Array.isArray(message.ipAddresses))
                                     return "ipAddresses: array expected";
                                 for (var i = 0; i < message.ipAddresses.length; ++i) {
-                                    var error = $root.google.cloud.sql.v1beta4.IpMapping.verify(message.ipAddresses[i]);
+                                    var error = $root.google.cloud.sql.v1beta4.IpMapping.verify(message.ipAddresses[i], long + 1);
                                     if (error)
                                         return "ipAddresses." + error;
                                 }
@@ -137974,7 +143308,7 @@
                                 if (!Array.isArray(message.dnsNames))
                                     return "dnsNames: array expected";
                                 for (var i = 0; i < message.dnsNames.length; ++i) {
-                                    var error = $root.google.cloud.sql.v1beta4.DnsNameMapping.verify(message.dnsNames[i]);
+                                    var error = $root.google.cloud.sql.v1beta4.DnsNameMapping.verify(message.dnsNames[i], long + 1);
                                     if (error)
                                         return "dnsNames." + error;
                                 }
@@ -137988,7 +143322,7 @@
                                 if (!Array.isArray(message.nodes))
                                     return "nodes: array expected";
                                 for (var i = 0; i < message.nodes.length; ++i) {
-                                    var error = $root.google.cloud.sql.v1beta4.ConnectSettings.ConnectPoolNodeConfig.verify(message.nodes[i]);
+                                    var error = $root.google.cloud.sql.v1beta4.ConnectSettings.ConnectPoolNodeConfig.verify(message.nodes[i], long + 1);
                                     if (error)
                                         return "nodes." + error;
                                 }
@@ -138016,16 +143350,20 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.ConnectSettings} ConnectSettings
                          */
-                        ConnectSettings.fromObject = function fromObject(object) {
+                        ConnectSettings.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.ConnectSettings)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.ConnectSettings();
                             if (object.kind != null)
                                 message.kind = String(object.kind);
                             if (object.serverCaCert != null) {
                                 if (typeof object.serverCaCert !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.ConnectSettings.serverCaCert: object expected");
-                                message.serverCaCert = $root.google.cloud.sql.v1beta4.SslCert.fromObject(object.serverCaCert);
+                                message.serverCaCert = $root.google.cloud.sql.v1beta4.SslCert.fromObject(object.serverCaCert, long + 1);
                             }
                             if (object.ipAddresses) {
                                 if (!Array.isArray(object.ipAddresses))
@@ -138034,7 +143372,7 @@
                                 for (var i = 0; i < object.ipAddresses.length; ++i) {
                                     if (typeof object.ipAddresses[i] !== "object")
                                         throw TypeError(".google.cloud.sql.v1beta4.ConnectSettings.ipAddresses: object expected");
-                                    message.ipAddresses[i] = $root.google.cloud.sql.v1beta4.IpMapping.fromObject(object.ipAddresses[i]);
+                                    message.ipAddresses[i] = $root.google.cloud.sql.v1beta4.IpMapping.fromObject(object.ipAddresses[i], long + 1);
                                 }
                             }
                             if (object.region != null)
@@ -138317,7 +143655,7 @@
                                 for (var i = 0; i < object.dnsNames.length; ++i) {
                                     if (typeof object.dnsNames[i] !== "object")
                                         throw TypeError(".google.cloud.sql.v1beta4.ConnectSettings.dnsNames: object expected");
-                                    message.dnsNames[i] = $root.google.cloud.sql.v1beta4.DnsNameMapping.fromObject(object.dnsNames[i]);
+                                    message.dnsNames[i] = $root.google.cloud.sql.v1beta4.DnsNameMapping.fromObject(object.dnsNames[i], long + 1);
                                 }
                             }
                             if (object.nodeCount != null)
@@ -138329,7 +143667,7 @@
                                 for (var i = 0; i < object.nodes.length; ++i) {
                                     if (typeof object.nodes[i] !== "object")
                                         throw TypeError(".google.cloud.sql.v1beta4.ConnectSettings.nodes: object expected");
-                                    message.nodes[i] = $root.google.cloud.sql.v1beta4.ConnectSettings.ConnectPoolNodeConfig.fromObject(object.nodes[i]);
+                                    message.nodes[i] = $root.google.cloud.sql.v1beta4.ConnectSettings.ConnectPoolNodeConfig.fromObject(object.nodes[i], long + 1);
                                 }
                             }
                             if (object.mdxProtocolSupport) {
@@ -138504,7 +143842,7 @@
                                 this.dnsNames = [];
                                 if (properties)
                                     for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                        if (properties[keys[i]] != null)
+                                        if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                             this[keys[i]] = properties[keys[i]];
                             }
     
@@ -138616,9 +143954,13 @@
                              * @throws {Error} If the payload is not a reader or valid buffer
                              * @throws {$protobuf.util.ProtocolError} If required fields are missing
                              */
-                            ConnectPoolNodeConfig.decode = function decode(reader, length, error) {
+                            ConnectPoolNodeConfig.decode = function decode(reader, length, error, long) {
                                 if (!(reader instanceof $Reader))
                                     reader = $Reader.create(reader);
+                                if (long === undefined)
+                                    long = 0;
+                                if (long > $Reader.recursionLimit)
+                                    throw Error("maximum nesting depth exceeded");
                                 var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.ConnectSettings.ConnectPoolNodeConfig();
                                 while (reader.pos < end) {
                                     var tag = reader.uint32();
@@ -138632,7 +143974,7 @@
                                     case 2: {
                                             if (!(message.ipAddresses && message.ipAddresses.length))
                                                 message.ipAddresses = [];
-                                            message.ipAddresses.push($root.google.cloud.sql.v1beta4.IpMapping.decode(reader, reader.uint32()));
+                                            message.ipAddresses.push($root.google.cloud.sql.v1beta4.IpMapping.decode(reader, reader.uint32(), undefined, long + 1));
                                             break;
                                         }
                                     case 3: {
@@ -138642,11 +143984,11 @@
                                     case 4: {
                                             if (!(message.dnsNames && message.dnsNames.length))
                                                 message.dnsNames = [];
-                                            message.dnsNames.push($root.google.cloud.sql.v1beta4.DnsNameMapping.decode(reader, reader.uint32()));
+                                            message.dnsNames.push($root.google.cloud.sql.v1beta4.DnsNameMapping.decode(reader, reader.uint32(), undefined, long + 1));
                                             break;
                                         }
                                     default:
-                                        reader.skipType(tag & 7);
+                                        reader.skipType(tag & 7, long);
                                         break;
                                     }
                                 }
@@ -138677,9 +144019,13 @@
                              * @param {Object.<string,*>} message Plain object to verify
                              * @returns {string|null} `null` if valid, otherwise the reason why it is not
                              */
-                            ConnectPoolNodeConfig.verify = function verify(message) {
+                            ConnectPoolNodeConfig.verify = function verify(message, long) {
                                 if (typeof message !== "object" || message === null)
                                     return "object expected";
+                                if (long === undefined)
+                                    long = 0;
+                                if (long > $util.recursionLimit)
+                                    return "maximum nesting depth exceeded";
                                 var properties = {};
                                 if (message.name != null && message.hasOwnProperty("name")) {
                                     properties._name = 1;
@@ -138690,7 +144036,7 @@
                                     if (!Array.isArray(message.ipAddresses))
                                         return "ipAddresses: array expected";
                                     for (var i = 0; i < message.ipAddresses.length; ++i) {
-                                        var error = $root.google.cloud.sql.v1beta4.IpMapping.verify(message.ipAddresses[i]);
+                                        var error = $root.google.cloud.sql.v1beta4.IpMapping.verify(message.ipAddresses[i], long + 1);
                                         if (error)
                                             return "ipAddresses." + error;
                                     }
@@ -138704,7 +144050,7 @@
                                     if (!Array.isArray(message.dnsNames))
                                         return "dnsNames: array expected";
                                     for (var i = 0; i < message.dnsNames.length; ++i) {
-                                        var error = $root.google.cloud.sql.v1beta4.DnsNameMapping.verify(message.dnsNames[i]);
+                                        var error = $root.google.cloud.sql.v1beta4.DnsNameMapping.verify(message.dnsNames[i], long + 1);
                                         if (error)
                                             return "dnsNames." + error;
                                     }
@@ -138720,9 +144066,13 @@
                              * @param {Object.<string,*>} object Plain object
                              * @returns {google.cloud.sql.v1beta4.ConnectSettings.ConnectPoolNodeConfig} ConnectPoolNodeConfig
                              */
-                            ConnectPoolNodeConfig.fromObject = function fromObject(object) {
+                            ConnectPoolNodeConfig.fromObject = function fromObject(object, long) {
                                 if (object instanceof $root.google.cloud.sql.v1beta4.ConnectSettings.ConnectPoolNodeConfig)
                                     return object;
+                                if (long === undefined)
+                                    long = 0;
+                                if (long > $util.recursionLimit)
+                                    throw Error("maximum nesting depth exceeded");
                                 var message = new $root.google.cloud.sql.v1beta4.ConnectSettings.ConnectPoolNodeConfig();
                                 if (object.name != null)
                                     message.name = String(object.name);
@@ -138733,7 +144083,7 @@
                                     for (var i = 0; i < object.ipAddresses.length; ++i) {
                                         if (typeof object.ipAddresses[i] !== "object")
                                             throw TypeError(".google.cloud.sql.v1beta4.ConnectSettings.ConnectPoolNodeConfig.ipAddresses: object expected");
-                                        message.ipAddresses[i] = $root.google.cloud.sql.v1beta4.IpMapping.fromObject(object.ipAddresses[i]);
+                                        message.ipAddresses[i] = $root.google.cloud.sql.v1beta4.IpMapping.fromObject(object.ipAddresses[i], long + 1);
                                     }
                                 }
                                 if (object.dnsName != null)
@@ -138745,7 +144095,7 @@
                                     for (var i = 0; i < object.dnsNames.length; ++i) {
                                         if (typeof object.dnsNames[i] !== "object")
                                             throw TypeError(".google.cloud.sql.v1beta4.ConnectSettings.ConnectPoolNodeConfig.dnsNames: object expected");
-                                        message.dnsNames[i] = $root.google.cloud.sql.v1beta4.DnsNameMapping.fromObject(object.dnsNames[i]);
+                                        message.dnsNames[i] = $root.google.cloud.sql.v1beta4.DnsNameMapping.fromObject(object.dnsNames[i], long + 1);
                                     }
                                 }
                                 return message;
@@ -138862,7 +144212,7 @@
                         function GenerateEphemeralCertRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -138977,9 +144327,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        GenerateEphemeralCertRequest.decode = function decode(reader, length, error) {
+                        GenerateEphemeralCertRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.GenerateEphemeralCertRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -139003,15 +144357,15 @@
                                         break;
                                     }
                                 case 7: {
-                                        message.readTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+                                        message.readTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 12: {
-                                        message.validDuration = $root.google.protobuf.Duration.decode(reader, reader.uint32());
+                                        message.validDuration = $root.google.protobuf.Duration.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -139042,9 +144396,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        GenerateEphemeralCertRequest.verify = function verify(message) {
+                        GenerateEphemeralCertRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.instance != null && message.hasOwnProperty("instance"))
                                 if (!$util.isString(message.instance))
                                     return "instance: string expected";
@@ -139058,12 +144416,12 @@
                                 if (!$util.isString(message.accessToken))
                                     return "accessToken: string expected";
                             if (message.readTime != null && message.hasOwnProperty("readTime")) {
-                                var error = $root.google.protobuf.Timestamp.verify(message.readTime);
+                                var error = $root.google.protobuf.Timestamp.verify(message.readTime, long + 1);
                                 if (error)
                                     return "readTime." + error;
                             }
                             if (message.validDuration != null && message.hasOwnProperty("validDuration")) {
-                                var error = $root.google.protobuf.Duration.verify(message.validDuration);
+                                var error = $root.google.protobuf.Duration.verify(message.validDuration, long + 1);
                                 if (error)
                                     return "validDuration." + error;
                             }
@@ -139078,9 +144436,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.GenerateEphemeralCertRequest} GenerateEphemeralCertRequest
                          */
-                        GenerateEphemeralCertRequest.fromObject = function fromObject(object) {
+                        GenerateEphemeralCertRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.GenerateEphemeralCertRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.GenerateEphemeralCertRequest();
                             if (object.instance != null)
                                 message.instance = String(object.instance);
@@ -139093,12 +144455,12 @@
                             if (object.readTime != null) {
                                 if (typeof object.readTime !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.GenerateEphemeralCertRequest.readTime: object expected");
-                                message.readTime = $root.google.protobuf.Timestamp.fromObject(object.readTime);
+                                message.readTime = $root.google.protobuf.Timestamp.fromObject(object.readTime, long + 1);
                             }
                             if (object.validDuration != null) {
                                 if (typeof object.validDuration !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.GenerateEphemeralCertRequest.validDuration: object expected");
-                                message.validDuration = $root.google.protobuf.Duration.fromObject(object.validDuration);
+                                message.validDuration = $root.google.protobuf.Duration.fromObject(object.validDuration, long + 1);
                             }
                             return message;
                         };
@@ -139188,7 +144550,7 @@
                         function GenerateEphemeralCertResponse(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -139253,9 +144615,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        GenerateEphemeralCertResponse.decode = function decode(reader, length, error) {
+                        GenerateEphemeralCertResponse.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.GenerateEphemeralCertResponse();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -139263,11 +144629,11 @@
                                     break;
                                 switch (tag >>> 3) {
                                 case 1: {
-                                        message.ephemeralCert = $root.google.cloud.sql.v1beta4.SslCert.decode(reader, reader.uint32());
+                                        message.ephemeralCert = $root.google.cloud.sql.v1beta4.SslCert.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -139298,11 +144664,15 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        GenerateEphemeralCertResponse.verify = function verify(message) {
+                        GenerateEphemeralCertResponse.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.ephemeralCert != null && message.hasOwnProperty("ephemeralCert")) {
-                                var error = $root.google.cloud.sql.v1beta4.SslCert.verify(message.ephemeralCert);
+                                var error = $root.google.cloud.sql.v1beta4.SslCert.verify(message.ephemeralCert, long + 1);
                                 if (error)
                                     return "ephemeralCert." + error;
                             }
@@ -139317,14 +144687,18 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.GenerateEphemeralCertResponse} GenerateEphemeralCertResponse
                          */
-                        GenerateEphemeralCertResponse.fromObject = function fromObject(object) {
+                        GenerateEphemeralCertResponse.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.GenerateEphemeralCertResponse)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.GenerateEphemeralCertResponse();
                             if (object.ephemeralCert != null) {
                                 if (typeof object.ephemeralCert !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.GenerateEphemeralCertResponse.ephemeralCert: object expected");
-                                message.ephemeralCert = $root.google.cloud.sql.v1beta4.SslCert.fromObject(object.ephemeralCert);
+                                message.ephemeralCert = $root.google.cloud.sql.v1beta4.SslCert.fromObject(object.ephemeralCert, long + 1);
                             }
                             return message;
                         };
@@ -139501,7 +144875,7 @@
                         function SqlTiersListRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -139566,9 +144940,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlTiersListRequest.decode = function decode(reader, length, error) {
+                        SqlTiersListRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.SqlTiersListRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -139580,7 +144958,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -139611,9 +144989,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlTiersListRequest.verify = function verify(message) {
+                        SqlTiersListRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.project != null && message.hasOwnProperty("project"))
                                 if (!$util.isString(message.project))
                                     return "project: string expected";
@@ -139628,9 +145010,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.SqlTiersListRequest} SqlTiersListRequest
                          */
-                        SqlTiersListRequest.fromObject = function fromObject(object) {
+                        SqlTiersListRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.SqlTiersListRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.SqlTiersListRequest();
                             if (object.project != null)
                                 message.project = String(object.project);
@@ -139708,7 +145094,7 @@
                             this.items = [];
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -139784,9 +145170,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        TiersListResponse.decode = function decode(reader, length, error) {
+                        TiersListResponse.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.TiersListResponse();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -139800,11 +145190,11 @@
                                 case 2: {
                                         if (!(message.items && message.items.length))
                                             message.items = [];
-                                        message.items.push($root.google.cloud.sql.v1beta4.Tier.decode(reader, reader.uint32()));
+                                        message.items.push($root.google.cloud.sql.v1beta4.Tier.decode(reader, reader.uint32(), undefined, long + 1));
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -139835,9 +145225,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        TiersListResponse.verify = function verify(message) {
+                        TiersListResponse.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.kind != null && message.hasOwnProperty("kind"))
                                 if (!$util.isString(message.kind))
                                     return "kind: string expected";
@@ -139845,7 +145239,7 @@
                                 if (!Array.isArray(message.items))
                                     return "items: array expected";
                                 for (var i = 0; i < message.items.length; ++i) {
-                                    var error = $root.google.cloud.sql.v1beta4.Tier.verify(message.items[i]);
+                                    var error = $root.google.cloud.sql.v1beta4.Tier.verify(message.items[i], long + 1);
                                     if (error)
                                         return "items." + error;
                                 }
@@ -139861,9 +145255,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.TiersListResponse} TiersListResponse
                          */
-                        TiersListResponse.fromObject = function fromObject(object) {
+                        TiersListResponse.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.TiersListResponse)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.TiersListResponse();
                             if (object.kind != null)
                                 message.kind = String(object.kind);
@@ -139874,7 +145272,7 @@
                                 for (var i = 0; i < object.items.length; ++i) {
                                     if (typeof object.items[i] !== "object")
                                         throw TypeError(".google.cloud.sql.v1beta4.TiersListResponse.items: object expected");
-                                    message.items[i] = $root.google.cloud.sql.v1beta4.Tier.fromObject(object.items[i]);
+                                    message.items[i] = $root.google.cloud.sql.v1beta4.Tier.fromObject(object.items[i], long + 1);
                                 }
                             }
                             return message;
@@ -139961,7 +145359,7 @@
                             this.region = [];
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -140067,9 +145465,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        Tier.decode = function decode(reader, length, error) {
+                        Tier.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.Tier();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -140099,7 +145501,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -140130,9 +145532,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        Tier.verify = function verify(message) {
+                        Tier.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.tier != null && message.hasOwnProperty("tier"))
                                 if (!$util.isString(message.tier))
                                     return "tier: string expected";
@@ -140163,9 +145569,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.Tier} Tier
                          */
-                        Tier.fromObject = function fromObject(object) {
+                        Tier.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.Tier)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.Tier();
                             if (object.tier != null)
                                 message.tier = String(object.tier);
@@ -140502,7 +145912,7 @@
                         function SqlUsersDeleteRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -140597,9 +146007,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlUsersDeleteRequest.decode = function decode(reader, length, error) {
+                        SqlUsersDeleteRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.SqlUsersDeleteRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -140623,7 +146037,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -140654,9 +146068,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlUsersDeleteRequest.verify = function verify(message) {
+                        SqlUsersDeleteRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.host != null && message.hasOwnProperty("host"))
                                 if (!$util.isString(message.host))
                                     return "host: string expected";
@@ -140680,9 +146098,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.SqlUsersDeleteRequest} SqlUsersDeleteRequest
                          */
-                        SqlUsersDeleteRequest.fromObject = function fromObject(object) {
+                        SqlUsersDeleteRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.SqlUsersDeleteRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.SqlUsersDeleteRequest();
                             if (object.host != null)
                                 message.host = String(object.host);
@@ -140777,7 +146199,7 @@
                         function SqlUsersGetRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -140872,9 +146294,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlUsersGetRequest.decode = function decode(reader, length, error) {
+                        SqlUsersGetRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.SqlUsersGetRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -140898,7 +146324,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -140929,9 +146355,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlUsersGetRequest.verify = function verify(message) {
+                        SqlUsersGetRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.instance != null && message.hasOwnProperty("instance"))
                                 if (!$util.isString(message.instance))
                                     return "instance: string expected";
@@ -140955,9 +146385,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.SqlUsersGetRequest} SqlUsersGetRequest
                          */
-                        SqlUsersGetRequest.fromObject = function fromObject(object) {
+                        SqlUsersGetRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.SqlUsersGetRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.SqlUsersGetRequest();
                             if (object.instance != null)
                                 message.instance = String(object.instance);
@@ -141051,7 +146485,7 @@
                         function SqlUsersInsertRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -141136,9 +146570,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlUsersInsertRequest.decode = function decode(reader, length, error) {
+                        SqlUsersInsertRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.SqlUsersInsertRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -141154,11 +146592,11 @@
                                         break;
                                     }
                                 case 100: {
-                                        message.body = $root.google.cloud.sql.v1beta4.User.decode(reader, reader.uint32());
+                                        message.body = $root.google.cloud.sql.v1beta4.User.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -141189,9 +146627,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlUsersInsertRequest.verify = function verify(message) {
+                        SqlUsersInsertRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.instance != null && message.hasOwnProperty("instance"))
                                 if (!$util.isString(message.instance))
                                     return "instance: string expected";
@@ -141199,7 +146641,7 @@
                                 if (!$util.isString(message.project))
                                     return "project: string expected";
                             if (message.body != null && message.hasOwnProperty("body")) {
-                                var error = $root.google.cloud.sql.v1beta4.User.verify(message.body);
+                                var error = $root.google.cloud.sql.v1beta4.User.verify(message.body, long + 1);
                                 if (error)
                                     return "body." + error;
                             }
@@ -141214,9 +146656,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.SqlUsersInsertRequest} SqlUsersInsertRequest
                          */
-                        SqlUsersInsertRequest.fromObject = function fromObject(object) {
+                        SqlUsersInsertRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.SqlUsersInsertRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.SqlUsersInsertRequest();
                             if (object.instance != null)
                                 message.instance = String(object.instance);
@@ -141225,7 +146671,7 @@
                             if (object.body != null) {
                                 if (typeof object.body !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.SqlUsersInsertRequest.body: object expected");
-                                message.body = $root.google.cloud.sql.v1beta4.User.fromObject(object.body);
+                                message.body = $root.google.cloud.sql.v1beta4.User.fromObject(object.body, long + 1);
                             }
                             return message;
                         };
@@ -141307,7 +146753,7 @@
                         function SqlUsersListRequest(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -141382,9 +146828,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlUsersListRequest.decode = function decode(reader, length, error) {
+                        SqlUsersListRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.SqlUsersListRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -141400,7 +146850,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -141431,9 +146881,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlUsersListRequest.verify = function verify(message) {
+                        SqlUsersListRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.instance != null && message.hasOwnProperty("instance"))
                                 if (!$util.isString(message.instance))
                                     return "instance: string expected";
@@ -141451,9 +146905,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.SqlUsersListRequest} SqlUsersListRequest
                          */
-                        SqlUsersListRequest.fromObject = function fromObject(object) {
+                        SqlUsersListRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.SqlUsersListRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.SqlUsersListRequest();
                             if (object.instance != null)
                                 message.instance = String(object.instance);
@@ -141542,7 +147000,7 @@
                             this.databaseRoles = [];
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -141677,9 +147135,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlUsersUpdateRequest.decode = function decode(reader, length, error) {
+                        SqlUsersUpdateRequest.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.SqlUsersUpdateRequest();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -141713,11 +147175,11 @@
                                         break;
                                     }
                                 case 100: {
-                                        message.body = $root.google.cloud.sql.v1beta4.User.decode(reader, reader.uint32());
+                                        message.body = $root.google.cloud.sql.v1beta4.User.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -141748,9 +147210,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlUsersUpdateRequest.verify = function verify(message) {
+                        SqlUsersUpdateRequest.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             var properties = {};
                             if (message.host != null && message.hasOwnProperty("host"))
                                 if (!$util.isString(message.host))
@@ -141777,7 +147243,7 @@
                                     return "revokeExistingRoles: boolean expected";
                             }
                             if (message.body != null && message.hasOwnProperty("body")) {
-                                var error = $root.google.cloud.sql.v1beta4.User.verify(message.body);
+                                var error = $root.google.cloud.sql.v1beta4.User.verify(message.body, long + 1);
                                 if (error)
                                     return "body." + error;
                             }
@@ -141792,9 +147258,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.SqlUsersUpdateRequest} SqlUsersUpdateRequest
                          */
-                        SqlUsersUpdateRequest.fromObject = function fromObject(object) {
+                        SqlUsersUpdateRequest.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.SqlUsersUpdateRequest)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.SqlUsersUpdateRequest();
                             if (object.host != null)
                                 message.host = String(object.host);
@@ -141816,7 +147286,7 @@
                             if (object.body != null) {
                                 if (typeof object.body !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.SqlUsersUpdateRequest.body: object expected");
-                                message.body = $root.google.cloud.sql.v1beta4.User.fromObject(object.body);
+                                message.body = $root.google.cloud.sql.v1beta4.User.fromObject(object.body, long + 1);
                             }
                             return message;
                         };
@@ -141919,7 +147389,7 @@
                         function UserPasswordValidationPolicy(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -142024,9 +147494,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        UserPasswordValidationPolicy.decode = function decode(reader, length, error) {
+                        UserPasswordValidationPolicy.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.UserPasswordValidationPolicy();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -142038,7 +147512,7 @@
                                         break;
                                     }
                                 case 2: {
-                                        message.passwordExpirationDuration = $root.google.protobuf.Duration.decode(reader, reader.uint32());
+                                        message.passwordExpirationDuration = $root.google.protobuf.Duration.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 3: {
@@ -142046,7 +147520,7 @@
                                         break;
                                     }
                                 case 4: {
-                                        message.status = $root.google.cloud.sql.v1beta4.PasswordStatus.decode(reader, reader.uint32());
+                                        message.status = $root.google.cloud.sql.v1beta4.PasswordStatus.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 5: {
@@ -142054,7 +147528,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -142085,14 +147559,18 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        UserPasswordValidationPolicy.verify = function verify(message) {
+                        UserPasswordValidationPolicy.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.allowedFailedAttempts != null && message.hasOwnProperty("allowedFailedAttempts"))
                                 if (!$util.isInteger(message.allowedFailedAttempts))
                                     return "allowedFailedAttempts: integer expected";
                             if (message.passwordExpirationDuration != null && message.hasOwnProperty("passwordExpirationDuration")) {
-                                var error = $root.google.protobuf.Duration.verify(message.passwordExpirationDuration);
+                                var error = $root.google.protobuf.Duration.verify(message.passwordExpirationDuration, long + 1);
                                 if (error)
                                     return "passwordExpirationDuration." + error;
                             }
@@ -142100,7 +147578,7 @@
                                 if (typeof message.enableFailedAttemptsCheck !== "boolean")
                                     return "enableFailedAttemptsCheck: boolean expected";
                             if (message.status != null && message.hasOwnProperty("status")) {
-                                var error = $root.google.cloud.sql.v1beta4.PasswordStatus.verify(message.status);
+                                var error = $root.google.cloud.sql.v1beta4.PasswordStatus.verify(message.status, long + 1);
                                 if (error)
                                     return "status." + error;
                             }
@@ -142118,23 +147596,27 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.UserPasswordValidationPolicy} UserPasswordValidationPolicy
                          */
-                        UserPasswordValidationPolicy.fromObject = function fromObject(object) {
+                        UserPasswordValidationPolicy.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.UserPasswordValidationPolicy)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.UserPasswordValidationPolicy();
                             if (object.allowedFailedAttempts != null)
                                 message.allowedFailedAttempts = object.allowedFailedAttempts | 0;
                             if (object.passwordExpirationDuration != null) {
                                 if (typeof object.passwordExpirationDuration !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.UserPasswordValidationPolicy.passwordExpirationDuration: object expected");
-                                message.passwordExpirationDuration = $root.google.protobuf.Duration.fromObject(object.passwordExpirationDuration);
+                                message.passwordExpirationDuration = $root.google.protobuf.Duration.fromObject(object.passwordExpirationDuration, long + 1);
                             }
                             if (object.enableFailedAttemptsCheck != null)
                                 message.enableFailedAttemptsCheck = Boolean(object.enableFailedAttemptsCheck);
                             if (object.status != null) {
                                 if (typeof object.status !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.UserPasswordValidationPolicy.status: object expected");
-                                message.status = $root.google.cloud.sql.v1beta4.PasswordStatus.fromObject(object.status);
+                                message.status = $root.google.cloud.sql.v1beta4.PasswordStatus.fromObject(object.status, long + 1);
                             }
                             if (object.enablePasswordVerification != null)
                                 message.enablePasswordVerification = Boolean(object.enablePasswordVerification);
@@ -142224,7 +147706,7 @@
                         function PasswordStatus(properties) {
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -142299,9 +147781,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        PasswordStatus.decode = function decode(reader, length, error) {
+                        PasswordStatus.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.PasswordStatus();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -142313,11 +147799,11 @@
                                         break;
                                     }
                                 case 2: {
-                                        message.passwordExpirationTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+                                        message.passwordExpirationTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -142348,14 +147834,18 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        PasswordStatus.verify = function verify(message) {
+                        PasswordStatus.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.locked != null && message.hasOwnProperty("locked"))
                                 if (typeof message.locked !== "boolean")
                                     return "locked: boolean expected";
                             if (message.passwordExpirationTime != null && message.hasOwnProperty("passwordExpirationTime")) {
-                                var error = $root.google.protobuf.Timestamp.verify(message.passwordExpirationTime);
+                                var error = $root.google.protobuf.Timestamp.verify(message.passwordExpirationTime, long + 1);
                                 if (error)
                                     return "passwordExpirationTime." + error;
                             }
@@ -142370,16 +147860,20 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.PasswordStatus} PasswordStatus
                          */
-                        PasswordStatus.fromObject = function fromObject(object) {
+                        PasswordStatus.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.PasswordStatus)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.PasswordStatus();
                             if (object.locked != null)
                                 message.locked = Boolean(object.locked);
                             if (object.passwordExpirationTime != null) {
                                 if (typeof object.passwordExpirationTime !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.PasswordStatus.passwordExpirationTime: object expected");
-                                message.passwordExpirationTime = $root.google.protobuf.Timestamp.fromObject(object.passwordExpirationTime);
+                                message.passwordExpirationTime = $root.google.protobuf.Timestamp.fromObject(object.passwordExpirationTime, long + 1);
                             }
                             return message;
                         };
@@ -142471,7 +147965,7 @@
                             this.databaseRoles = [];
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -142693,9 +148187,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        User.decode = function decode(reader, length, error) {
+                        User.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.User();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -142735,7 +148233,7 @@
                                         break;
                                     }
                                 case 9: {
-                                        message.sqlserverUserDetails = $root.google.cloud.sql.v1beta4.SqlServerUserDetails.decode(reader, reader.uint32());
+                                        message.sqlserverUserDetails = $root.google.cloud.sql.v1beta4.SqlServerUserDetails.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 11: {
@@ -142743,7 +148241,7 @@
                                         break;
                                     }
                                 case 12: {
-                                        message.passwordPolicy = $root.google.cloud.sql.v1beta4.UserPasswordValidationPolicy.decode(reader, reader.uint32());
+                                        message.passwordPolicy = $root.google.cloud.sql.v1beta4.UserPasswordValidationPolicy.decode(reader, reader.uint32(), undefined, long + 1);
                                         break;
                                     }
                                 case 13: {
@@ -142761,7 +148259,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -142792,9 +148290,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        User.verify = function verify(message) {
+                        User.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             var properties = {};
                             if (message.kind != null && message.hasOwnProperty("kind"))
                                 if (!$util.isString(message.kind))
@@ -142833,7 +148335,7 @@
                             if (message.sqlserverUserDetails != null && message.hasOwnProperty("sqlserverUserDetails")) {
                                 properties.userDetails = 1;
                                 {
-                                    var error = $root.google.cloud.sql.v1beta4.SqlServerUserDetails.verify(message.sqlserverUserDetails);
+                                    var error = $root.google.cloud.sql.v1beta4.SqlServerUserDetails.verify(message.sqlserverUserDetails, long + 1);
                                     if (error)
                                         return "sqlserverUserDetails." + error;
                                 }
@@ -142842,7 +148344,7 @@
                                 if (!$util.isString(message.iamEmail))
                                     return "iamEmail: string expected";
                             if (message.passwordPolicy != null && message.hasOwnProperty("passwordPolicy")) {
-                                var error = $root.google.cloud.sql.v1beta4.UserPasswordValidationPolicy.verify(message.passwordPolicy);
+                                var error = $root.google.cloud.sql.v1beta4.UserPasswordValidationPolicy.verify(message.passwordPolicy, long + 1);
                                 if (error)
                                     return "passwordPolicy." + error;
                             }
@@ -142887,9 +148389,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.User} User
                          */
-                        User.fromObject = function fromObject(object) {
+                        User.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.User)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.User();
                             if (object.kind != null)
                                 message.kind = String(object.kind);
@@ -142944,14 +148450,14 @@
                             if (object.sqlserverUserDetails != null) {
                                 if (typeof object.sqlserverUserDetails !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.User.sqlserverUserDetails: object expected");
-                                message.sqlserverUserDetails = $root.google.cloud.sql.v1beta4.SqlServerUserDetails.fromObject(object.sqlserverUserDetails);
+                                message.sqlserverUserDetails = $root.google.cloud.sql.v1beta4.SqlServerUserDetails.fromObject(object.sqlserverUserDetails, long + 1);
                             }
                             if (object.iamEmail != null)
                                 message.iamEmail = String(object.iamEmail);
                             if (object.passwordPolicy != null) {
                                 if (typeof object.passwordPolicy !== "object")
                                     throw TypeError(".google.cloud.sql.v1beta4.User.passwordPolicy: object expected");
-                                message.passwordPolicy = $root.google.cloud.sql.v1beta4.UserPasswordValidationPolicy.fromObject(object.passwordPolicy);
+                                message.passwordPolicy = $root.google.cloud.sql.v1beta4.UserPasswordValidationPolicy.fromObject(object.passwordPolicy, long + 1);
                             }
                             switch (object.dualPasswordType) {
                             default:
@@ -143186,7 +148692,7 @@
                             this.serverRoles = [];
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -143262,9 +148768,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        SqlServerUserDetails.decode = function decode(reader, length, error) {
+                        SqlServerUserDetails.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.SqlServerUserDetails();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -143282,7 +148792,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -143313,9 +148823,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        SqlServerUserDetails.verify = function verify(message) {
+                        SqlServerUserDetails.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.disabled != null && message.hasOwnProperty("disabled"))
                                 if (typeof message.disabled !== "boolean")
                                     return "disabled: boolean expected";
@@ -143337,9 +148851,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.SqlServerUserDetails} SqlServerUserDetails
                          */
-                        SqlServerUserDetails.fromObject = function fromObject(object) {
+                        SqlServerUserDetails.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.SqlServerUserDetails)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.SqlServerUserDetails();
                             if (object.disabled != null)
                                 message.disabled = Boolean(object.disabled);
@@ -143432,7 +148950,7 @@
                             this.items = [];
                             if (properties)
                                 for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                    if (properties[keys[i]] != null)
+                                    if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                         this[keys[i]] = properties[keys[i]];
                         }
     
@@ -143518,9 +149036,13 @@
                          * @throws {Error} If the payload is not a reader or valid buffer
                          * @throws {$protobuf.util.ProtocolError} If required fields are missing
                          */
-                        UsersListResponse.decode = function decode(reader, length, error) {
+                        UsersListResponse.decode = function decode(reader, length, error, long) {
                             if (!(reader instanceof $Reader))
                                 reader = $Reader.create(reader);
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $Reader.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.sql.v1beta4.UsersListResponse();
                             while (reader.pos < end) {
                                 var tag = reader.uint32();
@@ -143534,7 +149056,7 @@
                                 case 2: {
                                         if (!(message.items && message.items.length))
                                             message.items = [];
-                                        message.items.push($root.google.cloud.sql.v1beta4.User.decode(reader, reader.uint32()));
+                                        message.items.push($root.google.cloud.sql.v1beta4.User.decode(reader, reader.uint32(), undefined, long + 1));
                                         break;
                                     }
                                 case 3: {
@@ -143542,7 +149064,7 @@
                                         break;
                                     }
                                 default:
-                                    reader.skipType(tag & 7);
+                                    reader.skipType(tag & 7, long);
                                     break;
                                 }
                             }
@@ -143573,9 +149095,13 @@
                          * @param {Object.<string,*>} message Plain object to verify
                          * @returns {string|null} `null` if valid, otherwise the reason why it is not
                          */
-                        UsersListResponse.verify = function verify(message) {
+                        UsersListResponse.verify = function verify(message, long) {
                             if (typeof message !== "object" || message === null)
                                 return "object expected";
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                return "maximum nesting depth exceeded";
                             if (message.kind != null && message.hasOwnProperty("kind"))
                                 if (!$util.isString(message.kind))
                                     return "kind: string expected";
@@ -143583,7 +149109,7 @@
                                 if (!Array.isArray(message.items))
                                     return "items: array expected";
                                 for (var i = 0; i < message.items.length; ++i) {
-                                    var error = $root.google.cloud.sql.v1beta4.User.verify(message.items[i]);
+                                    var error = $root.google.cloud.sql.v1beta4.User.verify(message.items[i], long + 1);
                                     if (error)
                                         return "items." + error;
                                 }
@@ -143602,9 +149128,13 @@
                          * @param {Object.<string,*>} object Plain object
                          * @returns {google.cloud.sql.v1beta4.UsersListResponse} UsersListResponse
                          */
-                        UsersListResponse.fromObject = function fromObject(object) {
+                        UsersListResponse.fromObject = function fromObject(object, long) {
                             if (object instanceof $root.google.cloud.sql.v1beta4.UsersListResponse)
                                 return object;
+                            if (long === undefined)
+                                long = 0;
+                            if (long > $util.recursionLimit)
+                                throw Error("maximum nesting depth exceeded");
                             var message = new $root.google.cloud.sql.v1beta4.UsersListResponse();
                             if (object.kind != null)
                                 message.kind = String(object.kind);
@@ -143615,7 +149145,7 @@
                                 for (var i = 0; i < object.items.length; ++i) {
                                     if (typeof object.items[i] !== "object")
                                         throw TypeError(".google.cloud.sql.v1beta4.UsersListResponse.items: object expected");
-                                    message.items[i] = $root.google.cloud.sql.v1beta4.User.fromObject(object.items[i]);
+                                    message.items[i] = $root.google.cloud.sql.v1beta4.User.fromObject(object.items[i], long + 1);
                                 }
                             }
                             if (object.nextPageToken != null)
@@ -143723,7 +149253,7 @@
                     this.rules = [];
                     if (properties)
                         for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                            if (properties[keys[i]] != null)
+                            if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                 this[keys[i]] = properties[keys[i]];
                 }
     
@@ -143799,9 +149329,13 @@
                  * @throws {Error} If the payload is not a reader or valid buffer
                  * @throws {$protobuf.util.ProtocolError} If required fields are missing
                  */
-                Http.decode = function decode(reader, length, error) {
+                Http.decode = function decode(reader, length, error, long) {
                     if (!(reader instanceof $Reader))
                         reader = $Reader.create(reader);
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $Reader.recursionLimit)
+                        throw Error("maximum nesting depth exceeded");
                     var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.Http();
                     while (reader.pos < end) {
                         var tag = reader.uint32();
@@ -143811,7 +149345,7 @@
                         case 1: {
                                 if (!(message.rules && message.rules.length))
                                     message.rules = [];
-                                message.rules.push($root.google.api.HttpRule.decode(reader, reader.uint32()));
+                                message.rules.push($root.google.api.HttpRule.decode(reader, reader.uint32(), undefined, long + 1));
                                 break;
                             }
                         case 2: {
@@ -143819,7 +149353,7 @@
                                 break;
                             }
                         default:
-                            reader.skipType(tag & 7);
+                            reader.skipType(tag & 7, long);
                             break;
                         }
                     }
@@ -143850,14 +149384,18 @@
                  * @param {Object.<string,*>} message Plain object to verify
                  * @returns {string|null} `null` if valid, otherwise the reason why it is not
                  */
-                Http.verify = function verify(message) {
+                Http.verify = function verify(message, long) {
                     if (typeof message !== "object" || message === null)
                         return "object expected";
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $util.recursionLimit)
+                        return "maximum nesting depth exceeded";
                     if (message.rules != null && message.hasOwnProperty("rules")) {
                         if (!Array.isArray(message.rules))
                             return "rules: array expected";
                         for (var i = 0; i < message.rules.length; ++i) {
-                            var error = $root.google.api.HttpRule.verify(message.rules[i]);
+                            var error = $root.google.api.HttpRule.verify(message.rules[i], long + 1);
                             if (error)
                                 return "rules." + error;
                         }
@@ -143876,9 +149414,13 @@
                  * @param {Object.<string,*>} object Plain object
                  * @returns {google.api.Http} Http
                  */
-                Http.fromObject = function fromObject(object) {
+                Http.fromObject = function fromObject(object, long) {
                     if (object instanceof $root.google.api.Http)
                         return object;
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $util.recursionLimit)
+                        throw Error("maximum nesting depth exceeded");
                     var message = new $root.google.api.Http();
                     if (object.rules) {
                         if (!Array.isArray(object.rules))
@@ -143887,7 +149429,7 @@
                         for (var i = 0; i < object.rules.length; ++i) {
                             if (typeof object.rules[i] !== "object")
                                 throw TypeError(".google.api.Http.rules: object expected");
-                            message.rules[i] = $root.google.api.HttpRule.fromObject(object.rules[i]);
+                            message.rules[i] = $root.google.api.HttpRule.fromObject(object.rules[i], long + 1);
                         }
                     }
                     if (object.fullyDecodeReservedExpansion != null)
@@ -143981,7 +149523,7 @@
                     this.additionalBindings = [];
                     if (properties)
                         for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                            if (properties[keys[i]] != null)
+                            if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                 this[keys[i]] = properties[keys[i]];
                 }
     
@@ -144151,9 +149693,13 @@
                  * @throws {Error} If the payload is not a reader or valid buffer
                  * @throws {$protobuf.util.ProtocolError} If required fields are missing
                  */
-                HttpRule.decode = function decode(reader, length, error) {
+                HttpRule.decode = function decode(reader, length, error, long) {
                     if (!(reader instanceof $Reader))
                         reader = $Reader.create(reader);
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $Reader.recursionLimit)
+                        throw Error("maximum nesting depth exceeded");
                     var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.HttpRule();
                     while (reader.pos < end) {
                         var tag = reader.uint32();
@@ -144185,7 +149731,7 @@
                                 break;
                             }
                         case 8: {
-                                message.custom = $root.google.api.CustomHttpPattern.decode(reader, reader.uint32());
+                                message.custom = $root.google.api.CustomHttpPattern.decode(reader, reader.uint32(), undefined, long + 1);
                                 break;
                             }
                         case 7: {
@@ -144199,11 +149745,11 @@
                         case 11: {
                                 if (!(message.additionalBindings && message.additionalBindings.length))
                                     message.additionalBindings = [];
-                                message.additionalBindings.push($root.google.api.HttpRule.decode(reader, reader.uint32()));
+                                message.additionalBindings.push($root.google.api.HttpRule.decode(reader, reader.uint32(), undefined, long + 1));
                                 break;
                             }
                         default:
-                            reader.skipType(tag & 7);
+                            reader.skipType(tag & 7, long);
                             break;
                         }
                     }
@@ -144234,9 +149780,13 @@
                  * @param {Object.<string,*>} message Plain object to verify
                  * @returns {string|null} `null` if valid, otherwise the reason why it is not
                  */
-                HttpRule.verify = function verify(message) {
+                HttpRule.verify = function verify(message, long) {
                     if (typeof message !== "object" || message === null)
                         return "object expected";
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $util.recursionLimit)
+                        return "maximum nesting depth exceeded";
                     var properties = {};
                     if (message.selector != null && message.hasOwnProperty("selector"))
                         if (!$util.isString(message.selector))
@@ -144279,7 +149829,7 @@
                             return "pattern: multiple values";
                         properties.pattern = 1;
                         {
-                            var error = $root.google.api.CustomHttpPattern.verify(message.custom);
+                            var error = $root.google.api.CustomHttpPattern.verify(message.custom, long + 1);
                             if (error)
                                 return "custom." + error;
                         }
@@ -144294,7 +149844,7 @@
                         if (!Array.isArray(message.additionalBindings))
                             return "additionalBindings: array expected";
                         for (var i = 0; i < message.additionalBindings.length; ++i) {
-                            var error = $root.google.api.HttpRule.verify(message.additionalBindings[i]);
+                            var error = $root.google.api.HttpRule.verify(message.additionalBindings[i], long + 1);
                             if (error)
                                 return "additionalBindings." + error;
                         }
@@ -144310,9 +149860,13 @@
                  * @param {Object.<string,*>} object Plain object
                  * @returns {google.api.HttpRule} HttpRule
                  */
-                HttpRule.fromObject = function fromObject(object) {
+                HttpRule.fromObject = function fromObject(object, long) {
                     if (object instanceof $root.google.api.HttpRule)
                         return object;
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $util.recursionLimit)
+                        throw Error("maximum nesting depth exceeded");
                     var message = new $root.google.api.HttpRule();
                     if (object.selector != null)
                         message.selector = String(object.selector);
@@ -144329,7 +149883,7 @@
                     if (object.custom != null) {
                         if (typeof object.custom !== "object")
                             throw TypeError(".google.api.HttpRule.custom: object expected");
-                        message.custom = $root.google.api.CustomHttpPattern.fromObject(object.custom);
+                        message.custom = $root.google.api.CustomHttpPattern.fromObject(object.custom, long + 1);
                     }
                     if (object.body != null)
                         message.body = String(object.body);
@@ -144342,7 +149896,7 @@
                         for (var i = 0; i < object.additionalBindings.length; ++i) {
                             if (typeof object.additionalBindings[i] !== "object")
                                 throw TypeError(".google.api.HttpRule.additionalBindings: object expected");
-                            message.additionalBindings[i] = $root.google.api.HttpRule.fromObject(object.additionalBindings[i]);
+                            message.additionalBindings[i] = $root.google.api.HttpRule.fromObject(object.additionalBindings[i], long + 1);
                         }
                     }
                     return message;
@@ -144462,7 +150016,7 @@
                 function CustomHttpPattern(properties) {
                     if (properties)
                         for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                            if (properties[keys[i]] != null)
+                            if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                 this[keys[i]] = properties[keys[i]];
                 }
     
@@ -144537,9 +150091,13 @@
                  * @throws {Error} If the payload is not a reader or valid buffer
                  * @throws {$protobuf.util.ProtocolError} If required fields are missing
                  */
-                CustomHttpPattern.decode = function decode(reader, length, error) {
+                CustomHttpPattern.decode = function decode(reader, length, error, long) {
                     if (!(reader instanceof $Reader))
                         reader = $Reader.create(reader);
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $Reader.recursionLimit)
+                        throw Error("maximum nesting depth exceeded");
                     var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.CustomHttpPattern();
                     while (reader.pos < end) {
                         var tag = reader.uint32();
@@ -144555,7 +150113,7 @@
                                 break;
                             }
                         default:
-                            reader.skipType(tag & 7);
+                            reader.skipType(tag & 7, long);
                             break;
                         }
                     }
@@ -144586,9 +150144,13 @@
                  * @param {Object.<string,*>} message Plain object to verify
                  * @returns {string|null} `null` if valid, otherwise the reason why it is not
                  */
-                CustomHttpPattern.verify = function verify(message) {
+                CustomHttpPattern.verify = function verify(message, long) {
                     if (typeof message !== "object" || message === null)
                         return "object expected";
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $util.recursionLimit)
+                        return "maximum nesting depth exceeded";
                     if (message.kind != null && message.hasOwnProperty("kind"))
                         if (!$util.isString(message.kind))
                             return "kind: string expected";
@@ -144606,9 +150168,13 @@
                  * @param {Object.<string,*>} object Plain object
                  * @returns {google.api.CustomHttpPattern} CustomHttpPattern
                  */
-                CustomHttpPattern.fromObject = function fromObject(object) {
+                CustomHttpPattern.fromObject = function fromObject(object, long) {
                     if (object instanceof $root.google.api.CustomHttpPattern)
                         return object;
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $util.recursionLimit)
+                        throw Error("maximum nesting depth exceeded");
                     var message = new $root.google.api.CustomHttpPattern();
                     if (object.kind != null)
                         message.kind = String(object.kind);
@@ -144678,6 +150244,7 @@
                  * @interface ICommonLanguageSettings
                  * @property {string|null} [referenceDocsUri] CommonLanguageSettings referenceDocsUri
                  * @property {Array.<google.api.ClientLibraryDestination>|null} [destinations] CommonLanguageSettings destinations
+                 * @property {google.api.ISelectiveGapicGeneration|null} [selectiveGapicGeneration] CommonLanguageSettings selectiveGapicGeneration
                  */
     
                 /**
@@ -144692,7 +150259,7 @@
                     this.destinations = [];
                     if (properties)
                         for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                            if (properties[keys[i]] != null)
+                            if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                 this[keys[i]] = properties[keys[i]];
                 }
     
@@ -144712,6 +150279,14 @@
                  */
                 CommonLanguageSettings.prototype.destinations = $util.emptyArray;
     
+                /**
+                 * CommonLanguageSettings selectiveGapicGeneration.
+                 * @member {google.api.ISelectiveGapicGeneration|null|undefined} selectiveGapicGeneration
+                 * @memberof google.api.CommonLanguageSettings
+                 * @instance
+                 */
+                CommonLanguageSettings.prototype.selectiveGapicGeneration = null;
+    
                 /**
                  * Creates a new CommonLanguageSettings instance using the specified properties.
                  * @function create
@@ -144744,6 +150319,8 @@
                             writer.int32(message.destinations[i]);
                         writer.ldelim();
                     }
+                    if (message.selectiveGapicGeneration != null && Object.hasOwnProperty.call(message, "selectiveGapicGeneration"))
+                        $root.google.api.SelectiveGapicGeneration.encode(message.selectiveGapicGeneration, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();
                     return writer;
                 };
     
@@ -144771,9 +150348,13 @@
                  * @throws {Error} If the payload is not a reader or valid buffer
                  * @throws {$protobuf.util.ProtocolError} If required fields are missing
                  */
-                CommonLanguageSettings.decode = function decode(reader, length, error) {
+                CommonLanguageSettings.decode = function decode(reader, length, error, long) {
                     if (!(reader instanceof $Reader))
                         reader = $Reader.create(reader);
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $Reader.recursionLimit)
+                        throw Error("maximum nesting depth exceeded");
                     var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.CommonLanguageSettings();
                     while (reader.pos < end) {
                         var tag = reader.uint32();
@@ -144795,8 +150376,12 @@
                                     message.destinations.push(reader.int32());
                                 break;
                             }
+                        case 3: {
+                                message.selectiveGapicGeneration = $root.google.api.SelectiveGapicGeneration.decode(reader, reader.uint32(), undefined, long + 1);
+                                break;
+                            }
                         default:
-                            reader.skipType(tag & 7);
+                            reader.skipType(tag & 7, long);
                             break;
                         }
                     }
@@ -144827,9 +150412,13 @@
                  * @param {Object.<string,*>} message Plain object to verify
                  * @returns {string|null} `null` if valid, otherwise the reason why it is not
                  */
-                CommonLanguageSettings.verify = function verify(message) {
+                CommonLanguageSettings.verify = function verify(message, long) {
                     if (typeof message !== "object" || message === null)
                         return "object expected";
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $util.recursionLimit)
+                        return "maximum nesting depth exceeded";
                     if (message.referenceDocsUri != null && message.hasOwnProperty("referenceDocsUri"))
                         if (!$util.isString(message.referenceDocsUri))
                             return "referenceDocsUri: string expected";
@@ -144846,6 +150435,11 @@
                                 break;
                             }
                     }
+                    if (message.selectiveGapicGeneration != null && message.hasOwnProperty("selectiveGapicGeneration")) {
+                        var error = $root.google.api.SelectiveGapicGeneration.verify(message.selectiveGapicGeneration, long + 1);
+                        if (error)
+                            return "selectiveGapicGeneration." + error;
+                    }
                     return null;
                 };
     
@@ -144857,9 +150451,13 @@
                  * @param {Object.<string,*>} object Plain object
                  * @returns {google.api.CommonLanguageSettings} CommonLanguageSettings
                  */
-                CommonLanguageSettings.fromObject = function fromObject(object) {
+                CommonLanguageSettings.fromObject = function fromObject(object, long) {
                     if (object instanceof $root.google.api.CommonLanguageSettings)
                         return object;
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $util.recursionLimit)
+                        throw Error("maximum nesting depth exceeded");
                     var message = new $root.google.api.CommonLanguageSettings();
                     if (object.referenceDocsUri != null)
                         message.referenceDocsUri = String(object.referenceDocsUri);
@@ -144888,6 +150486,11 @@
                                 break;
                             }
                     }
+                    if (object.selectiveGapicGeneration != null) {
+                        if (typeof object.selectiveGapicGeneration !== "object")
+                            throw TypeError(".google.api.CommonLanguageSettings.selectiveGapicGeneration: object expected");
+                        message.selectiveGapicGeneration = $root.google.api.SelectiveGapicGeneration.fromObject(object.selectiveGapicGeneration, long + 1);
+                    }
                     return message;
                 };
     
@@ -144906,8 +150509,10 @@
                     var object = {};
                     if (options.arrays || options.defaults)
                         object.destinations = [];
-                    if (options.defaults)
+                    if (options.defaults) {
                         object.referenceDocsUri = "";
+                        object.selectiveGapicGeneration = null;
+                    }
                     if (message.referenceDocsUri != null && message.hasOwnProperty("referenceDocsUri"))
                         object.referenceDocsUri = message.referenceDocsUri;
                     if (message.destinations && message.destinations.length) {
@@ -144915,6 +150520,8 @@
                         for (var j = 0; j < message.destinations.length; ++j)
                             object.destinations[j] = options.enums === String ? $root.google.api.ClientLibraryDestination[message.destinations[j]] === undefined ? message.destinations[j] : $root.google.api.ClientLibraryDestination[message.destinations[j]] : message.destinations[j];
                     }
+                    if (message.selectiveGapicGeneration != null && message.hasOwnProperty("selectiveGapicGeneration"))
+                        object.selectiveGapicGeneration = $root.google.api.SelectiveGapicGeneration.toObject(message.selectiveGapicGeneration, options);
                     return object;
                 };
     
@@ -144977,7 +150584,7 @@
                 function ClientLibrarySettings(properties) {
                     if (properties)
                         for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                            if (properties[keys[i]] != null)
+                            if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                 this[keys[i]] = properties[keys[i]];
                 }
     
@@ -145142,9 +150749,13 @@
                  * @throws {Error} If the payload is not a reader or valid buffer
                  * @throws {$protobuf.util.ProtocolError} If required fields are missing
                  */
-                ClientLibrarySettings.decode = function decode(reader, length, error) {
+                ClientLibrarySettings.decode = function decode(reader, length, error, long) {
                     if (!(reader instanceof $Reader))
                         reader = $Reader.create(reader);
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $Reader.recursionLimit)
+                        throw Error("maximum nesting depth exceeded");
                     var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.ClientLibrarySettings();
                     while (reader.pos < end) {
                         var tag = reader.uint32();
@@ -145164,39 +150775,39 @@
                                 break;
                             }
                         case 21: {
-                                message.javaSettings = $root.google.api.JavaSettings.decode(reader, reader.uint32());
+                                message.javaSettings = $root.google.api.JavaSettings.decode(reader, reader.uint32(), undefined, long + 1);
                                 break;
                             }
                         case 22: {
-                                message.cppSettings = $root.google.api.CppSettings.decode(reader, reader.uint32());
+                                message.cppSettings = $root.google.api.CppSettings.decode(reader, reader.uint32(), undefined, long + 1);
                                 break;
                             }
                         case 23: {
-                                message.phpSettings = $root.google.api.PhpSettings.decode(reader, reader.uint32());
+                                message.phpSettings = $root.google.api.PhpSettings.decode(reader, reader.uint32(), undefined, long + 1);
                                 break;
                             }
                         case 24: {
-                                message.pythonSettings = $root.google.api.PythonSettings.decode(reader, reader.uint32());
+                                message.pythonSettings = $root.google.api.PythonSettings.decode(reader, reader.uint32(), undefined, long + 1);
                                 break;
                             }
                         case 25: {
-                                message.nodeSettings = $root.google.api.NodeSettings.decode(reader, reader.uint32());
+                                message.nodeSettings = $root.google.api.NodeSettings.decode(reader, reader.uint32(), undefined, long + 1);
                                 break;
                             }
                         case 26: {
-                                message.dotnetSettings = $root.google.api.DotnetSettings.decode(reader, reader.uint32());
+                                message.dotnetSettings = $root.google.api.DotnetSettings.decode(reader, reader.uint32(), undefined, long + 1);
                                 break;
                             }
                         case 27: {
-                                message.rubySettings = $root.google.api.RubySettings.decode(reader, reader.uint32());
+                                message.rubySettings = $root.google.api.RubySettings.decode(reader, reader.uint32(), undefined, long + 1);
                                 break;
                             }
                         case 28: {
-                                message.goSettings = $root.google.api.GoSettings.decode(reader, reader.uint32());
+                                message.goSettings = $root.google.api.GoSettings.decode(reader, reader.uint32(), undefined, long + 1);
                                 break;
                             }
                         default:
-                            reader.skipType(tag & 7);
+                            reader.skipType(tag & 7, long);
                             break;
                         }
                     }
@@ -145227,9 +150838,13 @@
                  * @param {Object.<string,*>} message Plain object to verify
                  * @returns {string|null} `null` if valid, otherwise the reason why it is not
                  */
-                ClientLibrarySettings.verify = function verify(message) {
+                ClientLibrarySettings.verify = function verify(message, long) {
                     if (typeof message !== "object" || message === null)
                         return "object expected";
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $util.recursionLimit)
+                        return "maximum nesting depth exceeded";
                     if (message.version != null && message.hasOwnProperty("version"))
                         if (!$util.isString(message.version))
                             return "version: string expected";
@@ -145251,42 +150866,42 @@
                         if (typeof message.restNumericEnums !== "boolean")
                             return "restNumericEnums: boolean expected";
                     if (message.javaSettings != null && message.hasOwnProperty("javaSettings")) {
-                        var error = $root.google.api.JavaSettings.verify(message.javaSettings);
+                        var error = $root.google.api.JavaSettings.verify(message.javaSettings, long + 1);
                         if (error)
                             return "javaSettings." + error;
                     }
                     if (message.cppSettings != null && message.hasOwnProperty("cppSettings")) {
-                        var error = $root.google.api.CppSettings.verify(message.cppSettings);
+                        var error = $root.google.api.CppSettings.verify(message.cppSettings, long + 1);
                         if (error)
                             return "cppSettings." + error;
                     }
                     if (message.phpSettings != null && message.hasOwnProperty("phpSettings")) {
-                        var error = $root.google.api.PhpSettings.verify(message.phpSettings);
+                        var error = $root.google.api.PhpSettings.verify(message.phpSettings, long + 1);
                         if (error)
                             return "phpSettings." + error;
                     }
                     if (message.pythonSettings != null && message.hasOwnProperty("pythonSettings")) {
-                        var error = $root.google.api.PythonSettings.verify(message.pythonSettings);
+                        var error = $root.google.api.PythonSettings.verify(message.pythonSettings, long + 1);
                         if (error)
                             return "pythonSettings." + error;
                     }
                     if (message.nodeSettings != null && message.hasOwnProperty("nodeSettings")) {
-                        var error = $root.google.api.NodeSettings.verify(message.nodeSettings);
+                        var error = $root.google.api.NodeSettings.verify(message.nodeSettings, long + 1);
                         if (error)
                             return "nodeSettings." + error;
                     }
                     if (message.dotnetSettings != null && message.hasOwnProperty("dotnetSettings")) {
-                        var error = $root.google.api.DotnetSettings.verify(message.dotnetSettings);
+                        var error = $root.google.api.DotnetSettings.verify(message.dotnetSettings, long + 1);
                         if (error)
                             return "dotnetSettings." + error;
                     }
                     if (message.rubySettings != null && message.hasOwnProperty("rubySettings")) {
-                        var error = $root.google.api.RubySettings.verify(message.rubySettings);
+                        var error = $root.google.api.RubySettings.verify(message.rubySettings, long + 1);
                         if (error)
                             return "rubySettings." + error;
                     }
                     if (message.goSettings != null && message.hasOwnProperty("goSettings")) {
-                        var error = $root.google.api.GoSettings.verify(message.goSettings);
+                        var error = $root.google.api.GoSettings.verify(message.goSettings, long + 1);
                         if (error)
                             return "goSettings." + error;
                     }
@@ -145301,9 +150916,13 @@
                  * @param {Object.<string,*>} object Plain object
                  * @returns {google.api.ClientLibrarySettings} ClientLibrarySettings
                  */
-                ClientLibrarySettings.fromObject = function fromObject(object) {
+                ClientLibrarySettings.fromObject = function fromObject(object, long) {
                     if (object instanceof $root.google.api.ClientLibrarySettings)
                         return object;
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $util.recursionLimit)
+                        throw Error("maximum nesting depth exceeded");
                     var message = new $root.google.api.ClientLibrarySettings();
                     if (object.version != null)
                         message.version = String(object.version);
@@ -145352,42 +150971,42 @@
                     if (object.javaSettings != null) {
                         if (typeof object.javaSettings !== "object")
                             throw TypeError(".google.api.ClientLibrarySettings.javaSettings: object expected");
-                        message.javaSettings = $root.google.api.JavaSettings.fromObject(object.javaSettings);
+                        message.javaSettings = $root.google.api.JavaSettings.fromObject(object.javaSettings, long + 1);
                     }
                     if (object.cppSettings != null) {
                         if (typeof object.cppSettings !== "object")
                             throw TypeError(".google.api.ClientLibrarySettings.cppSettings: object expected");
-                        message.cppSettings = $root.google.api.CppSettings.fromObject(object.cppSettings);
+                        message.cppSettings = $root.google.api.CppSettings.fromObject(object.cppSettings, long + 1);
                     }
                     if (object.phpSettings != null) {
                         if (typeof object.phpSettings !== "object")
                             throw TypeError(".google.api.ClientLibrarySettings.phpSettings: object expected");
-                        message.phpSettings = $root.google.api.PhpSettings.fromObject(object.phpSettings);
+                        message.phpSettings = $root.google.api.PhpSettings.fromObject(object.phpSettings, long + 1);
                     }
                     if (object.pythonSettings != null) {
                         if (typeof object.pythonSettings !== "object")
                             throw TypeError(".google.api.ClientLibrarySettings.pythonSettings: object expected");
-                        message.pythonSettings = $root.google.api.PythonSettings.fromObject(object.pythonSettings);
+                        message.pythonSettings = $root.google.api.PythonSettings.fromObject(object.pythonSettings, long + 1);
                     }
                     if (object.nodeSettings != null) {
                         if (typeof object.nodeSettings !== "object")
                             throw TypeError(".google.api.ClientLibrarySettings.nodeSettings: object expected");
-                        message.nodeSettings = $root.google.api.NodeSettings.fromObject(object.nodeSettings);
+                        message.nodeSettings = $root.google.api.NodeSettings.fromObject(object.nodeSettings, long + 1);
                     }
                     if (object.dotnetSettings != null) {
                         if (typeof object.dotnetSettings !== "object")
                             throw TypeError(".google.api.ClientLibrarySettings.dotnetSettings: object expected");
-                        message.dotnetSettings = $root.google.api.DotnetSettings.fromObject(object.dotnetSettings);
+                        message.dotnetSettings = $root.google.api.DotnetSettings.fromObject(object.dotnetSettings, long + 1);
                     }
                     if (object.rubySettings != null) {
                         if (typeof object.rubySettings !== "object")
                             throw TypeError(".google.api.ClientLibrarySettings.rubySettings: object expected");
-                        message.rubySettings = $root.google.api.RubySettings.fromObject(object.rubySettings);
+                        message.rubySettings = $root.google.api.RubySettings.fromObject(object.rubySettings, long + 1);
                     }
                     if (object.goSettings != null) {
                         if (typeof object.goSettings !== "object")
                             throw TypeError(".google.api.ClientLibrarySettings.goSettings: object expected");
-                        message.goSettings = $root.google.api.GoSettings.fromObject(object.goSettings);
+                        message.goSettings = $root.google.api.GoSettings.fromObject(object.goSettings, long + 1);
                     }
                     return message;
                 };
@@ -145505,7 +151124,7 @@
                     this.librarySettings = [];
                     if (properties)
                         for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                            if (properties[keys[i]] != null)
+                            if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                 this[keys[i]] = properties[keys[i]];
                 }
     
@@ -145673,9 +151292,13 @@
                  * @throws {Error} If the payload is not a reader or valid buffer
                  * @throws {$protobuf.util.ProtocolError} If required fields are missing
                  */
-                Publishing.decode = function decode(reader, length, error) {
+                Publishing.decode = function decode(reader, length, error, long) {
                     if (!(reader instanceof $Reader))
                         reader = $Reader.create(reader);
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $Reader.recursionLimit)
+                        throw Error("maximum nesting depth exceeded");
                     var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.Publishing();
                     while (reader.pos < end) {
                         var tag = reader.uint32();
@@ -145685,7 +151308,7 @@
                         case 2: {
                                 if (!(message.methodSettings && message.methodSettings.length))
                                     message.methodSettings = [];
-                                message.methodSettings.push($root.google.api.MethodSettings.decode(reader, reader.uint32()));
+                                message.methodSettings.push($root.google.api.MethodSettings.decode(reader, reader.uint32(), undefined, long + 1));
                                 break;
                             }
                         case 101: {
@@ -145721,7 +151344,7 @@
                         case 109: {
                                 if (!(message.librarySettings && message.librarySettings.length))
                                     message.librarySettings = [];
-                                message.librarySettings.push($root.google.api.ClientLibrarySettings.decode(reader, reader.uint32()));
+                                message.librarySettings.push($root.google.api.ClientLibrarySettings.decode(reader, reader.uint32(), undefined, long + 1));
                                 break;
                             }
                         case 110: {
@@ -145733,7 +151356,7 @@
                                 break;
                             }
                         default:
-                            reader.skipType(tag & 7);
+                            reader.skipType(tag & 7, long);
                             break;
                         }
                     }
@@ -145764,14 +151387,18 @@
                  * @param {Object.<string,*>} message Plain object to verify
                  * @returns {string|null} `null` if valid, otherwise the reason why it is not
                  */
-                Publishing.verify = function verify(message) {
+                Publishing.verify = function verify(message, long) {
                     if (typeof message !== "object" || message === null)
                         return "object expected";
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $util.recursionLimit)
+                        return "maximum nesting depth exceeded";
                     if (message.methodSettings != null && message.hasOwnProperty("methodSettings")) {
                         if (!Array.isArray(message.methodSettings))
                             return "methodSettings: array expected";
                         for (var i = 0; i < message.methodSettings.length; ++i) {
-                            var error = $root.google.api.MethodSettings.verify(message.methodSettings[i]);
+                            var error = $root.google.api.MethodSettings.verify(message.methodSettings[i], long + 1);
                             if (error)
                                 return "methodSettings." + error;
                         }
@@ -145816,7 +151443,7 @@
                         if (!Array.isArray(message.librarySettings))
                             return "librarySettings: array expected";
                         for (var i = 0; i < message.librarySettings.length; ++i) {
-                            var error = $root.google.api.ClientLibrarySettings.verify(message.librarySettings[i]);
+                            var error = $root.google.api.ClientLibrarySettings.verify(message.librarySettings[i], long + 1);
                             if (error)
                                 return "librarySettings." + error;
                         }
@@ -145838,9 +151465,13 @@
                  * @param {Object.<string,*>} object Plain object
                  * @returns {google.api.Publishing} Publishing
                  */
-                Publishing.fromObject = function fromObject(object) {
+                Publishing.fromObject = function fromObject(object, long) {
                     if (object instanceof $root.google.api.Publishing)
                         return object;
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $util.recursionLimit)
+                        throw Error("maximum nesting depth exceeded");
                     var message = new $root.google.api.Publishing();
                     if (object.methodSettings) {
                         if (!Array.isArray(object.methodSettings))
@@ -145849,7 +151480,7 @@
                         for (var i = 0; i < object.methodSettings.length; ++i) {
                             if (typeof object.methodSettings[i] !== "object")
                                 throw TypeError(".google.api.Publishing.methodSettings: object expected");
-                            message.methodSettings[i] = $root.google.api.MethodSettings.fromObject(object.methodSettings[i]);
+                            message.methodSettings[i] = $root.google.api.MethodSettings.fromObject(object.methodSettings[i], long + 1);
                         }
                     }
                     if (object.newIssueUri != null)
@@ -145916,7 +151547,7 @@
                         for (var i = 0; i < object.librarySettings.length; ++i) {
                             if (typeof object.librarySettings[i] !== "object")
                                 throw TypeError(".google.api.Publishing.librarySettings: object expected");
-                            message.librarySettings[i] = $root.google.api.ClientLibrarySettings.fromObject(object.librarySettings[i]);
+                            message.librarySettings[i] = $root.google.api.ClientLibrarySettings.fromObject(object.librarySettings[i], long + 1);
                         }
                     }
                     if (object.protoReferenceDocumentationUri != null)
@@ -146040,7 +151671,7 @@
                     this.serviceClassNames = {};
                     if (properties)
                         for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                            if (properties[keys[i]] != null)
+                            if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                 this[keys[i]] = properties[keys[i]];
                 }
     
@@ -146126,9 +151757,13 @@
                  * @throws {Error} If the payload is not a reader or valid buffer
                  * @throws {$protobuf.util.ProtocolError} If required fields are missing
                  */
-                JavaSettings.decode = function decode(reader, length, error) {
+                JavaSettings.decode = function decode(reader, length, error, long) {
                     if (!(reader instanceof $Reader))
                         reader = $Reader.create(reader);
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $Reader.recursionLimit)
+                        throw Error("maximum nesting depth exceeded");
                     var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.JavaSettings(), key, value;
                     while (reader.pos < end) {
                         var tag = reader.uint32();
@@ -146155,19 +151790,21 @@
                                         value = reader.string();
                                         break;
                                     default:
-                                        reader.skipType(tag2 & 7);
+                                        reader.skipType(tag2 & 7, long);
                                         break;
                                     }
                                 }
+                                if (key === "__proto__")
+                                    $util.makeProp(message.serviceClassNames, key);
                                 message.serviceClassNames[key] = value;
                                 break;
                             }
                         case 3: {
-                                message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32());
+                                message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32(), undefined, long + 1);
                                 break;
                             }
                         default:
-                            reader.skipType(tag & 7);
+                            reader.skipType(tag & 7, long);
                             break;
                         }
                     }
@@ -146198,9 +151835,13 @@
                  * @param {Object.<string,*>} message Plain object to verify
                  * @returns {string|null} `null` if valid, otherwise the reason why it is not
                  */
-                JavaSettings.verify = function verify(message) {
+                JavaSettings.verify = function verify(message, long) {
                     if (typeof message !== "object" || message === null)
                         return "object expected";
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $util.recursionLimit)
+                        return "maximum nesting depth exceeded";
                     if (message.libraryPackage != null && message.hasOwnProperty("libraryPackage"))
                         if (!$util.isString(message.libraryPackage))
                             return "libraryPackage: string expected";
@@ -146213,7 +151854,7 @@
                                 return "serviceClassNames: string{k:string} expected";
                     }
                     if (message.common != null && message.hasOwnProperty("common")) {
-                        var error = $root.google.api.CommonLanguageSettings.verify(message.common);
+                        var error = $root.google.api.CommonLanguageSettings.verify(message.common, long + 1);
                         if (error)
                             return "common." + error;
                     }
@@ -146228,9 +151869,13 @@
                  * @param {Object.<string,*>} object Plain object
                  * @returns {google.api.JavaSettings} JavaSettings
                  */
-                JavaSettings.fromObject = function fromObject(object) {
+                JavaSettings.fromObject = function fromObject(object, long) {
                     if (object instanceof $root.google.api.JavaSettings)
                         return object;
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $util.recursionLimit)
+                        throw Error("maximum nesting depth exceeded");
                     var message = new $root.google.api.JavaSettings();
                     if (object.libraryPackage != null)
                         message.libraryPackage = String(object.libraryPackage);
@@ -146238,13 +151883,16 @@
                         if (typeof object.serviceClassNames !== "object")
                             throw TypeError(".google.api.JavaSettings.serviceClassNames: object expected");
                         message.serviceClassNames = {};
-                        for (var keys = Object.keys(object.serviceClassNames), i = 0; i < keys.length; ++i)
+                        for (var keys = Object.keys(object.serviceClassNames), i = 0; i < keys.length; ++i) {
+                            if (keys[i] === "__proto__")
+                                $util.makeProp(message.serviceClassNames, keys[i]);
                             message.serviceClassNames[keys[i]] = String(object.serviceClassNames[keys[i]]);
+                        }
                     }
                     if (object.common != null) {
                         if (typeof object.common !== "object")
                             throw TypeError(".google.api.JavaSettings.common: object expected");
-                        message.common = $root.google.api.CommonLanguageSettings.fromObject(object.common);
+                        message.common = $root.google.api.CommonLanguageSettings.fromObject(object.common, long + 1);
                     }
                     return message;
                 };
@@ -146273,8 +151921,11 @@
                     var keys2;
                     if (message.serviceClassNames && (keys2 = Object.keys(message.serviceClassNames)).length) {
                         object.serviceClassNames = {};
-                        for (var j = 0; j < keys2.length; ++j)
+                        for (var j = 0; j < keys2.length; ++j) {
+                            if (keys2[j] === "__proto__")
+                                $util.makeProp(object.serviceClassNames, keys2[j]);
                             object.serviceClassNames[keys2[j]] = message.serviceClassNames[keys2[j]];
+                        }
                     }
                     if (message.common != null && message.hasOwnProperty("common"))
                         object.common = $root.google.api.CommonLanguageSettings.toObject(message.common, options);
@@ -146330,7 +151981,7 @@
                 function CppSettings(properties) {
                     if (properties)
                         for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                            if (properties[keys[i]] != null)
+                            if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                 this[keys[i]] = properties[keys[i]];
                 }
     
@@ -146395,9 +152046,13 @@
                  * @throws {Error} If the payload is not a reader or valid buffer
                  * @throws {$protobuf.util.ProtocolError} If required fields are missing
                  */
-                CppSettings.decode = function decode(reader, length, error) {
+                CppSettings.decode = function decode(reader, length, error, long) {
                     if (!(reader instanceof $Reader))
                         reader = $Reader.create(reader);
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $Reader.recursionLimit)
+                        throw Error("maximum nesting depth exceeded");
                     var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.CppSettings();
                     while (reader.pos < end) {
                         var tag = reader.uint32();
@@ -146405,11 +152060,11 @@
                             break;
                         switch (tag >>> 3) {
                         case 1: {
-                                message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32());
+                                message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32(), undefined, long + 1);
                                 break;
                             }
                         default:
-                            reader.skipType(tag & 7);
+                            reader.skipType(tag & 7, long);
                             break;
                         }
                     }
@@ -146440,11 +152095,15 @@
                  * @param {Object.<string,*>} message Plain object to verify
                  * @returns {string|null} `null` if valid, otherwise the reason why it is not
                  */
-                CppSettings.verify = function verify(message) {
+                CppSettings.verify = function verify(message, long) {
                     if (typeof message !== "object" || message === null)
                         return "object expected";
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $util.recursionLimit)
+                        return "maximum nesting depth exceeded";
                     if (message.common != null && message.hasOwnProperty("common")) {
-                        var error = $root.google.api.CommonLanguageSettings.verify(message.common);
+                        var error = $root.google.api.CommonLanguageSettings.verify(message.common, long + 1);
                         if (error)
                             return "common." + error;
                     }
@@ -146459,14 +152118,18 @@
                  * @param {Object.<string,*>} object Plain object
                  * @returns {google.api.CppSettings} CppSettings
                  */
-                CppSettings.fromObject = function fromObject(object) {
+                CppSettings.fromObject = function fromObject(object, long) {
                     if (object instanceof $root.google.api.CppSettings)
                         return object;
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $util.recursionLimit)
+                        throw Error("maximum nesting depth exceeded");
                     var message = new $root.google.api.CppSettings();
                     if (object.common != null) {
                         if (typeof object.common !== "object")
                             throw TypeError(".google.api.CppSettings.common: object expected");
-                        message.common = $root.google.api.CommonLanguageSettings.fromObject(object.common);
+                        message.common = $root.google.api.CommonLanguageSettings.fromObject(object.common, long + 1);
                     }
                     return message;
                 };
@@ -146540,7 +152203,7 @@
                 function PhpSettings(properties) {
                     if (properties)
                         for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                            if (properties[keys[i]] != null)
+                            if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                 this[keys[i]] = properties[keys[i]];
                 }
     
@@ -146605,9 +152268,13 @@
                  * @throws {Error} If the payload is not a reader or valid buffer
                  * @throws {$protobuf.util.ProtocolError} If required fields are missing
                  */
-                PhpSettings.decode = function decode(reader, length, error) {
+                PhpSettings.decode = function decode(reader, length, error, long) {
                     if (!(reader instanceof $Reader))
                         reader = $Reader.create(reader);
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $Reader.recursionLimit)
+                        throw Error("maximum nesting depth exceeded");
                     var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.PhpSettings();
                     while (reader.pos < end) {
                         var tag = reader.uint32();
@@ -146615,11 +152282,11 @@
                             break;
                         switch (tag >>> 3) {
                         case 1: {
-                                message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32());
+                                message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32(), undefined, long + 1);
                                 break;
                             }
                         default:
-                            reader.skipType(tag & 7);
+                            reader.skipType(tag & 7, long);
                             break;
                         }
                     }
@@ -146650,11 +152317,15 @@
                  * @param {Object.<string,*>} message Plain object to verify
                  * @returns {string|null} `null` if valid, otherwise the reason why it is not
                  */
-                PhpSettings.verify = function verify(message) {
+                PhpSettings.verify = function verify(message, long) {
                     if (typeof message !== "object" || message === null)
                         return "object expected";
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $util.recursionLimit)
+                        return "maximum nesting depth exceeded";
                     if (message.common != null && message.hasOwnProperty("common")) {
-                        var error = $root.google.api.CommonLanguageSettings.verify(message.common);
+                        var error = $root.google.api.CommonLanguageSettings.verify(message.common, long + 1);
                         if (error)
                             return "common." + error;
                     }
@@ -146669,14 +152340,18 @@
                  * @param {Object.<string,*>} object Plain object
                  * @returns {google.api.PhpSettings} PhpSettings
                  */
-                PhpSettings.fromObject = function fromObject(object) {
+                PhpSettings.fromObject = function fromObject(object, long) {
                     if (object instanceof $root.google.api.PhpSettings)
                         return object;
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $util.recursionLimit)
+                        throw Error("maximum nesting depth exceeded");
                     var message = new $root.google.api.PhpSettings();
                     if (object.common != null) {
                         if (typeof object.common !== "object")
                             throw TypeError(".google.api.PhpSettings.common: object expected");
-                        message.common = $root.google.api.CommonLanguageSettings.fromObject(object.common);
+                        message.common = $root.google.api.CommonLanguageSettings.fromObject(object.common, long + 1);
                     }
                     return message;
                 };
@@ -146737,6 +152412,7 @@
                  * @memberof google.api
                  * @interface IPythonSettings
                  * @property {google.api.ICommonLanguageSettings|null} [common] PythonSettings common
+                 * @property {google.api.PythonSettings.IExperimentalFeatures|null} [experimentalFeatures] PythonSettings experimentalFeatures
                  */
     
                 /**
@@ -146750,7 +152426,7 @@
                 function PythonSettings(properties) {
                     if (properties)
                         for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                            if (properties[keys[i]] != null)
+                            if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                 this[keys[i]] = properties[keys[i]];
                 }
     
@@ -146762,6 +152438,14 @@
                  */
                 PythonSettings.prototype.common = null;
     
+                /**
+                 * PythonSettings experimentalFeatures.
+                 * @member {google.api.PythonSettings.IExperimentalFeatures|null|undefined} experimentalFeatures
+                 * @memberof google.api.PythonSettings
+                 * @instance
+                 */
+                PythonSettings.prototype.experimentalFeatures = null;
+    
                 /**
                  * Creates a new PythonSettings instance using the specified properties.
                  * @function create
@@ -146788,6 +152472,8 @@
                         writer = $Writer.create();
                     if (message.common != null && Object.hasOwnProperty.call(message, "common"))
                         $root.google.api.CommonLanguageSettings.encode(message.common, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+                    if (message.experimentalFeatures != null && Object.hasOwnProperty.call(message, "experimentalFeatures"))
+                        $root.google.api.PythonSettings.ExperimentalFeatures.encode(message.experimentalFeatures, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
                     return writer;
                 };
     
@@ -146815,9 +152501,13 @@
                  * @throws {Error} If the payload is not a reader or valid buffer
                  * @throws {$protobuf.util.ProtocolError} If required fields are missing
                  */
-                PythonSettings.decode = function decode(reader, length, error) {
+                PythonSettings.decode = function decode(reader, length, error, long) {
                     if (!(reader instanceof $Reader))
                         reader = $Reader.create(reader);
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $Reader.recursionLimit)
+                        throw Error("maximum nesting depth exceeded");
                     var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.PythonSettings();
                     while (reader.pos < end) {
                         var tag = reader.uint32();
@@ -146825,11 +152515,15 @@
                             break;
                         switch (tag >>> 3) {
                         case 1: {
-                                message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32());
+                                message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32(), undefined, long + 1);
+                                break;
+                            }
+                        case 2: {
+                                message.experimentalFeatures = $root.google.api.PythonSettings.ExperimentalFeatures.decode(reader, reader.uint32(), undefined, long + 1);
                                 break;
                             }
                         default:
-                            reader.skipType(tag & 7);
+                            reader.skipType(tag & 7, long);
                             break;
                         }
                     }
@@ -146860,14 +152554,23 @@
                  * @param {Object.<string,*>} message Plain object to verify
                  * @returns {string|null} `null` if valid, otherwise the reason why it is not
                  */
-                PythonSettings.verify = function verify(message) {
+                PythonSettings.verify = function verify(message, long) {
                     if (typeof message !== "object" || message === null)
                         return "object expected";
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $util.recursionLimit)
+                        return "maximum nesting depth exceeded";
                     if (message.common != null && message.hasOwnProperty("common")) {
-                        var error = $root.google.api.CommonLanguageSettings.verify(message.common);
+                        var error = $root.google.api.CommonLanguageSettings.verify(message.common, long + 1);
                         if (error)
                             return "common." + error;
                     }
+                    if (message.experimentalFeatures != null && message.hasOwnProperty("experimentalFeatures")) {
+                        var error = $root.google.api.PythonSettings.ExperimentalFeatures.verify(message.experimentalFeatures, long + 1);
+                        if (error)
+                            return "experimentalFeatures." + error;
+                    }
                     return null;
                 };
     
@@ -146879,14 +152582,23 @@
                  * @param {Object.<string,*>} object Plain object
                  * @returns {google.api.PythonSettings} PythonSettings
                  */
-                PythonSettings.fromObject = function fromObject(object) {
+                PythonSettings.fromObject = function fromObject(object, long) {
                     if (object instanceof $root.google.api.PythonSettings)
                         return object;
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $util.recursionLimit)
+                        throw Error("maximum nesting depth exceeded");
                     var message = new $root.google.api.PythonSettings();
                     if (object.common != null) {
                         if (typeof object.common !== "object")
                             throw TypeError(".google.api.PythonSettings.common: object expected");
-                        message.common = $root.google.api.CommonLanguageSettings.fromObject(object.common);
+                        message.common = $root.google.api.CommonLanguageSettings.fromObject(object.common, long + 1);
+                    }
+                    if (object.experimentalFeatures != null) {
+                        if (typeof object.experimentalFeatures !== "object")
+                            throw TypeError(".google.api.PythonSettings.experimentalFeatures: object expected");
+                        message.experimentalFeatures = $root.google.api.PythonSettings.ExperimentalFeatures.fromObject(object.experimentalFeatures, long + 1);
                     }
                     return message;
                 };
@@ -146904,10 +152616,14 @@
                     if (!options)
                         options = {};
                     var object = {};
-                    if (options.defaults)
+                    if (options.defaults) {
                         object.common = null;
+                        object.experimentalFeatures = null;
+                    }
                     if (message.common != null && message.hasOwnProperty("common"))
                         object.common = $root.google.api.CommonLanguageSettings.toObject(message.common, options);
+                    if (message.experimentalFeatures != null && message.hasOwnProperty("experimentalFeatures"))
+                        object.experimentalFeatures = $root.google.api.PythonSettings.ExperimentalFeatures.toObject(message.experimentalFeatures, options);
                     return object;
                 };
     
@@ -146937,6 +152653,270 @@
                     return typeUrlPrefix + "/google.api.PythonSettings";
                 };
     
+                PythonSettings.ExperimentalFeatures = (function() {
+    
+                    /**
+                     * Properties of an ExperimentalFeatures.
+                     * @memberof google.api.PythonSettings
+                     * @interface IExperimentalFeatures
+                     * @property {boolean|null} [restAsyncIoEnabled] ExperimentalFeatures restAsyncIoEnabled
+                     * @property {boolean|null} [protobufPythonicTypesEnabled] ExperimentalFeatures protobufPythonicTypesEnabled
+                     * @property {boolean|null} [unversionedPackageDisabled] ExperimentalFeatures unversionedPackageDisabled
+                     */
+    
+                    /**
+                     * Constructs a new ExperimentalFeatures.
+                     * @memberof google.api.PythonSettings
+                     * @classdesc Represents an ExperimentalFeatures.
+                     * @implements IExperimentalFeatures
+                     * @constructor
+                     * @param {google.api.PythonSettings.IExperimentalFeatures=} [properties] Properties to set
+                     */
+                    function ExperimentalFeatures(properties) {
+                        if (properties)
+                            for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+                                if (properties[keys[i]] != null && keys[i] !== "__proto__")
+                                    this[keys[i]] = properties[keys[i]];
+                    }
+    
+                    /**
+                     * ExperimentalFeatures restAsyncIoEnabled.
+                     * @member {boolean} restAsyncIoEnabled
+                     * @memberof google.api.PythonSettings.ExperimentalFeatures
+                     * @instance
+                     */
+                    ExperimentalFeatures.prototype.restAsyncIoEnabled = false;
+    
+                    /**
+                     * ExperimentalFeatures protobufPythonicTypesEnabled.
+                     * @member {boolean} protobufPythonicTypesEnabled
+                     * @memberof google.api.PythonSettings.ExperimentalFeatures
+                     * @instance
+                     */
+                    ExperimentalFeatures.prototype.protobufPythonicTypesEnabled = false;
+    
+                    /**
+                     * ExperimentalFeatures unversionedPackageDisabled.
+                     * @member {boolean} unversionedPackageDisabled
+                     * @memberof google.api.PythonSettings.ExperimentalFeatures
+                     * @instance
+                     */
+                    ExperimentalFeatures.prototype.unversionedPackageDisabled = false;
+    
+                    /**
+                     * Creates a new ExperimentalFeatures instance using the specified properties.
+                     * @function create
+                     * @memberof google.api.PythonSettings.ExperimentalFeatures
+                     * @static
+                     * @param {google.api.PythonSettings.IExperimentalFeatures=} [properties] Properties to set
+                     * @returns {google.api.PythonSettings.ExperimentalFeatures} ExperimentalFeatures instance
+                     */
+                    ExperimentalFeatures.create = function create(properties) {
+                        return new ExperimentalFeatures(properties);
+                    };
+    
+                    /**
+                     * Encodes the specified ExperimentalFeatures message. Does not implicitly {@link google.api.PythonSettings.ExperimentalFeatures.verify|verify} messages.
+                     * @function encode
+                     * @memberof google.api.PythonSettings.ExperimentalFeatures
+                     * @static
+                     * @param {google.api.PythonSettings.IExperimentalFeatures} message ExperimentalFeatures message or plain object to encode
+                     * @param {$protobuf.Writer} [writer] Writer to encode to
+                     * @returns {$protobuf.Writer} Writer
+                     */
+                    ExperimentalFeatures.encode = function encode(message, writer) {
+                        if (!writer)
+                            writer = $Writer.create();
+                        if (message.restAsyncIoEnabled != null && Object.hasOwnProperty.call(message, "restAsyncIoEnabled"))
+                            writer.uint32(/* id 1, wireType 0 =*/8).bool(message.restAsyncIoEnabled);
+                        if (message.protobufPythonicTypesEnabled != null && Object.hasOwnProperty.call(message, "protobufPythonicTypesEnabled"))
+                            writer.uint32(/* id 2, wireType 0 =*/16).bool(message.protobufPythonicTypesEnabled);
+                        if (message.unversionedPackageDisabled != null && Object.hasOwnProperty.call(message, "unversionedPackageDisabled"))
+                            writer.uint32(/* id 3, wireType 0 =*/24).bool(message.unversionedPackageDisabled);
+                        return writer;
+                    };
+    
+                    /**
+                     * Encodes the specified ExperimentalFeatures message, length delimited. Does not implicitly {@link google.api.PythonSettings.ExperimentalFeatures.verify|verify} messages.
+                     * @function encodeDelimited
+                     * @memberof google.api.PythonSettings.ExperimentalFeatures
+                     * @static
+                     * @param {google.api.PythonSettings.IExperimentalFeatures} message ExperimentalFeatures message or plain object to encode
+                     * @param {$protobuf.Writer} [writer] Writer to encode to
+                     * @returns {$protobuf.Writer} Writer
+                     */
+                    ExperimentalFeatures.encodeDelimited = function encodeDelimited(message, writer) {
+                        return this.encode(message, writer).ldelim();
+                    };
+    
+                    /**
+                     * Decodes an ExperimentalFeatures message from the specified reader or buffer.
+                     * @function decode
+                     * @memberof google.api.PythonSettings.ExperimentalFeatures
+                     * @static
+                     * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+                     * @param {number} [length] Message length if known beforehand
+                     * @returns {google.api.PythonSettings.ExperimentalFeatures} ExperimentalFeatures
+                     * @throws {Error} If the payload is not a reader or valid buffer
+                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
+                     */
+                    ExperimentalFeatures.decode = function decode(reader, length, error, long) {
+                        if (!(reader instanceof $Reader))
+                            reader = $Reader.create(reader);
+                        if (long === undefined)
+                            long = 0;
+                        if (long > $Reader.recursionLimit)
+                            throw Error("maximum nesting depth exceeded");
+                        var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.PythonSettings.ExperimentalFeatures();
+                        while (reader.pos < end) {
+                            var tag = reader.uint32();
+                            if (tag === error)
+                                break;
+                            switch (tag >>> 3) {
+                            case 1: {
+                                    message.restAsyncIoEnabled = reader.bool();
+                                    break;
+                                }
+                            case 2: {
+                                    message.protobufPythonicTypesEnabled = reader.bool();
+                                    break;
+                                }
+                            case 3: {
+                                    message.unversionedPackageDisabled = reader.bool();
+                                    break;
+                                }
+                            default:
+                                reader.skipType(tag & 7, long);
+                                break;
+                            }
+                        }
+                        return message;
+                    };
+    
+                    /**
+                     * Decodes an ExperimentalFeatures message from the specified reader or buffer, length delimited.
+                     * @function decodeDelimited
+                     * @memberof google.api.PythonSettings.ExperimentalFeatures
+                     * @static
+                     * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+                     * @returns {google.api.PythonSettings.ExperimentalFeatures} ExperimentalFeatures
+                     * @throws {Error} If the payload is not a reader or valid buffer
+                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
+                     */
+                    ExperimentalFeatures.decodeDelimited = function decodeDelimited(reader) {
+                        if (!(reader instanceof $Reader))
+                            reader = new $Reader(reader);
+                        return this.decode(reader, reader.uint32());
+                    };
+    
+                    /**
+                     * Verifies an ExperimentalFeatures message.
+                     * @function verify
+                     * @memberof google.api.PythonSettings.ExperimentalFeatures
+                     * @static
+                     * @param {Object.<string,*>} message Plain object to verify
+                     * @returns {string|null} `null` if valid, otherwise the reason why it is not
+                     */
+                    ExperimentalFeatures.verify = function verify(message, long) {
+                        if (typeof message !== "object" || message === null)
+                            return "object expected";
+                        if (long === undefined)
+                            long = 0;
+                        if (long > $util.recursionLimit)
+                            return "maximum nesting depth exceeded";
+                        if (message.restAsyncIoEnabled != null && message.hasOwnProperty("restAsyncIoEnabled"))
+                            if (typeof message.restAsyncIoEnabled !== "boolean")
+                                return "restAsyncIoEnabled: boolean expected";
+                        if (message.protobufPythonicTypesEnabled != null && message.hasOwnProperty("protobufPythonicTypesEnabled"))
+                            if (typeof message.protobufPythonicTypesEnabled !== "boolean")
+                                return "protobufPythonicTypesEnabled: boolean expected";
+                        if (message.unversionedPackageDisabled != null && message.hasOwnProperty("unversionedPackageDisabled"))
+                            if (typeof message.unversionedPackageDisabled !== "boolean")
+                                return "unversionedPackageDisabled: boolean expected";
+                        return null;
+                    };
+    
+                    /**
+                     * Creates an ExperimentalFeatures message from a plain object. Also converts values to their respective internal types.
+                     * @function fromObject
+                     * @memberof google.api.PythonSettings.ExperimentalFeatures
+                     * @static
+                     * @param {Object.<string,*>} object Plain object
+                     * @returns {google.api.PythonSettings.ExperimentalFeatures} ExperimentalFeatures
+                     */
+                    ExperimentalFeatures.fromObject = function fromObject(object, long) {
+                        if (object instanceof $root.google.api.PythonSettings.ExperimentalFeatures)
+                            return object;
+                        if (long === undefined)
+                            long = 0;
+                        if (long > $util.recursionLimit)
+                            throw Error("maximum nesting depth exceeded");
+                        var message = new $root.google.api.PythonSettings.ExperimentalFeatures();
+                        if (object.restAsyncIoEnabled != null)
+                            message.restAsyncIoEnabled = Boolean(object.restAsyncIoEnabled);
+                        if (object.protobufPythonicTypesEnabled != null)
+                            message.protobufPythonicTypesEnabled = Boolean(object.protobufPythonicTypesEnabled);
+                        if (object.unversionedPackageDisabled != null)
+                            message.unversionedPackageDisabled = Boolean(object.unversionedPackageDisabled);
+                        return message;
+                    };
+    
+                    /**
+                     * Creates a plain object from an ExperimentalFeatures message. Also converts values to other types if specified.
+                     * @function toObject
+                     * @memberof google.api.PythonSettings.ExperimentalFeatures
+                     * @static
+                     * @param {google.api.PythonSettings.ExperimentalFeatures} message ExperimentalFeatures
+                     * @param {$protobuf.IConversionOptions} [options] Conversion options
+                     * @returns {Object.<string,*>} Plain object
+                     */
+                    ExperimentalFeatures.toObject = function toObject(message, options) {
+                        if (!options)
+                            options = {};
+                        var object = {};
+                        if (options.defaults) {
+                            object.restAsyncIoEnabled = false;
+                            object.protobufPythonicTypesEnabled = false;
+                            object.unversionedPackageDisabled = false;
+                        }
+                        if (message.restAsyncIoEnabled != null && message.hasOwnProperty("restAsyncIoEnabled"))
+                            object.restAsyncIoEnabled = message.restAsyncIoEnabled;
+                        if (message.protobufPythonicTypesEnabled != null && message.hasOwnProperty("protobufPythonicTypesEnabled"))
+                            object.protobufPythonicTypesEnabled = message.protobufPythonicTypesEnabled;
+                        if (message.unversionedPackageDisabled != null && message.hasOwnProperty("unversionedPackageDisabled"))
+                            object.unversionedPackageDisabled = message.unversionedPackageDisabled;
+                        return object;
+                    };
+    
+                    /**
+                     * Converts this ExperimentalFeatures to JSON.
+                     * @function toJSON
+                     * @memberof google.api.PythonSettings.ExperimentalFeatures
+                     * @instance
+                     * @returns {Object.<string,*>} JSON object
+                     */
+                    ExperimentalFeatures.prototype.toJSON = function toJSON() {
+                        return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+                    };
+    
+                    /**
+                     * Gets the default type url for ExperimentalFeatures
+                     * @function getTypeUrl
+                     * @memberof google.api.PythonSettings.ExperimentalFeatures
+                     * @static
+                     * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+                     * @returns {string} The default type url
+                     */
+                    ExperimentalFeatures.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+                        if (typeUrlPrefix === undefined) {
+                            typeUrlPrefix = "type.googleapis.com";
+                        }
+                        return typeUrlPrefix + "/google.api.PythonSettings.ExperimentalFeatures";
+                    };
+    
+                    return ExperimentalFeatures;
+                })();
+    
                 return PythonSettings;
             })();
     
@@ -146960,7 +152940,7 @@
                 function NodeSettings(properties) {
                     if (properties)
                         for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                            if (properties[keys[i]] != null)
+                            if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                 this[keys[i]] = properties[keys[i]];
                 }
     
@@ -147025,9 +153005,13 @@
                  * @throws {Error} If the payload is not a reader or valid buffer
                  * @throws {$protobuf.util.ProtocolError} If required fields are missing
                  */
-                NodeSettings.decode = function decode(reader, length, error) {
+                NodeSettings.decode = function decode(reader, length, error, long) {
                     if (!(reader instanceof $Reader))
                         reader = $Reader.create(reader);
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $Reader.recursionLimit)
+                        throw Error("maximum nesting depth exceeded");
                     var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.NodeSettings();
                     while (reader.pos < end) {
                         var tag = reader.uint32();
@@ -147035,11 +153019,11 @@
                             break;
                         switch (tag >>> 3) {
                         case 1: {
-                                message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32());
+                                message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32(), undefined, long + 1);
                                 break;
                             }
                         default:
-                            reader.skipType(tag & 7);
+                            reader.skipType(tag & 7, long);
                             break;
                         }
                     }
@@ -147070,11 +153054,15 @@
                  * @param {Object.<string,*>} message Plain object to verify
                  * @returns {string|null} `null` if valid, otherwise the reason why it is not
                  */
-                NodeSettings.verify = function verify(message) {
+                NodeSettings.verify = function verify(message, long) {
                     if (typeof message !== "object" || message === null)
                         return "object expected";
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $util.recursionLimit)
+                        return "maximum nesting depth exceeded";
                     if (message.common != null && message.hasOwnProperty("common")) {
-                        var error = $root.google.api.CommonLanguageSettings.verify(message.common);
+                        var error = $root.google.api.CommonLanguageSettings.verify(message.common, long + 1);
                         if (error)
                             return "common." + error;
                     }
@@ -147089,14 +153077,18 @@
                  * @param {Object.<string,*>} object Plain object
                  * @returns {google.api.NodeSettings} NodeSettings
                  */
-                NodeSettings.fromObject = function fromObject(object) {
+                NodeSettings.fromObject = function fromObject(object, long) {
                     if (object instanceof $root.google.api.NodeSettings)
                         return object;
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $util.recursionLimit)
+                        throw Error("maximum nesting depth exceeded");
                     var message = new $root.google.api.NodeSettings();
                     if (object.common != null) {
                         if (typeof object.common !== "object")
                             throw TypeError(".google.api.NodeSettings.common: object expected");
-                        message.common = $root.google.api.CommonLanguageSettings.fromObject(object.common);
+                        message.common = $root.google.api.CommonLanguageSettings.fromObject(object.common, long + 1);
                     }
                     return message;
                 };
@@ -147180,7 +153172,7 @@
                     this.handwrittenSignatures = [];
                     if (properties)
                         for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                            if (properties[keys[i]] != null)
+                            if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                 this[keys[i]] = properties[keys[i]];
                 }
     
@@ -147300,9 +153292,13 @@
                  * @throws {Error} If the payload is not a reader or valid buffer
                  * @throws {$protobuf.util.ProtocolError} If required fields are missing
                  */
-                DotnetSettings.decode = function decode(reader, length, error) {
+                DotnetSettings.decode = function decode(reader, length, error, long) {
                     if (!(reader instanceof $Reader))
                         reader = $Reader.create(reader);
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $Reader.recursionLimit)
+                        throw Error("maximum nesting depth exceeded");
                     var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.DotnetSettings(), key, value;
                     while (reader.pos < end) {
                         var tag = reader.uint32();
@@ -147310,7 +153306,7 @@
                             break;
                         switch (tag >>> 3) {
                         case 1: {
-                                message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32());
+                                message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32(), undefined, long + 1);
                                 break;
                             }
                         case 2: {
@@ -147329,10 +153325,12 @@
                                         value = reader.string();
                                         break;
                                     default:
-                                        reader.skipType(tag2 & 7);
+                                        reader.skipType(tag2 & 7, long);
                                         break;
                                     }
                                 }
+                                if (key === "__proto__")
+                                    $util.makeProp(message.renamedServices, key);
                                 message.renamedServices[key] = value;
                                 break;
                             }
@@ -147352,10 +153350,12 @@
                                         value = reader.string();
                                         break;
                                     default:
-                                        reader.skipType(tag2 & 7);
+                                        reader.skipType(tag2 & 7, long);
                                         break;
                                     }
                                 }
+                                if (key === "__proto__")
+                                    $util.makeProp(message.renamedResources, key);
                                 message.renamedResources[key] = value;
                                 break;
                             }
@@ -147378,7 +153378,7 @@
                                 break;
                             }
                         default:
-                            reader.skipType(tag & 7);
+                            reader.skipType(tag & 7, long);
                             break;
                         }
                     }
@@ -147409,11 +153409,15 @@
                  * @param {Object.<string,*>} message Plain object to verify
                  * @returns {string|null} `null` if valid, otherwise the reason why it is not
                  */
-                DotnetSettings.verify = function verify(message) {
+                DotnetSettings.verify = function verify(message, long) {
                     if (typeof message !== "object" || message === null)
                         return "object expected";
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $util.recursionLimit)
+                        return "maximum nesting depth exceeded";
                     if (message.common != null && message.hasOwnProperty("common")) {
-                        var error = $root.google.api.CommonLanguageSettings.verify(message.common);
+                        var error = $root.google.api.CommonLanguageSettings.verify(message.common, long + 1);
                         if (error)
                             return "common." + error;
                     }
@@ -147465,28 +153469,38 @@
                  * @param {Object.<string,*>} object Plain object
                  * @returns {google.api.DotnetSettings} DotnetSettings
                  */
-                DotnetSettings.fromObject = function fromObject(object) {
+                DotnetSettings.fromObject = function fromObject(object, long) {
                     if (object instanceof $root.google.api.DotnetSettings)
                         return object;
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $util.recursionLimit)
+                        throw Error("maximum nesting depth exceeded");
                     var message = new $root.google.api.DotnetSettings();
                     if (object.common != null) {
                         if (typeof object.common !== "object")
                             throw TypeError(".google.api.DotnetSettings.common: object expected");
-                        message.common = $root.google.api.CommonLanguageSettings.fromObject(object.common);
+                        message.common = $root.google.api.CommonLanguageSettings.fromObject(object.common, long + 1);
                     }
                     if (object.renamedServices) {
                         if (typeof object.renamedServices !== "object")
                             throw TypeError(".google.api.DotnetSettings.renamedServices: object expected");
                         message.renamedServices = {};
-                        for (var keys = Object.keys(object.renamedServices), i = 0; i < keys.length; ++i)
+                        for (var keys = Object.keys(object.renamedServices), i = 0; i < keys.length; ++i) {
+                            if (keys[i] === "__proto__")
+                                $util.makeProp(message.renamedServices, keys[i]);
                             message.renamedServices[keys[i]] = String(object.renamedServices[keys[i]]);
+                        }
                     }
                     if (object.renamedResources) {
                         if (typeof object.renamedResources !== "object")
                             throw TypeError(".google.api.DotnetSettings.renamedResources: object expected");
                         message.renamedResources = {};
-                        for (var keys = Object.keys(object.renamedResources), i = 0; i < keys.length; ++i)
+                        for (var keys = Object.keys(object.renamedResources), i = 0; i < keys.length; ++i) {
+                            if (keys[i] === "__proto__")
+                                $util.makeProp(message.renamedResources, keys[i]);
                             message.renamedResources[keys[i]] = String(object.renamedResources[keys[i]]);
+                        }
                     }
                     if (object.ignoredResources) {
                         if (!Array.isArray(object.ignoredResources))
@@ -147541,13 +153555,19 @@
                     var keys2;
                     if (message.renamedServices && (keys2 = Object.keys(message.renamedServices)).length) {
                         object.renamedServices = {};
-                        for (var j = 0; j < keys2.length; ++j)
+                        for (var j = 0; j < keys2.length; ++j) {
+                            if (keys2[j] === "__proto__")
+                                $util.makeProp(object.renamedServices, keys2[j]);
                             object.renamedServices[keys2[j]] = message.renamedServices[keys2[j]];
+                        }
                     }
                     if (message.renamedResources && (keys2 = Object.keys(message.renamedResources)).length) {
                         object.renamedResources = {};
-                        for (var j = 0; j < keys2.length; ++j)
+                        for (var j = 0; j < keys2.length; ++j) {
+                            if (keys2[j] === "__proto__")
+                                $util.makeProp(object.renamedResources, keys2[j]);
                             object.renamedResources[keys2[j]] = message.renamedResources[keys2[j]];
+                        }
                     }
                     if (message.ignoredResources && message.ignoredResources.length) {
                         object.ignoredResources = [];
@@ -147616,7 +153636,7 @@
                 function RubySettings(properties) {
                     if (properties)
                         for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                            if (properties[keys[i]] != null)
+                            if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                 this[keys[i]] = properties[keys[i]];
                 }
     
@@ -147681,9 +153701,13 @@
                  * @throws {Error} If the payload is not a reader or valid buffer
                  * @throws {$protobuf.util.ProtocolError} If required fields are missing
                  */
-                RubySettings.decode = function decode(reader, length, error) {
+                RubySettings.decode = function decode(reader, length, error, long) {
                     if (!(reader instanceof $Reader))
                         reader = $Reader.create(reader);
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $Reader.recursionLimit)
+                        throw Error("maximum nesting depth exceeded");
                     var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.RubySettings();
                     while (reader.pos < end) {
                         var tag = reader.uint32();
@@ -147691,11 +153715,11 @@
                             break;
                         switch (tag >>> 3) {
                         case 1: {
-                                message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32());
+                                message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32(), undefined, long + 1);
                                 break;
                             }
                         default:
-                            reader.skipType(tag & 7);
+                            reader.skipType(tag & 7, long);
                             break;
                         }
                     }
@@ -147726,11 +153750,15 @@
                  * @param {Object.<string,*>} message Plain object to verify
                  * @returns {string|null} `null` if valid, otherwise the reason why it is not
                  */
-                RubySettings.verify = function verify(message) {
+                RubySettings.verify = function verify(message, long) {
                     if (typeof message !== "object" || message === null)
                         return "object expected";
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $util.recursionLimit)
+                        return "maximum nesting depth exceeded";
                     if (message.common != null && message.hasOwnProperty("common")) {
-                        var error = $root.google.api.CommonLanguageSettings.verify(message.common);
+                        var error = $root.google.api.CommonLanguageSettings.verify(message.common, long + 1);
                         if (error)
                             return "common." + error;
                     }
@@ -147745,14 +153773,18 @@
                  * @param {Object.<string,*>} object Plain object
                  * @returns {google.api.RubySettings} RubySettings
                  */
-                RubySettings.fromObject = function fromObject(object) {
+                RubySettings.fromObject = function fromObject(object, long) {
                     if (object instanceof $root.google.api.RubySettings)
                         return object;
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $util.recursionLimit)
+                        throw Error("maximum nesting depth exceeded");
                     var message = new $root.google.api.RubySettings();
                     if (object.common != null) {
                         if (typeof object.common !== "object")
                             throw TypeError(".google.api.RubySettings.common: object expected");
-                        message.common = $root.google.api.CommonLanguageSettings.fromObject(object.common);
+                        message.common = $root.google.api.CommonLanguageSettings.fromObject(object.common, long + 1);
                     }
                     return message;
                 };
@@ -147813,6 +153845,7 @@
                  * @memberof google.api
                  * @interface IGoSettings
                  * @property {google.api.ICommonLanguageSettings|null} [common] GoSettings common
+                 * @property {Object.<string,string>|null} [renamedServices] GoSettings renamedServices
                  */
     
                 /**
@@ -147824,9 +153857,10 @@
                  * @param {google.api.IGoSettings=} [properties] Properties to set
                  */
                 function GoSettings(properties) {
+                    this.renamedServices = {};
                     if (properties)
                         for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                            if (properties[keys[i]] != null)
+                            if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                 this[keys[i]] = properties[keys[i]];
                 }
     
@@ -147838,6 +153872,14 @@
                  */
                 GoSettings.prototype.common = null;
     
+                /**
+                 * GoSettings renamedServices.
+                 * @member {Object.<string,string>} renamedServices
+                 * @memberof google.api.GoSettings
+                 * @instance
+                 */
+                GoSettings.prototype.renamedServices = $util.emptyObject;
+    
                 /**
                  * Creates a new GoSettings instance using the specified properties.
                  * @function create
@@ -147864,6 +153906,9 @@
                         writer = $Writer.create();
                     if (message.common != null && Object.hasOwnProperty.call(message, "common"))
                         $root.google.api.CommonLanguageSettings.encode(message.common, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+                    if (message.renamedServices != null && Object.hasOwnProperty.call(message, "renamedServices"))
+                        for (var keys = Object.keys(message.renamedServices), i = 0; i < keys.length; ++i)
+                            writer.uint32(/* id 2, wireType 2 =*/18).fork().uint32(/* id 1, wireType 2 =*/10).string(keys[i]).uint32(/* id 2, wireType 2 =*/18).string(message.renamedServices[keys[i]]).ldelim();
                     return writer;
                 };
     
@@ -147891,21 +153936,50 @@
                  * @throws {Error} If the payload is not a reader or valid buffer
                  * @throws {$protobuf.util.ProtocolError} If required fields are missing
                  */
-                GoSettings.decode = function decode(reader, length, error) {
+                GoSettings.decode = function decode(reader, length, error, long) {
                     if (!(reader instanceof $Reader))
                         reader = $Reader.create(reader);
-                    var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.GoSettings();
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $Reader.recursionLimit)
+                        throw Error("maximum nesting depth exceeded");
+                    var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.GoSettings(), key, value;
                     while (reader.pos < end) {
                         var tag = reader.uint32();
                         if (tag === error)
                             break;
                         switch (tag >>> 3) {
                         case 1: {
-                                message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32());
+                                message.common = $root.google.api.CommonLanguageSettings.decode(reader, reader.uint32(), undefined, long + 1);
+                                break;
+                            }
+                        case 2: {
+                                if (message.renamedServices === $util.emptyObject)
+                                    message.renamedServices = {};
+                                var end2 = reader.uint32() + reader.pos;
+                                key = "";
+                                value = "";
+                                while (reader.pos < end2) {
+                                    var tag2 = reader.uint32();
+                                    switch (tag2 >>> 3) {
+                                    case 1:
+                                        key = reader.string();
+                                        break;
+                                    case 2:
+                                        value = reader.string();
+                                        break;
+                                    default:
+                                        reader.skipType(tag2 & 7, long);
+                                        break;
+                                    }
+                                }
+                                if (key === "__proto__")
+                                    $util.makeProp(message.renamedServices, key);
+                                message.renamedServices[key] = value;
                                 break;
                             }
                         default:
-                            reader.skipType(tag & 7);
+                            reader.skipType(tag & 7, long);
                             break;
                         }
                     }
@@ -147936,14 +154010,26 @@
                  * @param {Object.<string,*>} message Plain object to verify
                  * @returns {string|null} `null` if valid, otherwise the reason why it is not
                  */
-                GoSettings.verify = function verify(message) {
+                GoSettings.verify = function verify(message, long) {
                     if (typeof message !== "object" || message === null)
                         return "object expected";
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $util.recursionLimit)
+                        return "maximum nesting depth exceeded";
                     if (message.common != null && message.hasOwnProperty("common")) {
-                        var error = $root.google.api.CommonLanguageSettings.verify(message.common);
+                        var error = $root.google.api.CommonLanguageSettings.verify(message.common, long + 1);
                         if (error)
                             return "common." + error;
                     }
+                    if (message.renamedServices != null && message.hasOwnProperty("renamedServices")) {
+                        if (!$util.isObject(message.renamedServices))
+                            return "renamedServices: object expected";
+                        var key = Object.keys(message.renamedServices);
+                        for (var i = 0; i < key.length; ++i)
+                            if (!$util.isString(message.renamedServices[key[i]]))
+                                return "renamedServices: string{k:string} expected";
+                    }
                     return null;
                 };
     
@@ -147955,14 +154041,28 @@
                  * @param {Object.<string,*>} object Plain object
                  * @returns {google.api.GoSettings} GoSettings
                  */
-                GoSettings.fromObject = function fromObject(object) {
+                GoSettings.fromObject = function fromObject(object, long) {
                     if (object instanceof $root.google.api.GoSettings)
                         return object;
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $util.recursionLimit)
+                        throw Error("maximum nesting depth exceeded");
                     var message = new $root.google.api.GoSettings();
                     if (object.common != null) {
                         if (typeof object.common !== "object")
                             throw TypeError(".google.api.GoSettings.common: object expected");
-                        message.common = $root.google.api.CommonLanguageSettings.fromObject(object.common);
+                        message.common = $root.google.api.CommonLanguageSettings.fromObject(object.common, long + 1);
+                    }
+                    if (object.renamedServices) {
+                        if (typeof object.renamedServices !== "object")
+                            throw TypeError(".google.api.GoSettings.renamedServices: object expected");
+                        message.renamedServices = {};
+                        for (var keys = Object.keys(object.renamedServices), i = 0; i < keys.length; ++i) {
+                            if (keys[i] === "__proto__")
+                                $util.makeProp(message.renamedServices, keys[i]);
+                            message.renamedServices[keys[i]] = String(object.renamedServices[keys[i]]);
+                        }
                     }
                     return message;
                 };
@@ -147980,10 +154080,21 @@
                     if (!options)
                         options = {};
                     var object = {};
+                    if (options.objects || options.defaults)
+                        object.renamedServices = {};
                     if (options.defaults)
                         object.common = null;
                     if (message.common != null && message.hasOwnProperty("common"))
                         object.common = $root.google.api.CommonLanguageSettings.toObject(message.common, options);
+                    var keys2;
+                    if (message.renamedServices && (keys2 = Object.keys(message.renamedServices)).length) {
+                        object.renamedServices = {};
+                        for (var j = 0; j < keys2.length; ++j) {
+                            if (keys2[j] === "__proto__")
+                                $util.makeProp(object.renamedServices, keys2[j]);
+                            object.renamedServices[keys2[j]] = message.renamedServices[keys2[j]];
+                        }
+                    }
                     return object;
                 };
     
@@ -148039,7 +154150,7 @@
                     this.autoPopulatedFields = [];
                     if (properties)
                         for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                            if (properties[keys[i]] != null)
+                            if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                 this[keys[i]] = properties[keys[i]];
                 }
     
@@ -148125,9 +154236,13 @@
                  * @throws {Error} If the payload is not a reader or valid buffer
                  * @throws {$protobuf.util.ProtocolError} If required fields are missing
                  */
-                MethodSettings.decode = function decode(reader, length, error) {
+                MethodSettings.decode = function decode(reader, length, error, long) {
                     if (!(reader instanceof $Reader))
                         reader = $Reader.create(reader);
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $Reader.recursionLimit)
+                        throw Error("maximum nesting depth exceeded");
                     var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.MethodSettings();
                     while (reader.pos < end) {
                         var tag = reader.uint32();
@@ -148139,7 +154254,7 @@
                                 break;
                             }
                         case 2: {
-                                message.longRunning = $root.google.api.MethodSettings.LongRunning.decode(reader, reader.uint32());
+                                message.longRunning = $root.google.api.MethodSettings.LongRunning.decode(reader, reader.uint32(), undefined, long + 1);
                                 break;
                             }
                         case 3: {
@@ -148149,7 +154264,7 @@
                                 break;
                             }
                         default:
-                            reader.skipType(tag & 7);
+                            reader.skipType(tag & 7, long);
                             break;
                         }
                     }
@@ -148180,14 +154295,18 @@
                  * @param {Object.<string,*>} message Plain object to verify
                  * @returns {string|null} `null` if valid, otherwise the reason why it is not
                  */
-                MethodSettings.verify = function verify(message) {
+                MethodSettings.verify = function verify(message, long) {
                     if (typeof message !== "object" || message === null)
                         return "object expected";
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $util.recursionLimit)
+                        return "maximum nesting depth exceeded";
                     if (message.selector != null && message.hasOwnProperty("selector"))
                         if (!$util.isString(message.selector))
                             return "selector: string expected";
                     if (message.longRunning != null && message.hasOwnProperty("longRunning")) {
-                        var error = $root.google.api.MethodSettings.LongRunning.verify(message.longRunning);
+                        var error = $root.google.api.MethodSettings.LongRunning.verify(message.longRunning, long + 1);
                         if (error)
                             return "longRunning." + error;
                     }
@@ -148209,16 +154328,20 @@
                  * @param {Object.<string,*>} object Plain object
                  * @returns {google.api.MethodSettings} MethodSettings
                  */
-                MethodSettings.fromObject = function fromObject(object) {
+                MethodSettings.fromObject = function fromObject(object, long) {
                     if (object instanceof $root.google.api.MethodSettings)
                         return object;
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $util.recursionLimit)
+                        throw Error("maximum nesting depth exceeded");
                     var message = new $root.google.api.MethodSettings();
                     if (object.selector != null)
                         message.selector = String(object.selector);
                     if (object.longRunning != null) {
                         if (typeof object.longRunning !== "object")
                             throw TypeError(".google.api.MethodSettings.longRunning: object expected");
-                        message.longRunning = $root.google.api.MethodSettings.LongRunning.fromObject(object.longRunning);
+                        message.longRunning = $root.google.api.MethodSettings.LongRunning.fromObject(object.longRunning, long + 1);
                     }
                     if (object.autoPopulatedFields) {
                         if (!Array.isArray(object.autoPopulatedFields))
@@ -148310,7 +154433,7 @@
                     function LongRunning(properties) {
                         if (properties)
                             for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                if (properties[keys[i]] != null)
+                                if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                     this[keys[i]] = properties[keys[i]];
                     }
     
@@ -148405,9 +154528,13 @@
                      * @throws {Error} If the payload is not a reader or valid buffer
                      * @throws {$protobuf.util.ProtocolError} If required fields are missing
                      */
-                    LongRunning.decode = function decode(reader, length, error) {
+                    LongRunning.decode = function decode(reader, length, error, long) {
                         if (!(reader instanceof $Reader))
                             reader = $Reader.create(reader);
+                        if (long === undefined)
+                            long = 0;
+                        if (long > $Reader.recursionLimit)
+                            throw Error("maximum nesting depth exceeded");
                         var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.MethodSettings.LongRunning();
                         while (reader.pos < end) {
                             var tag = reader.uint32();
@@ -148415,7 +154542,7 @@
                                 break;
                             switch (tag >>> 3) {
                             case 1: {
-                                    message.initialPollDelay = $root.google.protobuf.Duration.decode(reader, reader.uint32());
+                                    message.initialPollDelay = $root.google.protobuf.Duration.decode(reader, reader.uint32(), undefined, long + 1);
                                     break;
                                 }
                             case 2: {
@@ -148423,15 +154550,15 @@
                                     break;
                                 }
                             case 3: {
-                                    message.maxPollDelay = $root.google.protobuf.Duration.decode(reader, reader.uint32());
+                                    message.maxPollDelay = $root.google.protobuf.Duration.decode(reader, reader.uint32(), undefined, long + 1);
                                     break;
                                 }
                             case 4: {
-                                    message.totalPollTimeout = $root.google.protobuf.Duration.decode(reader, reader.uint32());
+                                    message.totalPollTimeout = $root.google.protobuf.Duration.decode(reader, reader.uint32(), undefined, long + 1);
                                     break;
                                 }
                             default:
-                                reader.skipType(tag & 7);
+                                reader.skipType(tag & 7, long);
                                 break;
                             }
                         }
@@ -148462,11 +154589,15 @@
                      * @param {Object.<string,*>} message Plain object to verify
                      * @returns {string|null} `null` if valid, otherwise the reason why it is not
                      */
-                    LongRunning.verify = function verify(message) {
+                    LongRunning.verify = function verify(message, long) {
                         if (typeof message !== "object" || message === null)
                             return "object expected";
+                        if (long === undefined)
+                            long = 0;
+                        if (long > $util.recursionLimit)
+                            return "maximum nesting depth exceeded";
                         if (message.initialPollDelay != null && message.hasOwnProperty("initialPollDelay")) {
-                            var error = $root.google.protobuf.Duration.verify(message.initialPollDelay);
+                            var error = $root.google.protobuf.Duration.verify(message.initialPollDelay, long + 1);
                             if (error)
                                 return "initialPollDelay." + error;
                         }
@@ -148474,12 +154605,12 @@
                             if (typeof message.pollDelayMultiplier !== "number")
                                 return "pollDelayMultiplier: number expected";
                         if (message.maxPollDelay != null && message.hasOwnProperty("maxPollDelay")) {
-                            var error = $root.google.protobuf.Duration.verify(message.maxPollDelay);
+                            var error = $root.google.protobuf.Duration.verify(message.maxPollDelay, long + 1);
                             if (error)
                                 return "maxPollDelay." + error;
                         }
                         if (message.totalPollTimeout != null && message.hasOwnProperty("totalPollTimeout")) {
-                            var error = $root.google.protobuf.Duration.verify(message.totalPollTimeout);
+                            var error = $root.google.protobuf.Duration.verify(message.totalPollTimeout, long + 1);
                             if (error)
                                 return "totalPollTimeout." + error;
                         }
@@ -148494,26 +154625,30 @@
                      * @param {Object.<string,*>} object Plain object
                      * @returns {google.api.MethodSettings.LongRunning} LongRunning
                      */
-                    LongRunning.fromObject = function fromObject(object) {
+                    LongRunning.fromObject = function fromObject(object, long) {
                         if (object instanceof $root.google.api.MethodSettings.LongRunning)
                             return object;
+                        if (long === undefined)
+                            long = 0;
+                        if (long > $util.recursionLimit)
+                            throw Error("maximum nesting depth exceeded");
                         var message = new $root.google.api.MethodSettings.LongRunning();
                         if (object.initialPollDelay != null) {
                             if (typeof object.initialPollDelay !== "object")
                                 throw TypeError(".google.api.MethodSettings.LongRunning.initialPollDelay: object expected");
-                            message.initialPollDelay = $root.google.protobuf.Duration.fromObject(object.initialPollDelay);
+                            message.initialPollDelay = $root.google.protobuf.Duration.fromObject(object.initialPollDelay, long + 1);
                         }
                         if (object.pollDelayMultiplier != null)
                             message.pollDelayMultiplier = Number(object.pollDelayMultiplier);
                         if (object.maxPollDelay != null) {
                             if (typeof object.maxPollDelay !== "object")
                                 throw TypeError(".google.api.MethodSettings.LongRunning.maxPollDelay: object expected");
-                            message.maxPollDelay = $root.google.protobuf.Duration.fromObject(object.maxPollDelay);
+                            message.maxPollDelay = $root.google.protobuf.Duration.fromObject(object.maxPollDelay, long + 1);
                         }
                         if (object.totalPollTimeout != null) {
                             if (typeof object.totalPollTimeout !== "object")
                                 throw TypeError(".google.api.MethodSettings.LongRunning.totalPollTimeout: object expected");
-                            message.totalPollTimeout = $root.google.protobuf.Duration.fromObject(object.totalPollTimeout);
+                            message.totalPollTimeout = $root.google.protobuf.Duration.fromObject(object.totalPollTimeout, long + 1);
                         }
                         return message;
                     };
@@ -148622,6 +154757,263 @@
                 return values;
             })();
     
+            api.SelectiveGapicGeneration = (function() {
+    
+                /**
+                 * Properties of a SelectiveGapicGeneration.
+                 * @memberof google.api
+                 * @interface ISelectiveGapicGeneration
+                 * @property {Array.<string>|null} [methods] SelectiveGapicGeneration methods
+                 * @property {boolean|null} [generateOmittedAsInternal] SelectiveGapicGeneration generateOmittedAsInternal
+                 */
+    
+                /**
+                 * Constructs a new SelectiveGapicGeneration.
+                 * @memberof google.api
+                 * @classdesc Represents a SelectiveGapicGeneration.
+                 * @implements ISelectiveGapicGeneration
+                 * @constructor
+                 * @param {google.api.ISelectiveGapicGeneration=} [properties] Properties to set
+                 */
+                function SelectiveGapicGeneration(properties) {
+                    this.methods = [];
+                    if (properties)
+                        for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+                            if (properties[keys[i]] != null && keys[i] !== "__proto__")
+                                this[keys[i]] = properties[keys[i]];
+                }
+    
+                /**
+                 * SelectiveGapicGeneration methods.
+                 * @member {Array.<string>} methods
+                 * @memberof google.api.SelectiveGapicGeneration
+                 * @instance
+                 */
+                SelectiveGapicGeneration.prototype.methods = $util.emptyArray;
+    
+                /**
+                 * SelectiveGapicGeneration generateOmittedAsInternal.
+                 * @member {boolean} generateOmittedAsInternal
+                 * @memberof google.api.SelectiveGapicGeneration
+                 * @instance
+                 */
+                SelectiveGapicGeneration.prototype.generateOmittedAsInternal = false;
+    
+                /**
+                 * Creates a new SelectiveGapicGeneration instance using the specified properties.
+                 * @function create
+                 * @memberof google.api.SelectiveGapicGeneration
+                 * @static
+                 * @param {google.api.ISelectiveGapicGeneration=} [properties] Properties to set
+                 * @returns {google.api.SelectiveGapicGeneration} SelectiveGapicGeneration instance
+                 */
+                SelectiveGapicGeneration.create = function create(properties) {
+                    return new SelectiveGapicGeneration(properties);
+                };
+    
+                /**
+                 * Encodes the specified SelectiveGapicGeneration message. Does not implicitly {@link google.api.SelectiveGapicGeneration.verify|verify} messages.
+                 * @function encode
+                 * @memberof google.api.SelectiveGapicGeneration
+                 * @static
+                 * @param {google.api.ISelectiveGapicGeneration} message SelectiveGapicGeneration message or plain object to encode
+                 * @param {$protobuf.Writer} [writer] Writer to encode to
+                 * @returns {$protobuf.Writer} Writer
+                 */
+                SelectiveGapicGeneration.encode = function encode(message, writer) {
+                    if (!writer)
+                        writer = $Writer.create();
+                    if (message.methods != null && message.methods.length)
+                        for (var i = 0; i < message.methods.length; ++i)
+                            writer.uint32(/* id 1, wireType 2 =*/10).string(message.methods[i]);
+                    if (message.generateOmittedAsInternal != null && Object.hasOwnProperty.call(message, "generateOmittedAsInternal"))
+                        writer.uint32(/* id 2, wireType 0 =*/16).bool(message.generateOmittedAsInternal);
+                    return writer;
+                };
+    
+                /**
+                 * Encodes the specified SelectiveGapicGeneration message, length delimited. Does not implicitly {@link google.api.SelectiveGapicGeneration.verify|verify} messages.
+                 * @function encodeDelimited
+                 * @memberof google.api.SelectiveGapicGeneration
+                 * @static
+                 * @param {google.api.ISelectiveGapicGeneration} message SelectiveGapicGeneration message or plain object to encode
+                 * @param {$protobuf.Writer} [writer] Writer to encode to
+                 * @returns {$protobuf.Writer} Writer
+                 */
+                SelectiveGapicGeneration.encodeDelimited = function encodeDelimited(message, writer) {
+                    return this.encode(message, writer).ldelim();
+                };
+    
+                /**
+                 * Decodes a SelectiveGapicGeneration message from the specified reader or buffer.
+                 * @function decode
+                 * @memberof google.api.SelectiveGapicGeneration
+                 * @static
+                 * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+                 * @param {number} [length] Message length if known beforehand
+                 * @returns {google.api.SelectiveGapicGeneration} SelectiveGapicGeneration
+                 * @throws {Error} If the payload is not a reader or valid buffer
+                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
+                 */
+                SelectiveGapicGeneration.decode = function decode(reader, length, error, long) {
+                    if (!(reader instanceof $Reader))
+                        reader = $Reader.create(reader);
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $Reader.recursionLimit)
+                        throw Error("maximum nesting depth exceeded");
+                    var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.SelectiveGapicGeneration();
+                    while (reader.pos < end) {
+                        var tag = reader.uint32();
+                        if (tag === error)
+                            break;
+                        switch (tag >>> 3) {
+                        case 1: {
+                                if (!(message.methods && message.methods.length))
+                                    message.methods = [];
+                                message.methods.push(reader.string());
+                                break;
+                            }
+                        case 2: {
+                                message.generateOmittedAsInternal = reader.bool();
+                                break;
+                            }
+                        default:
+                            reader.skipType(tag & 7, long);
+                            break;
+                        }
+                    }
+                    return message;
+                };
+    
+                /**
+                 * Decodes a SelectiveGapicGeneration message from the specified reader or buffer, length delimited.
+                 * @function decodeDelimited
+                 * @memberof google.api.SelectiveGapicGeneration
+                 * @static
+                 * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+                 * @returns {google.api.SelectiveGapicGeneration} SelectiveGapicGeneration
+                 * @throws {Error} If the payload is not a reader or valid buffer
+                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
+                 */
+                SelectiveGapicGeneration.decodeDelimited = function decodeDelimited(reader) {
+                    if (!(reader instanceof $Reader))
+                        reader = new $Reader(reader);
+                    return this.decode(reader, reader.uint32());
+                };
+    
+                /**
+                 * Verifies a SelectiveGapicGeneration message.
+                 * @function verify
+                 * @memberof google.api.SelectiveGapicGeneration
+                 * @static
+                 * @param {Object.<string,*>} message Plain object to verify
+                 * @returns {string|null} `null` if valid, otherwise the reason why it is not
+                 */
+                SelectiveGapicGeneration.verify = function verify(message, long) {
+                    if (typeof message !== "object" || message === null)
+                        return "object expected";
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $util.recursionLimit)
+                        return "maximum nesting depth exceeded";
+                    if (message.methods != null && message.hasOwnProperty("methods")) {
+                        if (!Array.isArray(message.methods))
+                            return "methods: array expected";
+                        for (var i = 0; i < message.methods.length; ++i)
+                            if (!$util.isString(message.methods[i]))
+                                return "methods: string[] expected";
+                    }
+                    if (message.generateOmittedAsInternal != null && message.hasOwnProperty("generateOmittedAsInternal"))
+                        if (typeof message.generateOmittedAsInternal !== "boolean")
+                            return "generateOmittedAsInternal: boolean expected";
+                    return null;
+                };
+    
+                /**
+                 * Creates a SelectiveGapicGeneration message from a plain object. Also converts values to their respective internal types.
+                 * @function fromObject
+                 * @memberof google.api.SelectiveGapicGeneration
+                 * @static
+                 * @param {Object.<string,*>} object Plain object
+                 * @returns {google.api.SelectiveGapicGeneration} SelectiveGapicGeneration
+                 */
+                SelectiveGapicGeneration.fromObject = function fromObject(object, long) {
+                    if (object instanceof $root.google.api.SelectiveGapicGeneration)
+                        return object;
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $util.recursionLimit)
+                        throw Error("maximum nesting depth exceeded");
+                    var message = new $root.google.api.SelectiveGapicGeneration();
+                    if (object.methods) {
+                        if (!Array.isArray(object.methods))
+                            throw TypeError(".google.api.SelectiveGapicGeneration.methods: array expected");
+                        message.methods = [];
+                        for (var i = 0; i < object.methods.length; ++i)
+                            message.methods[i] = String(object.methods[i]);
+                    }
+                    if (object.generateOmittedAsInternal != null)
+                        message.generateOmittedAsInternal = Boolean(object.generateOmittedAsInternal);
+                    return message;
+                };
+    
+                /**
+                 * Creates a plain object from a SelectiveGapicGeneration message. Also converts values to other types if specified.
+                 * @function toObject
+                 * @memberof google.api.SelectiveGapicGeneration
+                 * @static
+                 * @param {google.api.SelectiveGapicGeneration} message SelectiveGapicGeneration
+                 * @param {$protobuf.IConversionOptions} [options] Conversion options
+                 * @returns {Object.<string,*>} Plain object
+                 */
+                SelectiveGapicGeneration.toObject = function toObject(message, options) {
+                    if (!options)
+                        options = {};
+                    var object = {};
+                    if (options.arrays || options.defaults)
+                        object.methods = [];
+                    if (options.defaults)
+                        object.generateOmittedAsInternal = false;
+                    if (message.methods && message.methods.length) {
+                        object.methods = [];
+                        for (var j = 0; j < message.methods.length; ++j)
+                            object.methods[j] = message.methods[j];
+                    }
+                    if (message.generateOmittedAsInternal != null && message.hasOwnProperty("generateOmittedAsInternal"))
+                        object.generateOmittedAsInternal = message.generateOmittedAsInternal;
+                    return object;
+                };
+    
+                /**
+                 * Converts this SelectiveGapicGeneration to JSON.
+                 * @function toJSON
+                 * @memberof google.api.SelectiveGapicGeneration
+                 * @instance
+                 * @returns {Object.<string,*>} JSON object
+                 */
+                SelectiveGapicGeneration.prototype.toJSON = function toJSON() {
+                    return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+                };
+    
+                /**
+                 * Gets the default type url for SelectiveGapicGeneration
+                 * @function getTypeUrl
+                 * @memberof google.api.SelectiveGapicGeneration
+                 * @static
+                 * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+                 * @returns {string} The default type url
+                 */
+                SelectiveGapicGeneration.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+                    if (typeUrlPrefix === undefined) {
+                        typeUrlPrefix = "type.googleapis.com";
+                    }
+                    return typeUrlPrefix + "/google.api.SelectiveGapicGeneration";
+                };
+    
+                return SelectiveGapicGeneration;
+            })();
+    
             /**
              * LaunchStage enum.
              * @name google.api.LaunchStage
@@ -148704,7 +155096,7 @@
                     this.style = [];
                     if (properties)
                         for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                            if (properties[keys[i]] != null)
+                            if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                 this[keys[i]] = properties[keys[i]];
                 }
     
@@ -148834,9 +155226,13 @@
                  * @throws {Error} If the payload is not a reader or valid buffer
                  * @throws {$protobuf.util.ProtocolError} If required fields are missing
                  */
-                ResourceDescriptor.decode = function decode(reader, length, error) {
+                ResourceDescriptor.decode = function decode(reader, length, error, long) {
                     if (!(reader instanceof $Reader))
                         reader = $Reader.create(reader);
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $Reader.recursionLimit)
+                        throw Error("maximum nesting depth exceeded");
                     var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.ResourceDescriptor();
                     while (reader.pos < end) {
                         var tag = reader.uint32();
@@ -148881,7 +155277,7 @@
                                 break;
                             }
                         default:
-                            reader.skipType(tag & 7);
+                            reader.skipType(tag & 7, long);
                             break;
                         }
                     }
@@ -148912,9 +155308,13 @@
                  * @param {Object.<string,*>} message Plain object to verify
                  * @returns {string|null} `null` if valid, otherwise the reason why it is not
                  */
-                ResourceDescriptor.verify = function verify(message) {
+                ResourceDescriptor.verify = function verify(message, long) {
                     if (typeof message !== "object" || message === null)
                         return "object expected";
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $util.recursionLimit)
+                        return "maximum nesting depth exceeded";
                     if (message.type != null && message.hasOwnProperty("type"))
                         if (!$util.isString(message.type))
                             return "type: string expected";
@@ -148966,9 +155366,13 @@
                  * @param {Object.<string,*>} object Plain object
                  * @returns {google.api.ResourceDescriptor} ResourceDescriptor
                  */
-                ResourceDescriptor.fromObject = function fromObject(object) {
+                ResourceDescriptor.fromObject = function fromObject(object, long) {
                     if (object instanceof $root.google.api.ResourceDescriptor)
                         return object;
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $util.recursionLimit)
+                        throw Error("maximum nesting depth exceeded");
                     var message = new $root.google.api.ResourceDescriptor();
                     if (object.type != null)
                         message.type = String(object.type);
@@ -149156,7 +155560,7 @@
                 function ResourceReference(properties) {
                     if (properties)
                         for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                            if (properties[keys[i]] != null)
+                            if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                 this[keys[i]] = properties[keys[i]];
                 }
     
@@ -149231,9 +155635,13 @@
                  * @throws {Error} If the payload is not a reader or valid buffer
                  * @throws {$protobuf.util.ProtocolError} If required fields are missing
                  */
-                ResourceReference.decode = function decode(reader, length, error) {
+                ResourceReference.decode = function decode(reader, length, error, long) {
                     if (!(reader instanceof $Reader))
                         reader = $Reader.create(reader);
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $Reader.recursionLimit)
+                        throw Error("maximum nesting depth exceeded");
                     var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.ResourceReference();
                     while (reader.pos < end) {
                         var tag = reader.uint32();
@@ -149249,7 +155657,7 @@
                                 break;
                             }
                         default:
-                            reader.skipType(tag & 7);
+                            reader.skipType(tag & 7, long);
                             break;
                         }
                     }
@@ -149280,9 +155688,13 @@
                  * @param {Object.<string,*>} message Plain object to verify
                  * @returns {string|null} `null` if valid, otherwise the reason why it is not
                  */
-                ResourceReference.verify = function verify(message) {
+                ResourceReference.verify = function verify(message, long) {
                     if (typeof message !== "object" || message === null)
                         return "object expected";
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $util.recursionLimit)
+                        return "maximum nesting depth exceeded";
                     if (message.type != null && message.hasOwnProperty("type"))
                         if (!$util.isString(message.type))
                             return "type: string expected";
@@ -149300,9 +155712,13 @@
                  * @param {Object.<string,*>} object Plain object
                  * @returns {google.api.ResourceReference} ResourceReference
                  */
-                ResourceReference.fromObject = function fromObject(object) {
+                ResourceReference.fromObject = function fromObject(object, long) {
                     if (object instanceof $root.google.api.ResourceReference)
                         return object;
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $util.recursionLimit)
+                        throw Error("maximum nesting depth exceeded");
                     var message = new $root.google.api.ResourceReference();
                     if (object.type != null)
                         message.type = String(object.type);
@@ -149371,6 +155787,7 @@
                  * @memberof google.api
                  * @interface IFieldInfo
                  * @property {google.api.FieldInfo.Format|null} [format] FieldInfo format
+                 * @property {Array.<google.api.ITypeReference>|null} [referencedTypes] FieldInfo referencedTypes
                  */
     
                 /**
@@ -149382,9 +155799,10 @@
                  * @param {google.api.IFieldInfo=} [properties] Properties to set
                  */
                 function FieldInfo(properties) {
+                    this.referencedTypes = [];
                     if (properties)
                         for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                            if (properties[keys[i]] != null)
+                            if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                 this[keys[i]] = properties[keys[i]];
                 }
     
@@ -149396,6 +155814,14 @@
                  */
                 FieldInfo.prototype.format = 0;
     
+                /**
+                 * FieldInfo referencedTypes.
+                 * @member {Array.<google.api.ITypeReference>} referencedTypes
+                 * @memberof google.api.FieldInfo
+                 * @instance
+                 */
+                FieldInfo.prototype.referencedTypes = $util.emptyArray;
+    
                 /**
                  * Creates a new FieldInfo instance using the specified properties.
                  * @function create
@@ -149422,6 +155848,9 @@
                         writer = $Writer.create();
                     if (message.format != null && Object.hasOwnProperty.call(message, "format"))
                         writer.uint32(/* id 1, wireType 0 =*/8).int32(message.format);
+                    if (message.referencedTypes != null && message.referencedTypes.length)
+                        for (var i = 0; i < message.referencedTypes.length; ++i)
+                            $root.google.api.TypeReference.encode(message.referencedTypes[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
                     return writer;
                 };
     
@@ -149449,9 +155878,13 @@
                  * @throws {Error} If the payload is not a reader or valid buffer
                  * @throws {$protobuf.util.ProtocolError} If required fields are missing
                  */
-                FieldInfo.decode = function decode(reader, length, error) {
+                FieldInfo.decode = function decode(reader, length, error, long) {
                     if (!(reader instanceof $Reader))
                         reader = $Reader.create(reader);
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $Reader.recursionLimit)
+                        throw Error("maximum nesting depth exceeded");
                     var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.FieldInfo();
                     while (reader.pos < end) {
                         var tag = reader.uint32();
@@ -149462,8 +155895,14 @@
                                 message.format = reader.int32();
                                 break;
                             }
+                        case 2: {
+                                if (!(message.referencedTypes && message.referencedTypes.length))
+                                    message.referencedTypes = [];
+                                message.referencedTypes.push($root.google.api.TypeReference.decode(reader, reader.uint32(), undefined, long + 1));
+                                break;
+                            }
                         default:
-                            reader.skipType(tag & 7);
+                            reader.skipType(tag & 7, long);
                             break;
                         }
                     }
@@ -149494,9 +155933,13 @@
                  * @param {Object.<string,*>} message Plain object to verify
                  * @returns {string|null} `null` if valid, otherwise the reason why it is not
                  */
-                FieldInfo.verify = function verify(message) {
+                FieldInfo.verify = function verify(message, long) {
                     if (typeof message !== "object" || message === null)
                         return "object expected";
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $util.recursionLimit)
+                        return "maximum nesting depth exceeded";
                     if (message.format != null && message.hasOwnProperty("format"))
                         switch (message.format) {
                         default:
@@ -149508,6 +155951,15 @@
                         case 4:
                             break;
                         }
+                    if (message.referencedTypes != null && message.hasOwnProperty("referencedTypes")) {
+                        if (!Array.isArray(message.referencedTypes))
+                            return "referencedTypes: array expected";
+                        for (var i = 0; i < message.referencedTypes.length; ++i) {
+                            var error = $root.google.api.TypeReference.verify(message.referencedTypes[i], long + 1);
+                            if (error)
+                                return "referencedTypes." + error;
+                        }
+                    }
                     return null;
                 };
     
@@ -149519,9 +155971,13 @@
                  * @param {Object.<string,*>} object Plain object
                  * @returns {google.api.FieldInfo} FieldInfo
                  */
-                FieldInfo.fromObject = function fromObject(object) {
+                FieldInfo.fromObject = function fromObject(object, long) {
                     if (object instanceof $root.google.api.FieldInfo)
                         return object;
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $util.recursionLimit)
+                        throw Error("maximum nesting depth exceeded");
                     var message = new $root.google.api.FieldInfo();
                     switch (object.format) {
                     default:
@@ -149551,6 +156007,16 @@
                         message.format = 4;
                         break;
                     }
+                    if (object.referencedTypes) {
+                        if (!Array.isArray(object.referencedTypes))
+                            throw TypeError(".google.api.FieldInfo.referencedTypes: array expected");
+                        message.referencedTypes = [];
+                        for (var i = 0; i < object.referencedTypes.length; ++i) {
+                            if (typeof object.referencedTypes[i] !== "object")
+                                throw TypeError(".google.api.FieldInfo.referencedTypes: object expected");
+                            message.referencedTypes[i] = $root.google.api.TypeReference.fromObject(object.referencedTypes[i], long + 1);
+                        }
+                    }
                     return message;
                 };
     
@@ -149567,10 +156033,17 @@
                     if (!options)
                         options = {};
                     var object = {};
+                    if (options.arrays || options.defaults)
+                        object.referencedTypes = [];
                     if (options.defaults)
                         object.format = options.enums === String ? "FORMAT_UNSPECIFIED" : 0;
                     if (message.format != null && message.hasOwnProperty("format"))
                         object.format = options.enums === String ? $root.google.api.FieldInfo.Format[message.format] === undefined ? message.format : $root.google.api.FieldInfo.Format[message.format] : message.format;
+                    if (message.referencedTypes && message.referencedTypes.length) {
+                        object.referencedTypes = [];
+                        for (var j = 0; j < message.referencedTypes.length; ++j)
+                            object.referencedTypes[j] = $root.google.api.TypeReference.toObject(message.referencedTypes[j], options);
+                    }
                     return object;
                 };
     
@@ -149623,6 +156096,223 @@
                 return FieldInfo;
             })();
     
+            api.TypeReference = (function() {
+    
+                /**
+                 * Properties of a TypeReference.
+                 * @memberof google.api
+                 * @interface ITypeReference
+                 * @property {string|null} [typeName] TypeReference typeName
+                 */
+    
+                /**
+                 * Constructs a new TypeReference.
+                 * @memberof google.api
+                 * @classdesc Represents a TypeReference.
+                 * @implements ITypeReference
+                 * @constructor
+                 * @param {google.api.ITypeReference=} [properties] Properties to set
+                 */
+                function TypeReference(properties) {
+                    if (properties)
+                        for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+                            if (properties[keys[i]] != null && keys[i] !== "__proto__")
+                                this[keys[i]] = properties[keys[i]];
+                }
+    
+                /**
+                 * TypeReference typeName.
+                 * @member {string} typeName
+                 * @memberof google.api.TypeReference
+                 * @instance
+                 */
+                TypeReference.prototype.typeName = "";
+    
+                /**
+                 * Creates a new TypeReference instance using the specified properties.
+                 * @function create
+                 * @memberof google.api.TypeReference
+                 * @static
+                 * @param {google.api.ITypeReference=} [properties] Properties to set
+                 * @returns {google.api.TypeReference} TypeReference instance
+                 */
+                TypeReference.create = function create(properties) {
+                    return new TypeReference(properties);
+                };
+    
+                /**
+                 * Encodes the specified TypeReference message. Does not implicitly {@link google.api.TypeReference.verify|verify} messages.
+                 * @function encode
+                 * @memberof google.api.TypeReference
+                 * @static
+                 * @param {google.api.ITypeReference} message TypeReference message or plain object to encode
+                 * @param {$protobuf.Writer} [writer] Writer to encode to
+                 * @returns {$protobuf.Writer} Writer
+                 */
+                TypeReference.encode = function encode(message, writer) {
+                    if (!writer)
+                        writer = $Writer.create();
+                    if (message.typeName != null && Object.hasOwnProperty.call(message, "typeName"))
+                        writer.uint32(/* id 1, wireType 2 =*/10).string(message.typeName);
+                    return writer;
+                };
+    
+                /**
+                 * Encodes the specified TypeReference message, length delimited. Does not implicitly {@link google.api.TypeReference.verify|verify} messages.
+                 * @function encodeDelimited
+                 * @memberof google.api.TypeReference
+                 * @static
+                 * @param {google.api.ITypeReference} message TypeReference message or plain object to encode
+                 * @param {$protobuf.Writer} [writer] Writer to encode to
+                 * @returns {$protobuf.Writer} Writer
+                 */
+                TypeReference.encodeDelimited = function encodeDelimited(message, writer) {
+                    return this.encode(message, writer).ldelim();
+                };
+    
+                /**
+                 * Decodes a TypeReference message from the specified reader or buffer.
+                 * @function decode
+                 * @memberof google.api.TypeReference
+                 * @static
+                 * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+                 * @param {number} [length] Message length if known beforehand
+                 * @returns {google.api.TypeReference} TypeReference
+                 * @throws {Error} If the payload is not a reader or valid buffer
+                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
+                 */
+                TypeReference.decode = function decode(reader, length, error, long) {
+                    if (!(reader instanceof $Reader))
+                        reader = $Reader.create(reader);
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $Reader.recursionLimit)
+                        throw Error("maximum nesting depth exceeded");
+                    var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.TypeReference();
+                    while (reader.pos < end) {
+                        var tag = reader.uint32();
+                        if (tag === error)
+                            break;
+                        switch (tag >>> 3) {
+                        case 1: {
+                                message.typeName = reader.string();
+                                break;
+                            }
+                        default:
+                            reader.skipType(tag & 7, long);
+                            break;
+                        }
+                    }
+                    return message;
+                };
+    
+                /**
+                 * Decodes a TypeReference message from the specified reader or buffer, length delimited.
+                 * @function decodeDelimited
+                 * @memberof google.api.TypeReference
+                 * @static
+                 * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+                 * @returns {google.api.TypeReference} TypeReference
+                 * @throws {Error} If the payload is not a reader or valid buffer
+                 * @throws {$protobuf.util.ProtocolError} If required fields are missing
+                 */
+                TypeReference.decodeDelimited = function decodeDelimited(reader) {
+                    if (!(reader instanceof $Reader))
+                        reader = new $Reader(reader);
+                    return this.decode(reader, reader.uint32());
+                };
+    
+                /**
+                 * Verifies a TypeReference message.
+                 * @function verify
+                 * @memberof google.api.TypeReference
+                 * @static
+                 * @param {Object.<string,*>} message Plain object to verify
+                 * @returns {string|null} `null` if valid, otherwise the reason why it is not
+                 */
+                TypeReference.verify = function verify(message, long) {
+                    if (typeof message !== "object" || message === null)
+                        return "object expected";
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $util.recursionLimit)
+                        return "maximum nesting depth exceeded";
+                    if (message.typeName != null && message.hasOwnProperty("typeName"))
+                        if (!$util.isString(message.typeName))
+                            return "typeName: string expected";
+                    return null;
+                };
+    
+                /**
+                 * Creates a TypeReference message from a plain object. Also converts values to their respective internal types.
+                 * @function fromObject
+                 * @memberof google.api.TypeReference
+                 * @static
+                 * @param {Object.<string,*>} object Plain object
+                 * @returns {google.api.TypeReference} TypeReference
+                 */
+                TypeReference.fromObject = function fromObject(object, long) {
+                    if (object instanceof $root.google.api.TypeReference)
+                        return object;
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $util.recursionLimit)
+                        throw Error("maximum nesting depth exceeded");
+                    var message = new $root.google.api.TypeReference();
+                    if (object.typeName != null)
+                        message.typeName = String(object.typeName);
+                    return message;
+                };
+    
+                /**
+                 * Creates a plain object from a TypeReference message. Also converts values to other types if specified.
+                 * @function toObject
+                 * @memberof google.api.TypeReference
+                 * @static
+                 * @param {google.api.TypeReference} message TypeReference
+                 * @param {$protobuf.IConversionOptions} [options] Conversion options
+                 * @returns {Object.<string,*>} Plain object
+                 */
+                TypeReference.toObject = function toObject(message, options) {
+                    if (!options)
+                        options = {};
+                    var object = {};
+                    if (options.defaults)
+                        object.typeName = "";
+                    if (message.typeName != null && message.hasOwnProperty("typeName"))
+                        object.typeName = message.typeName;
+                    return object;
+                };
+    
+                /**
+                 * Converts this TypeReference to JSON.
+                 * @function toJSON
+                 * @memberof google.api.TypeReference
+                 * @instance
+                 * @returns {Object.<string,*>} JSON object
+                 */
+                TypeReference.prototype.toJSON = function toJSON() {
+                    return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+                };
+    
+                /**
+                 * Gets the default type url for TypeReference
+                 * @function getTypeUrl
+                 * @memberof google.api.TypeReference
+                 * @static
+                 * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+                 * @returns {string} The default type url
+                 */
+                TypeReference.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+                    if (typeUrlPrefix === undefined) {
+                        typeUrlPrefix = "type.googleapis.com";
+                    }
+                    return typeUrlPrefix + "/google.api.TypeReference";
+                };
+    
+                return TypeReference;
+            })();
+    
             return api;
         })();
     
@@ -149656,7 +156346,7 @@
                     this.file = [];
                     if (properties)
                         for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                            if (properties[keys[i]] != null)
+                            if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                 this[keys[i]] = properties[keys[i]];
                 }
     
@@ -149722,9 +156412,13 @@
                  * @throws {Error} If the payload is not a reader or valid buffer
                  * @throws {$protobuf.util.ProtocolError} If required fields are missing
                  */
-                FileDescriptorSet.decode = function decode(reader, length, error) {
+                FileDescriptorSet.decode = function decode(reader, length, error, long) {
                     if (!(reader instanceof $Reader))
                         reader = $Reader.create(reader);
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $Reader.recursionLimit)
+                        throw Error("maximum nesting depth exceeded");
                     var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FileDescriptorSet();
                     while (reader.pos < end) {
                         var tag = reader.uint32();
@@ -149734,11 +156428,11 @@
                         case 1: {
                                 if (!(message.file && message.file.length))
                                     message.file = [];
-                                message.file.push($root.google.protobuf.FileDescriptorProto.decode(reader, reader.uint32()));
+                                message.file.push($root.google.protobuf.FileDescriptorProto.decode(reader, reader.uint32(), undefined, long + 1));
                                 break;
                             }
                         default:
-                            reader.skipType(tag & 7);
+                            reader.skipType(tag & 7, long);
                             break;
                         }
                     }
@@ -149769,14 +156463,18 @@
                  * @param {Object.<string,*>} message Plain object to verify
                  * @returns {string|null} `null` if valid, otherwise the reason why it is not
                  */
-                FileDescriptorSet.verify = function verify(message) {
+                FileDescriptorSet.verify = function verify(message, long) {
                     if (typeof message !== "object" || message === null)
                         return "object expected";
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $util.recursionLimit)
+                        return "maximum nesting depth exceeded";
                     if (message.file != null && message.hasOwnProperty("file")) {
                         if (!Array.isArray(message.file))
                             return "file: array expected";
                         for (var i = 0; i < message.file.length; ++i) {
-                            var error = $root.google.protobuf.FileDescriptorProto.verify(message.file[i]);
+                            var error = $root.google.protobuf.FileDescriptorProto.verify(message.file[i], long + 1);
                             if (error)
                                 return "file." + error;
                         }
@@ -149792,9 +156490,13 @@
                  * @param {Object.<string,*>} object Plain object
                  * @returns {google.protobuf.FileDescriptorSet} FileDescriptorSet
                  */
-                FileDescriptorSet.fromObject = function fromObject(object) {
+                FileDescriptorSet.fromObject = function fromObject(object, long) {
                     if (object instanceof $root.google.protobuf.FileDescriptorSet)
                         return object;
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $util.recursionLimit)
+                        throw Error("maximum nesting depth exceeded");
                     var message = new $root.google.protobuf.FileDescriptorSet();
                     if (object.file) {
                         if (!Array.isArray(object.file))
@@ -149803,7 +156505,7 @@
                         for (var i = 0; i < object.file.length; ++i) {
                             if (typeof object.file[i] !== "object")
                                 throw TypeError(".google.protobuf.FileDescriptorSet.file: object expected");
-                            message.file[i] = $root.google.protobuf.FileDescriptorProto.fromObject(object.file[i]);
+                            message.file[i] = $root.google.protobuf.FileDescriptorProto.fromObject(object.file[i], long + 1);
                         }
                     }
                     return message;
@@ -149866,6 +156568,7 @@
              * @name google.protobuf.Edition
              * @enum {number}
              * @property {number} EDITION_UNKNOWN=0 EDITION_UNKNOWN value
+             * @property {number} EDITION_LEGACY=900 EDITION_LEGACY value
              * @property {number} EDITION_PROTO2=998 EDITION_PROTO2 value
              * @property {number} EDITION_PROTO3=999 EDITION_PROTO3 value
              * @property {number} EDITION_2023=1000 EDITION_2023 value
@@ -149880,6 +156583,7 @@
             protobuf.Edition = (function() {
                 var valuesById = {}, values = Object.create(valuesById);
                 values[valuesById[0] = "EDITION_UNKNOWN"] = 0;
+                values[valuesById[900] = "EDITION_LEGACY"] = 900;
                 values[valuesById[998] = "EDITION_PROTO2"] = 998;
                 values[valuesById[999] = "EDITION_PROTO3"] = 999;
                 values[valuesById[1000] = "EDITION_2023"] = 1000;
@@ -149904,6 +156608,7 @@
                  * @property {Array.<string>|null} [dependency] FileDescriptorProto dependency
                  * @property {Array.<number>|null} [publicDependency] FileDescriptorProto publicDependency
                  * @property {Array.<number>|null} [weakDependency] FileDescriptorProto weakDependency
+                 * @property {Array.<string>|null} [optionDependency] FileDescriptorProto optionDependency
                  * @property {Array.<google.protobuf.IDescriptorProto>|null} [messageType] FileDescriptorProto messageType
                  * @property {Array.<google.protobuf.IEnumDescriptorProto>|null} [enumType] FileDescriptorProto enumType
                  * @property {Array.<google.protobuf.IServiceDescriptorProto>|null} [service] FileDescriptorProto service
@@ -149926,13 +156631,14 @@
                     this.dependency = [];
                     this.publicDependency = [];
                     this.weakDependency = [];
+                    this.optionDependency = [];
                     this.messageType = [];
                     this.enumType = [];
                     this.service = [];
                     this.extension = [];
                     if (properties)
                         for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                            if (properties[keys[i]] != null)
+                            if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                 this[keys[i]] = properties[keys[i]];
                 }
     
@@ -149976,6 +156682,14 @@
                  */
                 FileDescriptorProto.prototype.weakDependency = $util.emptyArray;
     
+                /**
+                 * FileDescriptorProto optionDependency.
+                 * @member {Array.<string>} optionDependency
+                 * @memberof google.protobuf.FileDescriptorProto
+                 * @instance
+                 */
+                FileDescriptorProto.prototype.optionDependency = $util.emptyArray;
+    
                 /**
                  * FileDescriptorProto messageType.
                  * @member {Array.<google.protobuf.IDescriptorProto>} messageType
@@ -150097,6 +156811,9 @@
                         writer.uint32(/* id 12, wireType 2 =*/98).string(message.syntax);
                     if (message.edition != null && Object.hasOwnProperty.call(message, "edition"))
                         writer.uint32(/* id 14, wireType 0 =*/112).int32(message.edition);
+                    if (message.optionDependency != null && message.optionDependency.length)
+                        for (var i = 0; i < message.optionDependency.length; ++i)
+                            writer.uint32(/* id 15, wireType 2 =*/122).string(message.optionDependency[i]);
                     return writer;
                 };
     
@@ -150124,9 +156841,13 @@
                  * @throws {Error} If the payload is not a reader or valid buffer
                  * @throws {$protobuf.util.ProtocolError} If required fields are missing
                  */
-                FileDescriptorProto.decode = function decode(reader, length, error) {
+                FileDescriptorProto.decode = function decode(reader, length, error, long) {
                     if (!(reader instanceof $Reader))
                         reader = $Reader.create(reader);
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $Reader.recursionLimit)
+                        throw Error("maximum nesting depth exceeded");
                     var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FileDescriptorProto();
                     while (reader.pos < end) {
                         var tag = reader.uint32();
@@ -150169,36 +156890,42 @@
                                     message.weakDependency.push(reader.int32());
                                 break;
                             }
+                        case 15: {
+                                if (!(message.optionDependency && message.optionDependency.length))
+                                    message.optionDependency = [];
+                                message.optionDependency.push(reader.string());
+                                break;
+                            }
                         case 4: {
                                 if (!(message.messageType && message.messageType.length))
                                     message.messageType = [];
-                                message.messageType.push($root.google.protobuf.DescriptorProto.decode(reader, reader.uint32()));
+                                message.messageType.push($root.google.protobuf.DescriptorProto.decode(reader, reader.uint32(), undefined, long + 1));
                                 break;
                             }
                         case 5: {
                                 if (!(message.enumType && message.enumType.length))
                                     message.enumType = [];
-                                message.enumType.push($root.google.protobuf.EnumDescriptorProto.decode(reader, reader.uint32()));
+                                message.enumType.push($root.google.protobuf.EnumDescriptorProto.decode(reader, reader.uint32(), undefined, long + 1));
                                 break;
                             }
                         case 6: {
                                 if (!(message.service && message.service.length))
                                     message.service = [];
-                                message.service.push($root.google.protobuf.ServiceDescriptorProto.decode(reader, reader.uint32()));
+                                message.service.push($root.google.protobuf.ServiceDescriptorProto.decode(reader, reader.uint32(), undefined, long + 1));
                                 break;
                             }
                         case 7: {
                                 if (!(message.extension && message.extension.length))
                                     message.extension = [];
-                                message.extension.push($root.google.protobuf.FieldDescriptorProto.decode(reader, reader.uint32()));
+                                message.extension.push($root.google.protobuf.FieldDescriptorProto.decode(reader, reader.uint32(), undefined, long + 1));
                                 break;
                             }
                         case 8: {
-                                message.options = $root.google.protobuf.FileOptions.decode(reader, reader.uint32());
+                                message.options = $root.google.protobuf.FileOptions.decode(reader, reader.uint32(), undefined, long + 1);
                                 break;
                             }
                         case 9: {
-                                message.sourceCodeInfo = $root.google.protobuf.SourceCodeInfo.decode(reader, reader.uint32());
+                                message.sourceCodeInfo = $root.google.protobuf.SourceCodeInfo.decode(reader, reader.uint32(), undefined, long + 1);
                                 break;
                             }
                         case 12: {
@@ -150210,7 +156937,7 @@
                                 break;
                             }
                         default:
-                            reader.skipType(tag & 7);
+                            reader.skipType(tag & 7, long);
                             break;
                         }
                     }
@@ -150241,9 +156968,13 @@
                  * @param {Object.<string,*>} message Plain object to verify
                  * @returns {string|null} `null` if valid, otherwise the reason why it is not
                  */
-                FileDescriptorProto.verify = function verify(message) {
+                FileDescriptorProto.verify = function verify(message, long) {
                     if (typeof message !== "object" || message === null)
                         return "object expected";
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $util.recursionLimit)
+                        return "maximum nesting depth exceeded";
                     if (message.name != null && message.hasOwnProperty("name"))
                         if (!$util.isString(message.name))
                             return "name: string expected";
@@ -150271,11 +157002,18 @@
                             if (!$util.isInteger(message.weakDependency[i]))
                                 return "weakDependency: integer[] expected";
                     }
+                    if (message.optionDependency != null && message.hasOwnProperty("optionDependency")) {
+                        if (!Array.isArray(message.optionDependency))
+                            return "optionDependency: array expected";
+                        for (var i = 0; i < message.optionDependency.length; ++i)
+                            if (!$util.isString(message.optionDependency[i]))
+                                return "optionDependency: string[] expected";
+                    }
                     if (message.messageType != null && message.hasOwnProperty("messageType")) {
                         if (!Array.isArray(message.messageType))
                             return "messageType: array expected";
                         for (var i = 0; i < message.messageType.length; ++i) {
-                            var error = $root.google.protobuf.DescriptorProto.verify(message.messageType[i]);
+                            var error = $root.google.protobuf.DescriptorProto.verify(message.messageType[i], long + 1);
                             if (error)
                                 return "messageType." + error;
                         }
@@ -150284,7 +157022,7 @@
                         if (!Array.isArray(message.enumType))
                             return "enumType: array expected";
                         for (var i = 0; i < message.enumType.length; ++i) {
-                            var error = $root.google.protobuf.EnumDescriptorProto.verify(message.enumType[i]);
+                            var error = $root.google.protobuf.EnumDescriptorProto.verify(message.enumType[i], long + 1);
                             if (error)
                                 return "enumType." + error;
                         }
@@ -150293,7 +157031,7 @@
                         if (!Array.isArray(message.service))
                             return "service: array expected";
                         for (var i = 0; i < message.service.length; ++i) {
-                            var error = $root.google.protobuf.ServiceDescriptorProto.verify(message.service[i]);
+                            var error = $root.google.protobuf.ServiceDescriptorProto.verify(message.service[i], long + 1);
                             if (error)
                                 return "service." + error;
                         }
@@ -150302,18 +157040,18 @@
                         if (!Array.isArray(message.extension))
                             return "extension: array expected";
                         for (var i = 0; i < message.extension.length; ++i) {
-                            var error = $root.google.protobuf.FieldDescriptorProto.verify(message.extension[i]);
+                            var error = $root.google.protobuf.FieldDescriptorProto.verify(message.extension[i], long + 1);
                             if (error)
                                 return "extension." + error;
                         }
                     }
                     if (message.options != null && message.hasOwnProperty("options")) {
-                        var error = $root.google.protobuf.FileOptions.verify(message.options);
+                        var error = $root.google.protobuf.FileOptions.verify(message.options, long + 1);
                         if (error)
                             return "options." + error;
                     }
                     if (message.sourceCodeInfo != null && message.hasOwnProperty("sourceCodeInfo")) {
-                        var error = $root.google.protobuf.SourceCodeInfo.verify(message.sourceCodeInfo);
+                        var error = $root.google.protobuf.SourceCodeInfo.verify(message.sourceCodeInfo, long + 1);
                         if (error)
                             return "sourceCodeInfo." + error;
                     }
@@ -150325,6 +157063,7 @@
                         default:
                             return "edition: enum value expected";
                         case 0:
+                        case 900:
                         case 998:
                         case 999:
                         case 1000:
@@ -150348,9 +157087,13 @@
                  * @param {Object.<string,*>} object Plain object
                  * @returns {google.protobuf.FileDescriptorProto} FileDescriptorProto
                  */
-                FileDescriptorProto.fromObject = function fromObject(object) {
+                FileDescriptorProto.fromObject = function fromObject(object, long) {
                     if (object instanceof $root.google.protobuf.FileDescriptorProto)
                         return object;
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $util.recursionLimit)
+                        throw Error("maximum nesting depth exceeded");
                     var message = new $root.google.protobuf.FileDescriptorProto();
                     if (object.name != null)
                         message.name = String(object.name);
@@ -150377,6 +157120,13 @@
                         for (var i = 0; i < object.weakDependency.length; ++i)
                             message.weakDependency[i] = object.weakDependency[i] | 0;
                     }
+                    if (object.optionDependency) {
+                        if (!Array.isArray(object.optionDependency))
+                            throw TypeError(".google.protobuf.FileDescriptorProto.optionDependency: array expected");
+                        message.optionDependency = [];
+                        for (var i = 0; i < object.optionDependency.length; ++i)
+                            message.optionDependency[i] = String(object.optionDependency[i]);
+                    }
                     if (object.messageType) {
                         if (!Array.isArray(object.messageType))
                             throw TypeError(".google.protobuf.FileDescriptorProto.messageType: array expected");
@@ -150384,7 +157134,7 @@
                         for (var i = 0; i < object.messageType.length; ++i) {
                             if (typeof object.messageType[i] !== "object")
                                 throw TypeError(".google.protobuf.FileDescriptorProto.messageType: object expected");
-                            message.messageType[i] = $root.google.protobuf.DescriptorProto.fromObject(object.messageType[i]);
+                            message.messageType[i] = $root.google.protobuf.DescriptorProto.fromObject(object.messageType[i], long + 1);
                         }
                     }
                     if (object.enumType) {
@@ -150394,7 +157144,7 @@
                         for (var i = 0; i < object.enumType.length; ++i) {
                             if (typeof object.enumType[i] !== "object")
                                 throw TypeError(".google.protobuf.FileDescriptorProto.enumType: object expected");
-                            message.enumType[i] = $root.google.protobuf.EnumDescriptorProto.fromObject(object.enumType[i]);
+                            message.enumType[i] = $root.google.protobuf.EnumDescriptorProto.fromObject(object.enumType[i], long + 1);
                         }
                     }
                     if (object.service) {
@@ -150404,7 +157154,7 @@
                         for (var i = 0; i < object.service.length; ++i) {
                             if (typeof object.service[i] !== "object")
                                 throw TypeError(".google.protobuf.FileDescriptorProto.service: object expected");
-                            message.service[i] = $root.google.protobuf.ServiceDescriptorProto.fromObject(object.service[i]);
+                            message.service[i] = $root.google.protobuf.ServiceDescriptorProto.fromObject(object.service[i], long + 1);
                         }
                     }
                     if (object.extension) {
@@ -150414,18 +157164,18 @@
                         for (var i = 0; i < object.extension.length; ++i) {
                             if (typeof object.extension[i] !== "object")
                                 throw TypeError(".google.protobuf.FileDescriptorProto.extension: object expected");
-                            message.extension[i] = $root.google.protobuf.FieldDescriptorProto.fromObject(object.extension[i]);
+                            message.extension[i] = $root.google.protobuf.FieldDescriptorProto.fromObject(object.extension[i], long + 1);
                         }
                     }
                     if (object.options != null) {
                         if (typeof object.options !== "object")
                             throw TypeError(".google.protobuf.FileDescriptorProto.options: object expected");
-                        message.options = $root.google.protobuf.FileOptions.fromObject(object.options);
+                        message.options = $root.google.protobuf.FileOptions.fromObject(object.options, long + 1);
                     }
                     if (object.sourceCodeInfo != null) {
                         if (typeof object.sourceCodeInfo !== "object")
                             throw TypeError(".google.protobuf.FileDescriptorProto.sourceCodeInfo: object expected");
-                        message.sourceCodeInfo = $root.google.protobuf.SourceCodeInfo.fromObject(object.sourceCodeInfo);
+                        message.sourceCodeInfo = $root.google.protobuf.SourceCodeInfo.fromObject(object.sourceCodeInfo, long + 1);
                     }
                     if (object.syntax != null)
                         message.syntax = String(object.syntax);
@@ -150440,6 +157190,10 @@
                     case 0:
                         message.edition = 0;
                         break;
+                    case "EDITION_LEGACY":
+                    case 900:
+                        message.edition = 900;
+                        break;
                     case "EDITION_PROTO2":
                     case 998:
                         message.edition = 998;
@@ -150505,6 +157259,7 @@
                         object.extension = [];
                         object.publicDependency = [];
                         object.weakDependency = [];
+                        object.optionDependency = [];
                     }
                     if (options.defaults) {
                         object.name = "";
@@ -150561,6 +157316,11 @@
                         object.syntax = message.syntax;
                     if (message.edition != null && message.hasOwnProperty("edition"))
                         object.edition = options.enums === String ? $root.google.protobuf.Edition[message.edition] === undefined ? message.edition : $root.google.protobuf.Edition[message.edition] : message.edition;
+                    if (message.optionDependency && message.optionDependency.length) {
+                        object.optionDependency = [];
+                        for (var j = 0; j < message.optionDependency.length; ++j)
+                            object.optionDependency[j] = message.optionDependency[j];
+                    }
                     return object;
                 };
     
@@ -150609,6 +157369,7 @@
                  * @property {google.protobuf.IMessageOptions|null} [options] DescriptorProto options
                  * @property {Array.<google.protobuf.DescriptorProto.IReservedRange>|null} [reservedRange] DescriptorProto reservedRange
                  * @property {Array.<string>|null} [reservedName] DescriptorProto reservedName
+                 * @property {google.protobuf.SymbolVisibility|null} [visibility] DescriptorProto visibility
                  */
     
                 /**
@@ -150630,7 +157391,7 @@
                     this.reservedName = [];
                     if (properties)
                         for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                            if (properties[keys[i]] != null)
+                            if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                 this[keys[i]] = properties[keys[i]];
                 }
     
@@ -150714,6 +157475,14 @@
                  */
                 DescriptorProto.prototype.reservedName = $util.emptyArray;
     
+                /**
+                 * DescriptorProto visibility.
+                 * @member {google.protobuf.SymbolVisibility} visibility
+                 * @memberof google.protobuf.DescriptorProto
+                 * @instance
+                 */
+                DescriptorProto.prototype.visibility = 0;
+    
                 /**
                  * Creates a new DescriptorProto instance using the specified properties.
                  * @function create
@@ -150766,6 +157535,8 @@
                     if (message.reservedName != null && message.reservedName.length)
                         for (var i = 0; i < message.reservedName.length; ++i)
                             writer.uint32(/* id 10, wireType 2 =*/82).string(message.reservedName[i]);
+                    if (message.visibility != null && Object.hasOwnProperty.call(message, "visibility"))
+                        writer.uint32(/* id 11, wireType 0 =*/88).int32(message.visibility);
                     return writer;
                 };
     
@@ -150793,9 +157564,13 @@
                  * @throws {Error} If the payload is not a reader or valid buffer
                  * @throws {$protobuf.util.ProtocolError} If required fields are missing
                  */
-                DescriptorProto.decode = function decode(reader, length, error) {
+                DescriptorProto.decode = function decode(reader, length, error, long) {
                     if (!(reader instanceof $Reader))
                         reader = $Reader.create(reader);
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $Reader.recursionLimit)
+                        throw Error("maximum nesting depth exceeded");
                     var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.DescriptorProto();
                     while (reader.pos < end) {
                         var tag = reader.uint32();
@@ -150809,47 +157584,47 @@
                         case 2: {
                                 if (!(message.field && message.field.length))
                                     message.field = [];
-                                message.field.push($root.google.protobuf.FieldDescriptorProto.decode(reader, reader.uint32()));
+                                message.field.push($root.google.protobuf.FieldDescriptorProto.decode(reader, reader.uint32(), undefined, long + 1));
                                 break;
                             }
                         case 6: {
                                 if (!(message.extension && message.extension.length))
                                     message.extension = [];
-                                message.extension.push($root.google.protobuf.FieldDescriptorProto.decode(reader, reader.uint32()));
+                                message.extension.push($root.google.protobuf.FieldDescriptorProto.decode(reader, reader.uint32(), undefined, long + 1));
                                 break;
                             }
                         case 3: {
                                 if (!(message.nestedType && message.nestedType.length))
                                     message.nestedType = [];
-                                message.nestedType.push($root.google.protobuf.DescriptorProto.decode(reader, reader.uint32()));
+                                message.nestedType.push($root.google.protobuf.DescriptorProto.decode(reader, reader.uint32(), undefined, long + 1));
                                 break;
                             }
                         case 4: {
                                 if (!(message.enumType && message.enumType.length))
                                     message.enumType = [];
-                                message.enumType.push($root.google.protobuf.EnumDescriptorProto.decode(reader, reader.uint32()));
+                                message.enumType.push($root.google.protobuf.EnumDescriptorProto.decode(reader, reader.uint32(), undefined, long + 1));
                                 break;
                             }
                         case 5: {
                                 if (!(message.extensionRange && message.extensionRange.length))
                                     message.extensionRange = [];
-                                message.extensionRange.push($root.google.protobuf.DescriptorProto.ExtensionRange.decode(reader, reader.uint32()));
+                                message.extensionRange.push($root.google.protobuf.DescriptorProto.ExtensionRange.decode(reader, reader.uint32(), undefined, long + 1));
                                 break;
                             }
                         case 8: {
                                 if (!(message.oneofDecl && message.oneofDecl.length))
                                     message.oneofDecl = [];
-                                message.oneofDecl.push($root.google.protobuf.OneofDescriptorProto.decode(reader, reader.uint32()));
+                                message.oneofDecl.push($root.google.protobuf.OneofDescriptorProto.decode(reader, reader.uint32(), undefined, long + 1));
                                 break;
                             }
                         case 7: {
-                                message.options = $root.google.protobuf.MessageOptions.decode(reader, reader.uint32());
+                                message.options = $root.google.protobuf.MessageOptions.decode(reader, reader.uint32(), undefined, long + 1);
                                 break;
                             }
                         case 9: {
                                 if (!(message.reservedRange && message.reservedRange.length))
                                     message.reservedRange = [];
-                                message.reservedRange.push($root.google.protobuf.DescriptorProto.ReservedRange.decode(reader, reader.uint32()));
+                                message.reservedRange.push($root.google.protobuf.DescriptorProto.ReservedRange.decode(reader, reader.uint32(), undefined, long + 1));
                                 break;
                             }
                         case 10: {
@@ -150858,8 +157633,12 @@
                                 message.reservedName.push(reader.string());
                                 break;
                             }
+                        case 11: {
+                                message.visibility = reader.int32();
+                                break;
+                            }
                         default:
-                            reader.skipType(tag & 7);
+                            reader.skipType(tag & 7, long);
                             break;
                         }
                     }
@@ -150890,9 +157669,13 @@
                  * @param {Object.<string,*>} message Plain object to verify
                  * @returns {string|null} `null` if valid, otherwise the reason why it is not
                  */
-                DescriptorProto.verify = function verify(message) {
+                DescriptorProto.verify = function verify(message, long) {
                     if (typeof message !== "object" || message === null)
                         return "object expected";
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $util.recursionLimit)
+                        return "maximum nesting depth exceeded";
                     if (message.name != null && message.hasOwnProperty("name"))
                         if (!$util.isString(message.name))
                             return "name: string expected";
@@ -150900,7 +157683,7 @@
                         if (!Array.isArray(message.field))
                             return "field: array expected";
                         for (var i = 0; i < message.field.length; ++i) {
-                            var error = $root.google.protobuf.FieldDescriptorProto.verify(message.field[i]);
+                            var error = $root.google.protobuf.FieldDescriptorProto.verify(message.field[i], long + 1);
                             if (error)
                                 return "field." + error;
                         }
@@ -150909,7 +157692,7 @@
                         if (!Array.isArray(message.extension))
                             return "extension: array expected";
                         for (var i = 0; i < message.extension.length; ++i) {
-                            var error = $root.google.protobuf.FieldDescriptorProto.verify(message.extension[i]);
+                            var error = $root.google.protobuf.FieldDescriptorProto.verify(message.extension[i], long + 1);
                             if (error)
                                 return "extension." + error;
                         }
@@ -150918,7 +157701,7 @@
                         if (!Array.isArray(message.nestedType))
                             return "nestedType: array expected";
                         for (var i = 0; i < message.nestedType.length; ++i) {
-                            var error = $root.google.protobuf.DescriptorProto.verify(message.nestedType[i]);
+                            var error = $root.google.protobuf.DescriptorProto.verify(message.nestedType[i], long + 1);
                             if (error)
                                 return "nestedType." + error;
                         }
@@ -150927,7 +157710,7 @@
                         if (!Array.isArray(message.enumType))
                             return "enumType: array expected";
                         for (var i = 0; i < message.enumType.length; ++i) {
-                            var error = $root.google.protobuf.EnumDescriptorProto.verify(message.enumType[i]);
+                            var error = $root.google.protobuf.EnumDescriptorProto.verify(message.enumType[i], long + 1);
                             if (error)
                                 return "enumType." + error;
                         }
@@ -150936,7 +157719,7 @@
                         if (!Array.isArray(message.extensionRange))
                             return "extensionRange: array expected";
                         for (var i = 0; i < message.extensionRange.length; ++i) {
-                            var error = $root.google.protobuf.DescriptorProto.ExtensionRange.verify(message.extensionRange[i]);
+                            var error = $root.google.protobuf.DescriptorProto.ExtensionRange.verify(message.extensionRange[i], long + 1);
                             if (error)
                                 return "extensionRange." + error;
                         }
@@ -150945,13 +157728,13 @@
                         if (!Array.isArray(message.oneofDecl))
                             return "oneofDecl: array expected";
                         for (var i = 0; i < message.oneofDecl.length; ++i) {
-                            var error = $root.google.protobuf.OneofDescriptorProto.verify(message.oneofDecl[i]);
+                            var error = $root.google.protobuf.OneofDescriptorProto.verify(message.oneofDecl[i], long + 1);
                             if (error)
                                 return "oneofDecl." + error;
                         }
                     }
                     if (message.options != null && message.hasOwnProperty("options")) {
-                        var error = $root.google.protobuf.MessageOptions.verify(message.options);
+                        var error = $root.google.protobuf.MessageOptions.verify(message.options, long + 1);
                         if (error)
                             return "options." + error;
                     }
@@ -150959,7 +157742,7 @@
                         if (!Array.isArray(message.reservedRange))
                             return "reservedRange: array expected";
                         for (var i = 0; i < message.reservedRange.length; ++i) {
-                            var error = $root.google.protobuf.DescriptorProto.ReservedRange.verify(message.reservedRange[i]);
+                            var error = $root.google.protobuf.DescriptorProto.ReservedRange.verify(message.reservedRange[i], long + 1);
                             if (error)
                                 return "reservedRange." + error;
                         }
@@ -150971,6 +157754,15 @@
                             if (!$util.isString(message.reservedName[i]))
                                 return "reservedName: string[] expected";
                     }
+                    if (message.visibility != null && message.hasOwnProperty("visibility"))
+                        switch (message.visibility) {
+                        default:
+                            return "visibility: enum value expected";
+                        case 0:
+                        case 1:
+                        case 2:
+                            break;
+                        }
                     return null;
                 };
     
@@ -150982,9 +157774,13 @@
                  * @param {Object.<string,*>} object Plain object
                  * @returns {google.protobuf.DescriptorProto} DescriptorProto
                  */
-                DescriptorProto.fromObject = function fromObject(object) {
+                DescriptorProto.fromObject = function fromObject(object, long) {
                     if (object instanceof $root.google.protobuf.DescriptorProto)
                         return object;
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $util.recursionLimit)
+                        throw Error("maximum nesting depth exceeded");
                     var message = new $root.google.protobuf.DescriptorProto();
                     if (object.name != null)
                         message.name = String(object.name);
@@ -150995,7 +157791,7 @@
                         for (var i = 0; i < object.field.length; ++i) {
                             if (typeof object.field[i] !== "object")
                                 throw TypeError(".google.protobuf.DescriptorProto.field: object expected");
-                            message.field[i] = $root.google.protobuf.FieldDescriptorProto.fromObject(object.field[i]);
+                            message.field[i] = $root.google.protobuf.FieldDescriptorProto.fromObject(object.field[i], long + 1);
                         }
                     }
                     if (object.extension) {
@@ -151005,7 +157801,7 @@
                         for (var i = 0; i < object.extension.length; ++i) {
                             if (typeof object.extension[i] !== "object")
                                 throw TypeError(".google.protobuf.DescriptorProto.extension: object expected");
-                            message.extension[i] = $root.google.protobuf.FieldDescriptorProto.fromObject(object.extension[i]);
+                            message.extension[i] = $root.google.protobuf.FieldDescriptorProto.fromObject(object.extension[i], long + 1);
                         }
                     }
                     if (object.nestedType) {
@@ -151015,7 +157811,7 @@
                         for (var i = 0; i < object.nestedType.length; ++i) {
                             if (typeof object.nestedType[i] !== "object")
                                 throw TypeError(".google.protobuf.DescriptorProto.nestedType: object expected");
-                            message.nestedType[i] = $root.google.protobuf.DescriptorProto.fromObject(object.nestedType[i]);
+                            message.nestedType[i] = $root.google.protobuf.DescriptorProto.fromObject(object.nestedType[i], long + 1);
                         }
                     }
                     if (object.enumType) {
@@ -151025,7 +157821,7 @@
                         for (var i = 0; i < object.enumType.length; ++i) {
                             if (typeof object.enumType[i] !== "object")
                                 throw TypeError(".google.protobuf.DescriptorProto.enumType: object expected");
-                            message.enumType[i] = $root.google.protobuf.EnumDescriptorProto.fromObject(object.enumType[i]);
+                            message.enumType[i] = $root.google.protobuf.EnumDescriptorProto.fromObject(object.enumType[i], long + 1);
                         }
                     }
                     if (object.extensionRange) {
@@ -151035,7 +157831,7 @@
                         for (var i = 0; i < object.extensionRange.length; ++i) {
                             if (typeof object.extensionRange[i] !== "object")
                                 throw TypeError(".google.protobuf.DescriptorProto.extensionRange: object expected");
-                            message.extensionRange[i] = $root.google.protobuf.DescriptorProto.ExtensionRange.fromObject(object.extensionRange[i]);
+                            message.extensionRange[i] = $root.google.protobuf.DescriptorProto.ExtensionRange.fromObject(object.extensionRange[i], long + 1);
                         }
                     }
                     if (object.oneofDecl) {
@@ -151045,13 +157841,13 @@
                         for (var i = 0; i < object.oneofDecl.length; ++i) {
                             if (typeof object.oneofDecl[i] !== "object")
                                 throw TypeError(".google.protobuf.DescriptorProto.oneofDecl: object expected");
-                            message.oneofDecl[i] = $root.google.protobuf.OneofDescriptorProto.fromObject(object.oneofDecl[i]);
+                            message.oneofDecl[i] = $root.google.protobuf.OneofDescriptorProto.fromObject(object.oneofDecl[i], long + 1);
                         }
                     }
                     if (object.options != null) {
                         if (typeof object.options !== "object")
                             throw TypeError(".google.protobuf.DescriptorProto.options: object expected");
-                        message.options = $root.google.protobuf.MessageOptions.fromObject(object.options);
+                        message.options = $root.google.protobuf.MessageOptions.fromObject(object.options, long + 1);
                     }
                     if (object.reservedRange) {
                         if (!Array.isArray(object.reservedRange))
@@ -151060,7 +157856,7 @@
                         for (var i = 0; i < object.reservedRange.length; ++i) {
                             if (typeof object.reservedRange[i] !== "object")
                                 throw TypeError(".google.protobuf.DescriptorProto.reservedRange: object expected");
-                            message.reservedRange[i] = $root.google.protobuf.DescriptorProto.ReservedRange.fromObject(object.reservedRange[i]);
+                            message.reservedRange[i] = $root.google.protobuf.DescriptorProto.ReservedRange.fromObject(object.reservedRange[i], long + 1);
                         }
                     }
                     if (object.reservedName) {
@@ -151070,6 +157866,26 @@
                         for (var i = 0; i < object.reservedName.length; ++i)
                             message.reservedName[i] = String(object.reservedName[i]);
                     }
+                    switch (object.visibility) {
+                    default:
+                        if (typeof object.visibility === "number") {
+                            message.visibility = object.visibility;
+                            break;
+                        }
+                        break;
+                    case "VISIBILITY_UNSET":
+                    case 0:
+                        message.visibility = 0;
+                        break;
+                    case "VISIBILITY_LOCAL":
+                    case 1:
+                        message.visibility = 1;
+                        break;
+                    case "VISIBILITY_EXPORT":
+                    case 2:
+                        message.visibility = 2;
+                        break;
+                    }
                     return message;
                 };
     
@@ -151099,6 +157915,7 @@
                     if (options.defaults) {
                         object.name = "";
                         object.options = null;
+                        object.visibility = options.enums === String ? "VISIBILITY_UNSET" : 0;
                     }
                     if (message.name != null && message.hasOwnProperty("name"))
                         object.name = message.name;
@@ -151144,6 +157961,8 @@
                         for (var j = 0; j < message.reservedName.length; ++j)
                             object.reservedName[j] = message.reservedName[j];
                     }
+                    if (message.visibility != null && message.hasOwnProperty("visibility"))
+                        object.visibility = options.enums === String ? $root.google.protobuf.SymbolVisibility[message.visibility] === undefined ? message.visibility : $root.google.protobuf.SymbolVisibility[message.visibility] : message.visibility;
                     return object;
                 };
     
@@ -151195,7 +158014,7 @@
                     function ExtensionRange(properties) {
                         if (properties)
                             for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                if (properties[keys[i]] != null)
+                                if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                     this[keys[i]] = properties[keys[i]];
                     }
     
@@ -151280,9 +158099,13 @@
                      * @throws {Error} If the payload is not a reader or valid buffer
                      * @throws {$protobuf.util.ProtocolError} If required fields are missing
                      */
-                    ExtensionRange.decode = function decode(reader, length, error) {
+                    ExtensionRange.decode = function decode(reader, length, error, long) {
                         if (!(reader instanceof $Reader))
                             reader = $Reader.create(reader);
+                        if (long === undefined)
+                            long = 0;
+                        if (long > $Reader.recursionLimit)
+                            throw Error("maximum nesting depth exceeded");
                         var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.DescriptorProto.ExtensionRange();
                         while (reader.pos < end) {
                             var tag = reader.uint32();
@@ -151298,11 +158121,11 @@
                                     break;
                                 }
                             case 3: {
-                                    message.options = $root.google.protobuf.ExtensionRangeOptions.decode(reader, reader.uint32());
+                                    message.options = $root.google.protobuf.ExtensionRangeOptions.decode(reader, reader.uint32(), undefined, long + 1);
                                     break;
                                 }
                             default:
-                                reader.skipType(tag & 7);
+                                reader.skipType(tag & 7, long);
                                 break;
                             }
                         }
@@ -151333,9 +158156,13 @@
                      * @param {Object.<string,*>} message Plain object to verify
                      * @returns {string|null} `null` if valid, otherwise the reason why it is not
                      */
-                    ExtensionRange.verify = function verify(message) {
+                    ExtensionRange.verify = function verify(message, long) {
                         if (typeof message !== "object" || message === null)
                             return "object expected";
+                        if (long === undefined)
+                            long = 0;
+                        if (long > $util.recursionLimit)
+                            return "maximum nesting depth exceeded";
                         if (message.start != null && message.hasOwnProperty("start"))
                             if (!$util.isInteger(message.start))
                                 return "start: integer expected";
@@ -151343,7 +158170,7 @@
                             if (!$util.isInteger(message.end))
                                 return "end: integer expected";
                         if (message.options != null && message.hasOwnProperty("options")) {
-                            var error = $root.google.protobuf.ExtensionRangeOptions.verify(message.options);
+                            var error = $root.google.protobuf.ExtensionRangeOptions.verify(message.options, long + 1);
                             if (error)
                                 return "options." + error;
                         }
@@ -151358,9 +158185,13 @@
                      * @param {Object.<string,*>} object Plain object
                      * @returns {google.protobuf.DescriptorProto.ExtensionRange} ExtensionRange
                      */
-                    ExtensionRange.fromObject = function fromObject(object) {
+                    ExtensionRange.fromObject = function fromObject(object, long) {
                         if (object instanceof $root.google.protobuf.DescriptorProto.ExtensionRange)
                             return object;
+                        if (long === undefined)
+                            long = 0;
+                        if (long > $util.recursionLimit)
+                            throw Error("maximum nesting depth exceeded");
                         var message = new $root.google.protobuf.DescriptorProto.ExtensionRange();
                         if (object.start != null)
                             message.start = object.start | 0;
@@ -151369,7 +158200,7 @@
                         if (object.options != null) {
                             if (typeof object.options !== "object")
                                 throw TypeError(".google.protobuf.DescriptorProto.ExtensionRange.options: object expected");
-                            message.options = $root.google.protobuf.ExtensionRangeOptions.fromObject(object.options);
+                            message.options = $root.google.protobuf.ExtensionRangeOptions.fromObject(object.options, long + 1);
                         }
                         return message;
                     };
@@ -151451,7 +158282,7 @@
                     function ReservedRange(properties) {
                         if (properties)
                             for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                if (properties[keys[i]] != null)
+                                if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                     this[keys[i]] = properties[keys[i]];
                     }
     
@@ -151526,9 +158357,13 @@
                      * @throws {Error} If the payload is not a reader or valid buffer
                      * @throws {$protobuf.util.ProtocolError} If required fields are missing
                      */
-                    ReservedRange.decode = function decode(reader, length, error) {
+                    ReservedRange.decode = function decode(reader, length, error, long) {
                         if (!(reader instanceof $Reader))
                             reader = $Reader.create(reader);
+                        if (long === undefined)
+                            long = 0;
+                        if (long > $Reader.recursionLimit)
+                            throw Error("maximum nesting depth exceeded");
                         var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.DescriptorProto.ReservedRange();
                         while (reader.pos < end) {
                             var tag = reader.uint32();
@@ -151544,7 +158379,7 @@
                                     break;
                                 }
                             default:
-                                reader.skipType(tag & 7);
+                                reader.skipType(tag & 7, long);
                                 break;
                             }
                         }
@@ -151575,9 +158410,13 @@
                      * @param {Object.<string,*>} message Plain object to verify
                      * @returns {string|null} `null` if valid, otherwise the reason why it is not
                      */
-                    ReservedRange.verify = function verify(message) {
+                    ReservedRange.verify = function verify(message, long) {
                         if (typeof message !== "object" || message === null)
                             return "object expected";
+                        if (long === undefined)
+                            long = 0;
+                        if (long > $util.recursionLimit)
+                            return "maximum nesting depth exceeded";
                         if (message.start != null && message.hasOwnProperty("start"))
                             if (!$util.isInteger(message.start))
                                 return "start: integer expected";
@@ -151595,9 +158434,13 @@
                      * @param {Object.<string,*>} object Plain object
                      * @returns {google.protobuf.DescriptorProto.ReservedRange} ReservedRange
                      */
-                    ReservedRange.fromObject = function fromObject(object) {
+                    ReservedRange.fromObject = function fromObject(object, long) {
                         if (object instanceof $root.google.protobuf.DescriptorProto.ReservedRange)
                             return object;
+                        if (long === undefined)
+                            long = 0;
+                        if (long > $util.recursionLimit)
+                            throw Error("maximum nesting depth exceeded");
                         var message = new $root.google.protobuf.DescriptorProto.ReservedRange();
                         if (object.start != null)
                             message.start = object.start | 0;
@@ -151687,7 +158530,7 @@
                     this.declaration = [];
                     if (properties)
                         for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                            if (properties[keys[i]] != null)
+                            if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                 this[keys[i]] = properties[keys[i]];
                 }
     
@@ -151784,9 +158627,13 @@
                  * @throws {Error} If the payload is not a reader or valid buffer
                  * @throws {$protobuf.util.ProtocolError} If required fields are missing
                  */
-                ExtensionRangeOptions.decode = function decode(reader, length, error) {
+                ExtensionRangeOptions.decode = function decode(reader, length, error, long) {
                     if (!(reader instanceof $Reader))
                         reader = $Reader.create(reader);
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $Reader.recursionLimit)
+                        throw Error("maximum nesting depth exceeded");
                     var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.ExtensionRangeOptions();
                     while (reader.pos < end) {
                         var tag = reader.uint32();
@@ -151796,17 +158643,17 @@
                         case 999: {
                                 if (!(message.uninterpretedOption && message.uninterpretedOption.length))
                                     message.uninterpretedOption = [];
-                                message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32()));
+                                message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32(), undefined, long + 1));
                                 break;
                             }
                         case 2: {
                                 if (!(message.declaration && message.declaration.length))
                                     message.declaration = [];
-                                message.declaration.push($root.google.protobuf.ExtensionRangeOptions.Declaration.decode(reader, reader.uint32()));
+                                message.declaration.push($root.google.protobuf.ExtensionRangeOptions.Declaration.decode(reader, reader.uint32(), undefined, long + 1));
                                 break;
                             }
                         case 50: {
-                                message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32());
+                                message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32(), undefined, long + 1);
                                 break;
                             }
                         case 3: {
@@ -151814,7 +158661,7 @@
                                 break;
                             }
                         default:
-                            reader.skipType(tag & 7);
+                            reader.skipType(tag & 7, long);
                             break;
                         }
                     }
@@ -151845,14 +158692,18 @@
                  * @param {Object.<string,*>} message Plain object to verify
                  * @returns {string|null} `null` if valid, otherwise the reason why it is not
                  */
-                ExtensionRangeOptions.verify = function verify(message) {
+                ExtensionRangeOptions.verify = function verify(message, long) {
                     if (typeof message !== "object" || message === null)
                         return "object expected";
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $util.recursionLimit)
+                        return "maximum nesting depth exceeded";
                     if (message.uninterpretedOption != null && message.hasOwnProperty("uninterpretedOption")) {
                         if (!Array.isArray(message.uninterpretedOption))
                             return "uninterpretedOption: array expected";
                         for (var i = 0; i < message.uninterpretedOption.length; ++i) {
-                            var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i]);
+                            var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i], long + 1);
                             if (error)
                                 return "uninterpretedOption." + error;
                         }
@@ -151861,13 +158712,13 @@
                         if (!Array.isArray(message.declaration))
                             return "declaration: array expected";
                         for (var i = 0; i < message.declaration.length; ++i) {
-                            var error = $root.google.protobuf.ExtensionRangeOptions.Declaration.verify(message.declaration[i]);
+                            var error = $root.google.protobuf.ExtensionRangeOptions.Declaration.verify(message.declaration[i], long + 1);
                             if (error)
                                 return "declaration." + error;
                         }
                     }
                     if (message.features != null && message.hasOwnProperty("features")) {
-                        var error = $root.google.protobuf.FeatureSet.verify(message.features);
+                        var error = $root.google.protobuf.FeatureSet.verify(message.features, long + 1);
                         if (error)
                             return "features." + error;
                     }
@@ -151890,9 +158741,13 @@
                  * @param {Object.<string,*>} object Plain object
                  * @returns {google.protobuf.ExtensionRangeOptions} ExtensionRangeOptions
                  */
-                ExtensionRangeOptions.fromObject = function fromObject(object) {
+                ExtensionRangeOptions.fromObject = function fromObject(object, long) {
                     if (object instanceof $root.google.protobuf.ExtensionRangeOptions)
                         return object;
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $util.recursionLimit)
+                        throw Error("maximum nesting depth exceeded");
                     var message = new $root.google.protobuf.ExtensionRangeOptions();
                     if (object.uninterpretedOption) {
                         if (!Array.isArray(object.uninterpretedOption))
@@ -151901,7 +158756,7 @@
                         for (var i = 0; i < object.uninterpretedOption.length; ++i) {
                             if (typeof object.uninterpretedOption[i] !== "object")
                                 throw TypeError(".google.protobuf.ExtensionRangeOptions.uninterpretedOption: object expected");
-                            message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i]);
+                            message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i], long + 1);
                         }
                     }
                     if (object.declaration) {
@@ -151911,13 +158766,13 @@
                         for (var i = 0; i < object.declaration.length; ++i) {
                             if (typeof object.declaration[i] !== "object")
                                 throw TypeError(".google.protobuf.ExtensionRangeOptions.declaration: object expected");
-                            message.declaration[i] = $root.google.protobuf.ExtensionRangeOptions.Declaration.fromObject(object.declaration[i]);
+                            message.declaration[i] = $root.google.protobuf.ExtensionRangeOptions.Declaration.fromObject(object.declaration[i], long + 1);
                         }
                     }
                     if (object.features != null) {
                         if (typeof object.features !== "object")
                             throw TypeError(".google.protobuf.ExtensionRangeOptions.features: object expected");
-                        message.features = $root.google.protobuf.FeatureSet.fromObject(object.features);
+                        message.features = $root.google.protobuf.FeatureSet.fromObject(object.features, long + 1);
                     }
                     switch (object.verification) {
                     case "DECLARATION":
@@ -152026,7 +158881,7 @@
                     function Declaration(properties) {
                         if (properties)
                             for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                if (properties[keys[i]] != null)
+                                if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                     this[keys[i]] = properties[keys[i]];
                     }
     
@@ -152131,9 +158986,13 @@
                      * @throws {Error} If the payload is not a reader or valid buffer
                      * @throws {$protobuf.util.ProtocolError} If required fields are missing
                      */
-                    Declaration.decode = function decode(reader, length, error) {
+                    Declaration.decode = function decode(reader, length, error, long) {
                         if (!(reader instanceof $Reader))
                             reader = $Reader.create(reader);
+                        if (long === undefined)
+                            long = 0;
+                        if (long > $Reader.recursionLimit)
+                            throw Error("maximum nesting depth exceeded");
                         var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.ExtensionRangeOptions.Declaration();
                         while (reader.pos < end) {
                             var tag = reader.uint32();
@@ -152161,7 +159020,7 @@
                                     break;
                                 }
                             default:
-                                reader.skipType(tag & 7);
+                                reader.skipType(tag & 7, long);
                                 break;
                             }
                         }
@@ -152192,9 +159051,13 @@
                      * @param {Object.<string,*>} message Plain object to verify
                      * @returns {string|null} `null` if valid, otherwise the reason why it is not
                      */
-                    Declaration.verify = function verify(message) {
+                    Declaration.verify = function verify(message, long) {
                         if (typeof message !== "object" || message === null)
                             return "object expected";
+                        if (long === undefined)
+                            long = 0;
+                        if (long > $util.recursionLimit)
+                            return "maximum nesting depth exceeded";
                         if (message.number != null && message.hasOwnProperty("number"))
                             if (!$util.isInteger(message.number))
                                 return "number: integer expected";
@@ -152221,9 +159084,13 @@
                      * @param {Object.<string,*>} object Plain object
                      * @returns {google.protobuf.ExtensionRangeOptions.Declaration} Declaration
                      */
-                    Declaration.fromObject = function fromObject(object) {
+                    Declaration.fromObject = function fromObject(object, long) {
                         if (object instanceof $root.google.protobuf.ExtensionRangeOptions.Declaration)
                             return object;
+                        if (long === undefined)
+                            long = 0;
+                        if (long > $util.recursionLimit)
+                            throw Error("maximum nesting depth exceeded");
                         var message = new $root.google.protobuf.ExtensionRangeOptions.Declaration();
                         if (object.number != null)
                             message.number = object.number | 0;
@@ -152347,7 +159214,7 @@
                 function FieldDescriptorProto(properties) {
                     if (properties)
                         for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                            if (properties[keys[i]] != null)
+                            if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                 this[keys[i]] = properties[keys[i]];
                 }
     
@@ -152512,9 +159379,13 @@
                  * @throws {Error} If the payload is not a reader or valid buffer
                  * @throws {$protobuf.util.ProtocolError} If required fields are missing
                  */
-                FieldDescriptorProto.decode = function decode(reader, length, error) {
+                FieldDescriptorProto.decode = function decode(reader, length, error, long) {
                     if (!(reader instanceof $Reader))
                         reader = $Reader.create(reader);
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $Reader.recursionLimit)
+                        throw Error("maximum nesting depth exceeded");
                     var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FieldDescriptorProto();
                     while (reader.pos < end) {
                         var tag = reader.uint32();
@@ -152558,7 +159429,7 @@
                                 break;
                             }
                         case 8: {
-                                message.options = $root.google.protobuf.FieldOptions.decode(reader, reader.uint32());
+                                message.options = $root.google.protobuf.FieldOptions.decode(reader, reader.uint32(), undefined, long + 1);
                                 break;
                             }
                         case 17: {
@@ -152566,7 +159437,7 @@
                                 break;
                             }
                         default:
-                            reader.skipType(tag & 7);
+                            reader.skipType(tag & 7, long);
                             break;
                         }
                     }
@@ -152597,9 +159468,13 @@
                  * @param {Object.<string,*>} message Plain object to verify
                  * @returns {string|null} `null` if valid, otherwise the reason why it is not
                  */
-                FieldDescriptorProto.verify = function verify(message) {
+                FieldDescriptorProto.verify = function verify(message, long) {
                     if (typeof message !== "object" || message === null)
                         return "object expected";
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $util.recursionLimit)
+                        return "maximum nesting depth exceeded";
                     if (message.name != null && message.hasOwnProperty("name"))
                         if (!$util.isString(message.name))
                             return "name: string expected";
@@ -152655,7 +159530,7 @@
                         if (!$util.isString(message.jsonName))
                             return "jsonName: string expected";
                     if (message.options != null && message.hasOwnProperty("options")) {
-                        var error = $root.google.protobuf.FieldOptions.verify(message.options);
+                        var error = $root.google.protobuf.FieldOptions.verify(message.options, long + 1);
                         if (error)
                             return "options." + error;
                     }
@@ -152673,9 +159548,13 @@
                  * @param {Object.<string,*>} object Plain object
                  * @returns {google.protobuf.FieldDescriptorProto} FieldDescriptorProto
                  */
-                FieldDescriptorProto.fromObject = function fromObject(object) {
+                FieldDescriptorProto.fromObject = function fromObject(object, long) {
                     if (object instanceof $root.google.protobuf.FieldDescriptorProto)
                         return object;
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $util.recursionLimit)
+                        throw Error("maximum nesting depth exceeded");
                     var message = new $root.google.protobuf.FieldDescriptorProto();
                     if (object.name != null)
                         message.name = String(object.name);
@@ -152794,7 +159673,7 @@
                     if (object.options != null) {
                         if (typeof object.options !== "object")
                             throw TypeError(".google.protobuf.FieldDescriptorProto.options: object expected");
-                        message.options = $root.google.protobuf.FieldOptions.fromObject(object.options);
+                        message.options = $root.google.protobuf.FieldOptions.fromObject(object.options, long + 1);
                     }
                     if (object.proto3Optional != null)
                         message.proto3Optional = Boolean(object.proto3Optional);
@@ -152964,7 +159843,7 @@
                 function OneofDescriptorProto(properties) {
                     if (properties)
                         for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                            if (properties[keys[i]] != null)
+                            if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                 this[keys[i]] = properties[keys[i]];
                 }
     
@@ -153039,9 +159918,13 @@
                  * @throws {Error} If the payload is not a reader or valid buffer
                  * @throws {$protobuf.util.ProtocolError} If required fields are missing
                  */
-                OneofDescriptorProto.decode = function decode(reader, length, error) {
+                OneofDescriptorProto.decode = function decode(reader, length, error, long) {
                     if (!(reader instanceof $Reader))
                         reader = $Reader.create(reader);
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $Reader.recursionLimit)
+                        throw Error("maximum nesting depth exceeded");
                     var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.OneofDescriptorProto();
                     while (reader.pos < end) {
                         var tag = reader.uint32();
@@ -153053,11 +159936,11 @@
                                 break;
                             }
                         case 2: {
-                                message.options = $root.google.protobuf.OneofOptions.decode(reader, reader.uint32());
+                                message.options = $root.google.protobuf.OneofOptions.decode(reader, reader.uint32(), undefined, long + 1);
                                 break;
                             }
                         default:
-                            reader.skipType(tag & 7);
+                            reader.skipType(tag & 7, long);
                             break;
                         }
                     }
@@ -153088,14 +159971,18 @@
                  * @param {Object.<string,*>} message Plain object to verify
                  * @returns {string|null} `null` if valid, otherwise the reason why it is not
                  */
-                OneofDescriptorProto.verify = function verify(message) {
+                OneofDescriptorProto.verify = function verify(message, long) {
                     if (typeof message !== "object" || message === null)
                         return "object expected";
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $util.recursionLimit)
+                        return "maximum nesting depth exceeded";
                     if (message.name != null && message.hasOwnProperty("name"))
                         if (!$util.isString(message.name))
                             return "name: string expected";
                     if (message.options != null && message.hasOwnProperty("options")) {
-                        var error = $root.google.protobuf.OneofOptions.verify(message.options);
+                        var error = $root.google.protobuf.OneofOptions.verify(message.options, long + 1);
                         if (error)
                             return "options." + error;
                     }
@@ -153110,16 +159997,20 @@
                  * @param {Object.<string,*>} object Plain object
                  * @returns {google.protobuf.OneofDescriptorProto} OneofDescriptorProto
                  */
-                OneofDescriptorProto.fromObject = function fromObject(object) {
+                OneofDescriptorProto.fromObject = function fromObject(object, long) {
                     if (object instanceof $root.google.protobuf.OneofDescriptorProto)
                         return object;
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $util.recursionLimit)
+                        throw Error("maximum nesting depth exceeded");
                     var message = new $root.google.protobuf.OneofDescriptorProto();
                     if (object.name != null)
                         message.name = String(object.name);
                     if (object.options != null) {
                         if (typeof object.options !== "object")
                             throw TypeError(".google.protobuf.OneofDescriptorProto.options: object expected");
-                        message.options = $root.google.protobuf.OneofOptions.fromObject(object.options);
+                        message.options = $root.google.protobuf.OneofOptions.fromObject(object.options, long + 1);
                     }
                     return message;
                 };
@@ -153188,6 +160079,7 @@
                  * @property {google.protobuf.IEnumOptions|null} [options] EnumDescriptorProto options
                  * @property {Array.<google.protobuf.EnumDescriptorProto.IEnumReservedRange>|null} [reservedRange] EnumDescriptorProto reservedRange
                  * @property {Array.<string>|null} [reservedName] EnumDescriptorProto reservedName
+                 * @property {google.protobuf.SymbolVisibility|null} [visibility] EnumDescriptorProto visibility
                  */
     
                 /**
@@ -153204,7 +160096,7 @@
                     this.reservedName = [];
                     if (properties)
                         for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                            if (properties[keys[i]] != null)
+                            if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                 this[keys[i]] = properties[keys[i]];
                 }
     
@@ -153248,6 +160140,14 @@
                  */
                 EnumDescriptorProto.prototype.reservedName = $util.emptyArray;
     
+                /**
+                 * EnumDescriptorProto visibility.
+                 * @member {google.protobuf.SymbolVisibility} visibility
+                 * @memberof google.protobuf.EnumDescriptorProto
+                 * @instance
+                 */
+                EnumDescriptorProto.prototype.visibility = 0;
+    
                 /**
                  * Creates a new EnumDescriptorProto instance using the specified properties.
                  * @function create
@@ -153285,6 +160185,8 @@
                     if (message.reservedName != null && message.reservedName.length)
                         for (var i = 0; i < message.reservedName.length; ++i)
                             writer.uint32(/* id 5, wireType 2 =*/42).string(message.reservedName[i]);
+                    if (message.visibility != null && Object.hasOwnProperty.call(message, "visibility"))
+                        writer.uint32(/* id 6, wireType 0 =*/48).int32(message.visibility);
                     return writer;
                 };
     
@@ -153312,9 +160214,13 @@
                  * @throws {Error} If the payload is not a reader or valid buffer
                  * @throws {$protobuf.util.ProtocolError} If required fields are missing
                  */
-                EnumDescriptorProto.decode = function decode(reader, length, error) {
+                EnumDescriptorProto.decode = function decode(reader, length, error, long) {
                     if (!(reader instanceof $Reader))
                         reader = $Reader.create(reader);
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $Reader.recursionLimit)
+                        throw Error("maximum nesting depth exceeded");
                     var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.EnumDescriptorProto();
                     while (reader.pos < end) {
                         var tag = reader.uint32();
@@ -153328,17 +160234,17 @@
                         case 2: {
                                 if (!(message.value && message.value.length))
                                     message.value = [];
-                                message.value.push($root.google.protobuf.EnumValueDescriptorProto.decode(reader, reader.uint32()));
+                                message.value.push($root.google.protobuf.EnumValueDescriptorProto.decode(reader, reader.uint32(), undefined, long + 1));
                                 break;
                             }
                         case 3: {
-                                message.options = $root.google.protobuf.EnumOptions.decode(reader, reader.uint32());
+                                message.options = $root.google.protobuf.EnumOptions.decode(reader, reader.uint32(), undefined, long + 1);
                                 break;
                             }
                         case 4: {
                                 if (!(message.reservedRange && message.reservedRange.length))
                                     message.reservedRange = [];
-                                message.reservedRange.push($root.google.protobuf.EnumDescriptorProto.EnumReservedRange.decode(reader, reader.uint32()));
+                                message.reservedRange.push($root.google.protobuf.EnumDescriptorProto.EnumReservedRange.decode(reader, reader.uint32(), undefined, long + 1));
                                 break;
                             }
                         case 5: {
@@ -153347,8 +160253,12 @@
                                 message.reservedName.push(reader.string());
                                 break;
                             }
+                        case 6: {
+                                message.visibility = reader.int32();
+                                break;
+                            }
                         default:
-                            reader.skipType(tag & 7);
+                            reader.skipType(tag & 7, long);
                             break;
                         }
                     }
@@ -153379,9 +160289,13 @@
                  * @param {Object.<string,*>} message Plain object to verify
                  * @returns {string|null} `null` if valid, otherwise the reason why it is not
                  */
-                EnumDescriptorProto.verify = function verify(message) {
+                EnumDescriptorProto.verify = function verify(message, long) {
                     if (typeof message !== "object" || message === null)
                         return "object expected";
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $util.recursionLimit)
+                        return "maximum nesting depth exceeded";
                     if (message.name != null && message.hasOwnProperty("name"))
                         if (!$util.isString(message.name))
                             return "name: string expected";
@@ -153389,13 +160303,13 @@
                         if (!Array.isArray(message.value))
                             return "value: array expected";
                         for (var i = 0; i < message.value.length; ++i) {
-                            var error = $root.google.protobuf.EnumValueDescriptorProto.verify(message.value[i]);
+                            var error = $root.google.protobuf.EnumValueDescriptorProto.verify(message.value[i], long + 1);
                             if (error)
                                 return "value." + error;
                         }
                     }
                     if (message.options != null && message.hasOwnProperty("options")) {
-                        var error = $root.google.protobuf.EnumOptions.verify(message.options);
+                        var error = $root.google.protobuf.EnumOptions.verify(message.options, long + 1);
                         if (error)
                             return "options." + error;
                     }
@@ -153403,7 +160317,7 @@
                         if (!Array.isArray(message.reservedRange))
                             return "reservedRange: array expected";
                         for (var i = 0; i < message.reservedRange.length; ++i) {
-                            var error = $root.google.protobuf.EnumDescriptorProto.EnumReservedRange.verify(message.reservedRange[i]);
+                            var error = $root.google.protobuf.EnumDescriptorProto.EnumReservedRange.verify(message.reservedRange[i], long + 1);
                             if (error)
                                 return "reservedRange." + error;
                         }
@@ -153415,6 +160329,15 @@
                             if (!$util.isString(message.reservedName[i]))
                                 return "reservedName: string[] expected";
                     }
+                    if (message.visibility != null && message.hasOwnProperty("visibility"))
+                        switch (message.visibility) {
+                        default:
+                            return "visibility: enum value expected";
+                        case 0:
+                        case 1:
+                        case 2:
+                            break;
+                        }
                     return null;
                 };
     
@@ -153426,9 +160349,13 @@
                  * @param {Object.<string,*>} object Plain object
                  * @returns {google.protobuf.EnumDescriptorProto} EnumDescriptorProto
                  */
-                EnumDescriptorProto.fromObject = function fromObject(object) {
+                EnumDescriptorProto.fromObject = function fromObject(object, long) {
                     if (object instanceof $root.google.protobuf.EnumDescriptorProto)
                         return object;
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $util.recursionLimit)
+                        throw Error("maximum nesting depth exceeded");
                     var message = new $root.google.protobuf.EnumDescriptorProto();
                     if (object.name != null)
                         message.name = String(object.name);
@@ -153439,13 +160366,13 @@
                         for (var i = 0; i < object.value.length; ++i) {
                             if (typeof object.value[i] !== "object")
                                 throw TypeError(".google.protobuf.EnumDescriptorProto.value: object expected");
-                            message.value[i] = $root.google.protobuf.EnumValueDescriptorProto.fromObject(object.value[i]);
+                            message.value[i] = $root.google.protobuf.EnumValueDescriptorProto.fromObject(object.value[i], long + 1);
                         }
                     }
                     if (object.options != null) {
                         if (typeof object.options !== "object")
                             throw TypeError(".google.protobuf.EnumDescriptorProto.options: object expected");
-                        message.options = $root.google.protobuf.EnumOptions.fromObject(object.options);
+                        message.options = $root.google.protobuf.EnumOptions.fromObject(object.options, long + 1);
                     }
                     if (object.reservedRange) {
                         if (!Array.isArray(object.reservedRange))
@@ -153454,7 +160381,7 @@
                         for (var i = 0; i < object.reservedRange.length; ++i) {
                             if (typeof object.reservedRange[i] !== "object")
                                 throw TypeError(".google.protobuf.EnumDescriptorProto.reservedRange: object expected");
-                            message.reservedRange[i] = $root.google.protobuf.EnumDescriptorProto.EnumReservedRange.fromObject(object.reservedRange[i]);
+                            message.reservedRange[i] = $root.google.protobuf.EnumDescriptorProto.EnumReservedRange.fromObject(object.reservedRange[i], long + 1);
                         }
                     }
                     if (object.reservedName) {
@@ -153464,6 +160391,26 @@
                         for (var i = 0; i < object.reservedName.length; ++i)
                             message.reservedName[i] = String(object.reservedName[i]);
                     }
+                    switch (object.visibility) {
+                    default:
+                        if (typeof object.visibility === "number") {
+                            message.visibility = object.visibility;
+                            break;
+                        }
+                        break;
+                    case "VISIBILITY_UNSET":
+                    case 0:
+                        message.visibility = 0;
+                        break;
+                    case "VISIBILITY_LOCAL":
+                    case 1:
+                        message.visibility = 1;
+                        break;
+                    case "VISIBILITY_EXPORT":
+                    case 2:
+                        message.visibility = 2;
+                        break;
+                    }
                     return message;
                 };
     
@@ -153488,6 +160435,7 @@
                     if (options.defaults) {
                         object.name = "";
                         object.options = null;
+                        object.visibility = options.enums === String ? "VISIBILITY_UNSET" : 0;
                     }
                     if (message.name != null && message.hasOwnProperty("name"))
                         object.name = message.name;
@@ -153508,6 +160456,8 @@
                         for (var j = 0; j < message.reservedName.length; ++j)
                             object.reservedName[j] = message.reservedName[j];
                     }
+                    if (message.visibility != null && message.hasOwnProperty("visibility"))
+                        object.visibility = options.enums === String ? $root.google.protobuf.SymbolVisibility[message.visibility] === undefined ? message.visibility : $root.google.protobuf.SymbolVisibility[message.visibility] : message.visibility;
                     return object;
                 };
     
@@ -153558,7 +160508,7 @@
                     function EnumReservedRange(properties) {
                         if (properties)
                             for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                if (properties[keys[i]] != null)
+                                if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                     this[keys[i]] = properties[keys[i]];
                     }
     
@@ -153633,9 +160583,13 @@
                      * @throws {Error} If the payload is not a reader or valid buffer
                      * @throws {$protobuf.util.ProtocolError} If required fields are missing
                      */
-                    EnumReservedRange.decode = function decode(reader, length, error) {
+                    EnumReservedRange.decode = function decode(reader, length, error, long) {
                         if (!(reader instanceof $Reader))
                             reader = $Reader.create(reader);
+                        if (long === undefined)
+                            long = 0;
+                        if (long > $Reader.recursionLimit)
+                            throw Error("maximum nesting depth exceeded");
                         var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.EnumDescriptorProto.EnumReservedRange();
                         while (reader.pos < end) {
                             var tag = reader.uint32();
@@ -153651,7 +160605,7 @@
                                     break;
                                 }
                             default:
-                                reader.skipType(tag & 7);
+                                reader.skipType(tag & 7, long);
                                 break;
                             }
                         }
@@ -153682,9 +160636,13 @@
                      * @param {Object.<string,*>} message Plain object to verify
                      * @returns {string|null} `null` if valid, otherwise the reason why it is not
                      */
-                    EnumReservedRange.verify = function verify(message) {
+                    EnumReservedRange.verify = function verify(message, long) {
                         if (typeof message !== "object" || message === null)
                             return "object expected";
+                        if (long === undefined)
+                            long = 0;
+                        if (long > $util.recursionLimit)
+                            return "maximum nesting depth exceeded";
                         if (message.start != null && message.hasOwnProperty("start"))
                             if (!$util.isInteger(message.start))
                                 return "start: integer expected";
@@ -153702,9 +160660,13 @@
                      * @param {Object.<string,*>} object Plain object
                      * @returns {google.protobuf.EnumDescriptorProto.EnumReservedRange} EnumReservedRange
                      */
-                    EnumReservedRange.fromObject = function fromObject(object) {
+                    EnumReservedRange.fromObject = function fromObject(object, long) {
                         if (object instanceof $root.google.protobuf.EnumDescriptorProto.EnumReservedRange)
                             return object;
+                        if (long === undefined)
+                            long = 0;
+                        if (long > $util.recursionLimit)
+                            throw Error("maximum nesting depth exceeded");
                         var message = new $root.google.protobuf.EnumDescriptorProto.EnumReservedRange();
                         if (object.start != null)
                             message.start = object.start | 0;
@@ -153791,7 +160753,7 @@
                 function EnumValueDescriptorProto(properties) {
                     if (properties)
                         for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                            if (properties[keys[i]] != null)
+                            if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                 this[keys[i]] = properties[keys[i]];
                 }
     
@@ -153876,9 +160838,13 @@
                  * @throws {Error} If the payload is not a reader or valid buffer
                  * @throws {$protobuf.util.ProtocolError} If required fields are missing
                  */
-                EnumValueDescriptorProto.decode = function decode(reader, length, error) {
+                EnumValueDescriptorProto.decode = function decode(reader, length, error, long) {
                     if (!(reader instanceof $Reader))
                         reader = $Reader.create(reader);
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $Reader.recursionLimit)
+                        throw Error("maximum nesting depth exceeded");
                     var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.EnumValueDescriptorProto();
                     while (reader.pos < end) {
                         var tag = reader.uint32();
@@ -153894,11 +160860,11 @@
                                 break;
                             }
                         case 3: {
-                                message.options = $root.google.protobuf.EnumValueOptions.decode(reader, reader.uint32());
+                                message.options = $root.google.protobuf.EnumValueOptions.decode(reader, reader.uint32(), undefined, long + 1);
                                 break;
                             }
                         default:
-                            reader.skipType(tag & 7);
+                            reader.skipType(tag & 7, long);
                             break;
                         }
                     }
@@ -153929,9 +160895,13 @@
                  * @param {Object.<string,*>} message Plain object to verify
                  * @returns {string|null} `null` if valid, otherwise the reason why it is not
                  */
-                EnumValueDescriptorProto.verify = function verify(message) {
+                EnumValueDescriptorProto.verify = function verify(message, long) {
                     if (typeof message !== "object" || message === null)
                         return "object expected";
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $util.recursionLimit)
+                        return "maximum nesting depth exceeded";
                     if (message.name != null && message.hasOwnProperty("name"))
                         if (!$util.isString(message.name))
                             return "name: string expected";
@@ -153939,7 +160909,7 @@
                         if (!$util.isInteger(message.number))
                             return "number: integer expected";
                     if (message.options != null && message.hasOwnProperty("options")) {
-                        var error = $root.google.protobuf.EnumValueOptions.verify(message.options);
+                        var error = $root.google.protobuf.EnumValueOptions.verify(message.options, long + 1);
                         if (error)
                             return "options." + error;
                     }
@@ -153954,9 +160924,13 @@
                  * @param {Object.<string,*>} object Plain object
                  * @returns {google.protobuf.EnumValueDescriptorProto} EnumValueDescriptorProto
                  */
-                EnumValueDescriptorProto.fromObject = function fromObject(object) {
+                EnumValueDescriptorProto.fromObject = function fromObject(object, long) {
                     if (object instanceof $root.google.protobuf.EnumValueDescriptorProto)
                         return object;
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $util.recursionLimit)
+                        throw Error("maximum nesting depth exceeded");
                     var message = new $root.google.protobuf.EnumValueDescriptorProto();
                     if (object.name != null)
                         message.name = String(object.name);
@@ -153965,7 +160939,7 @@
                     if (object.options != null) {
                         if (typeof object.options !== "object")
                             throw TypeError(".google.protobuf.EnumValueDescriptorProto.options: object expected");
-                        message.options = $root.google.protobuf.EnumValueOptions.fromObject(object.options);
+                        message.options = $root.google.protobuf.EnumValueOptions.fromObject(object.options, long + 1);
                     }
                     return message;
                 };
@@ -154049,7 +161023,7 @@
                     this.method = [];
                     if (properties)
                         for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                            if (properties[keys[i]] != null)
+                            if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                 this[keys[i]] = properties[keys[i]];
                 }
     
@@ -154135,9 +161109,13 @@
                  * @throws {Error} If the payload is not a reader or valid buffer
                  * @throws {$protobuf.util.ProtocolError} If required fields are missing
                  */
-                ServiceDescriptorProto.decode = function decode(reader, length, error) {
+                ServiceDescriptorProto.decode = function decode(reader, length, error, long) {
                     if (!(reader instanceof $Reader))
                         reader = $Reader.create(reader);
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $Reader.recursionLimit)
+                        throw Error("maximum nesting depth exceeded");
                     var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.ServiceDescriptorProto();
                     while (reader.pos < end) {
                         var tag = reader.uint32();
@@ -154151,15 +161129,15 @@
                         case 2: {
                                 if (!(message.method && message.method.length))
                                     message.method = [];
-                                message.method.push($root.google.protobuf.MethodDescriptorProto.decode(reader, reader.uint32()));
+                                message.method.push($root.google.protobuf.MethodDescriptorProto.decode(reader, reader.uint32(), undefined, long + 1));
                                 break;
                             }
                         case 3: {
-                                message.options = $root.google.protobuf.ServiceOptions.decode(reader, reader.uint32());
+                                message.options = $root.google.protobuf.ServiceOptions.decode(reader, reader.uint32(), undefined, long + 1);
                                 break;
                             }
                         default:
-                            reader.skipType(tag & 7);
+                            reader.skipType(tag & 7, long);
                             break;
                         }
                     }
@@ -154190,9 +161168,13 @@
                  * @param {Object.<string,*>} message Plain object to verify
                  * @returns {string|null} `null` if valid, otherwise the reason why it is not
                  */
-                ServiceDescriptorProto.verify = function verify(message) {
+                ServiceDescriptorProto.verify = function verify(message, long) {
                     if (typeof message !== "object" || message === null)
                         return "object expected";
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $util.recursionLimit)
+                        return "maximum nesting depth exceeded";
                     if (message.name != null && message.hasOwnProperty("name"))
                         if (!$util.isString(message.name))
                             return "name: string expected";
@@ -154200,13 +161182,13 @@
                         if (!Array.isArray(message.method))
                             return "method: array expected";
                         for (var i = 0; i < message.method.length; ++i) {
-                            var error = $root.google.protobuf.MethodDescriptorProto.verify(message.method[i]);
+                            var error = $root.google.protobuf.MethodDescriptorProto.verify(message.method[i], long + 1);
                             if (error)
                                 return "method." + error;
                         }
                     }
                     if (message.options != null && message.hasOwnProperty("options")) {
-                        var error = $root.google.protobuf.ServiceOptions.verify(message.options);
+                        var error = $root.google.protobuf.ServiceOptions.verify(message.options, long + 1);
                         if (error)
                             return "options." + error;
                     }
@@ -154221,9 +161203,13 @@
                  * @param {Object.<string,*>} object Plain object
                  * @returns {google.protobuf.ServiceDescriptorProto} ServiceDescriptorProto
                  */
-                ServiceDescriptorProto.fromObject = function fromObject(object) {
+                ServiceDescriptorProto.fromObject = function fromObject(object, long) {
                     if (object instanceof $root.google.protobuf.ServiceDescriptorProto)
                         return object;
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $util.recursionLimit)
+                        throw Error("maximum nesting depth exceeded");
                     var message = new $root.google.protobuf.ServiceDescriptorProto();
                     if (object.name != null)
                         message.name = String(object.name);
@@ -154234,13 +161220,13 @@
                         for (var i = 0; i < object.method.length; ++i) {
                             if (typeof object.method[i] !== "object")
                                 throw TypeError(".google.protobuf.ServiceDescriptorProto.method: object expected");
-                            message.method[i] = $root.google.protobuf.MethodDescriptorProto.fromObject(object.method[i]);
+                            message.method[i] = $root.google.protobuf.MethodDescriptorProto.fromObject(object.method[i], long + 1);
                         }
                     }
                     if (object.options != null) {
                         if (typeof object.options !== "object")
                             throw TypeError(".google.protobuf.ServiceDescriptorProto.options: object expected");
-                        message.options = $root.google.protobuf.ServiceOptions.fromObject(object.options);
+                        message.options = $root.google.protobuf.ServiceOptions.fromObject(object.options, long + 1);
                     }
                     return message;
                 };
@@ -154330,7 +161316,7 @@
                 function MethodDescriptorProto(properties) {
                     if (properties)
                         for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                            if (properties[keys[i]] != null)
+                            if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                 this[keys[i]] = properties[keys[i]];
                 }
     
@@ -154445,9 +161431,13 @@
                  * @throws {Error} If the payload is not a reader or valid buffer
                  * @throws {$protobuf.util.ProtocolError} If required fields are missing
                  */
-                MethodDescriptorProto.decode = function decode(reader, length, error) {
+                MethodDescriptorProto.decode = function decode(reader, length, error, long) {
                     if (!(reader instanceof $Reader))
                         reader = $Reader.create(reader);
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $Reader.recursionLimit)
+                        throw Error("maximum nesting depth exceeded");
                     var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.MethodDescriptorProto();
                     while (reader.pos < end) {
                         var tag = reader.uint32();
@@ -154467,7 +161457,7 @@
                                 break;
                             }
                         case 4: {
-                                message.options = $root.google.protobuf.MethodOptions.decode(reader, reader.uint32());
+                                message.options = $root.google.protobuf.MethodOptions.decode(reader, reader.uint32(), undefined, long + 1);
                                 break;
                             }
                         case 5: {
@@ -154479,7 +161469,7 @@
                                 break;
                             }
                         default:
-                            reader.skipType(tag & 7);
+                            reader.skipType(tag & 7, long);
                             break;
                         }
                     }
@@ -154510,9 +161500,13 @@
                  * @param {Object.<string,*>} message Plain object to verify
                  * @returns {string|null} `null` if valid, otherwise the reason why it is not
                  */
-                MethodDescriptorProto.verify = function verify(message) {
+                MethodDescriptorProto.verify = function verify(message, long) {
                     if (typeof message !== "object" || message === null)
                         return "object expected";
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $util.recursionLimit)
+                        return "maximum nesting depth exceeded";
                     if (message.name != null && message.hasOwnProperty("name"))
                         if (!$util.isString(message.name))
                             return "name: string expected";
@@ -154523,7 +161517,7 @@
                         if (!$util.isString(message.outputType))
                             return "outputType: string expected";
                     if (message.options != null && message.hasOwnProperty("options")) {
-                        var error = $root.google.protobuf.MethodOptions.verify(message.options);
+                        var error = $root.google.protobuf.MethodOptions.verify(message.options, long + 1);
                         if (error)
                             return "options." + error;
                     }
@@ -154544,9 +161538,13 @@
                  * @param {Object.<string,*>} object Plain object
                  * @returns {google.protobuf.MethodDescriptorProto} MethodDescriptorProto
                  */
-                MethodDescriptorProto.fromObject = function fromObject(object) {
+                MethodDescriptorProto.fromObject = function fromObject(object, long) {
                     if (object instanceof $root.google.protobuf.MethodDescriptorProto)
                         return object;
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $util.recursionLimit)
+                        throw Error("maximum nesting depth exceeded");
                     var message = new $root.google.protobuf.MethodDescriptorProto();
                     if (object.name != null)
                         message.name = String(object.name);
@@ -154557,7 +161555,7 @@
                     if (object.options != null) {
                         if (typeof object.options !== "object")
                             throw TypeError(".google.protobuf.MethodDescriptorProto.options: object expected");
-                        message.options = $root.google.protobuf.MethodOptions.fromObject(object.options);
+                        message.options = $root.google.protobuf.MethodOptions.fromObject(object.options, long + 1);
                     }
                     if (object.clientStreaming != null)
                         message.clientStreaming = Boolean(object.clientStreaming);
@@ -154674,7 +161672,7 @@
                     this[".google.api.resourceDefinition"] = [];
                     if (properties)
                         for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                            if (properties[keys[i]] != null)
+                            if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                 this[keys[i]] = properties[keys[i]];
                 }
     
@@ -154951,9 +161949,13 @@
                  * @throws {Error} If the payload is not a reader or valid buffer
                  * @throws {$protobuf.util.ProtocolError} If required fields are missing
                  */
-                FileOptions.decode = function decode(reader, length, error) {
+                FileOptions.decode = function decode(reader, length, error, long) {
                     if (!(reader instanceof $Reader))
                         reader = $Reader.create(reader);
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $Reader.recursionLimit)
+                        throw Error("maximum nesting depth exceeded");
                     var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FileOptions();
                     while (reader.pos < end) {
                         var tag = reader.uint32();
@@ -155037,23 +162039,23 @@
                                 break;
                             }
                         case 50: {
-                                message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32());
+                                message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32(), undefined, long + 1);
                                 break;
                             }
                         case 999: {
                                 if (!(message.uninterpretedOption && message.uninterpretedOption.length))
                                     message.uninterpretedOption = [];
-                                message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32()));
+                                message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32(), undefined, long + 1));
                                 break;
                             }
                         case 1053: {
                                 if (!(message[".google.api.resourceDefinition"] && message[".google.api.resourceDefinition"].length))
                                     message[".google.api.resourceDefinition"] = [];
-                                message[".google.api.resourceDefinition"].push($root.google.api.ResourceDescriptor.decode(reader, reader.uint32()));
+                                message[".google.api.resourceDefinition"].push($root.google.api.ResourceDescriptor.decode(reader, reader.uint32(), undefined, long + 1));
                                 break;
                             }
                         default:
-                            reader.skipType(tag & 7);
+                            reader.skipType(tag & 7, long);
                             break;
                         }
                     }
@@ -155084,9 +162086,13 @@
                  * @param {Object.<string,*>} message Plain object to verify
                  * @returns {string|null} `null` if valid, otherwise the reason why it is not
                  */
-                FileOptions.verify = function verify(message) {
+                FileOptions.verify = function verify(message, long) {
                     if (typeof message !== "object" || message === null)
                         return "object expected";
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $util.recursionLimit)
+                        return "maximum nesting depth exceeded";
                     if (message.javaPackage != null && message.hasOwnProperty("javaPackage"))
                         if (!$util.isString(message.javaPackage))
                             return "javaPackage: string expected";
@@ -155151,7 +162157,7 @@
                         if (!$util.isString(message.rubyPackage))
                             return "rubyPackage: string expected";
                     if (message.features != null && message.hasOwnProperty("features")) {
-                        var error = $root.google.protobuf.FeatureSet.verify(message.features);
+                        var error = $root.google.protobuf.FeatureSet.verify(message.features, long + 1);
                         if (error)
                             return "features." + error;
                     }
@@ -155159,7 +162165,7 @@
                         if (!Array.isArray(message.uninterpretedOption))
                             return "uninterpretedOption: array expected";
                         for (var i = 0; i < message.uninterpretedOption.length; ++i) {
-                            var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i]);
+                            var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i], long + 1);
                             if (error)
                                 return "uninterpretedOption." + error;
                         }
@@ -155168,7 +162174,7 @@
                         if (!Array.isArray(message[".google.api.resourceDefinition"]))
                             return ".google.api.resourceDefinition: array expected";
                         for (var i = 0; i < message[".google.api.resourceDefinition"].length; ++i) {
-                            var error = $root.google.api.ResourceDescriptor.verify(message[".google.api.resourceDefinition"][i]);
+                            var error = $root.google.api.ResourceDescriptor.verify(message[".google.api.resourceDefinition"][i], long + 1);
                             if (error)
                                 return ".google.api.resourceDefinition." + error;
                         }
@@ -155184,9 +162190,13 @@
                  * @param {Object.<string,*>} object Plain object
                  * @returns {google.protobuf.FileOptions} FileOptions
                  */
-                FileOptions.fromObject = function fromObject(object) {
+                FileOptions.fromObject = function fromObject(object, long) {
                     if (object instanceof $root.google.protobuf.FileOptions)
                         return object;
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $util.recursionLimit)
+                        throw Error("maximum nesting depth exceeded");
                     var message = new $root.google.protobuf.FileOptions();
                     if (object.javaPackage != null)
                         message.javaPackage = String(object.javaPackage);
@@ -155247,7 +162257,7 @@
                     if (object.features != null) {
                         if (typeof object.features !== "object")
                             throw TypeError(".google.protobuf.FileOptions.features: object expected");
-                        message.features = $root.google.protobuf.FeatureSet.fromObject(object.features);
+                        message.features = $root.google.protobuf.FeatureSet.fromObject(object.features, long + 1);
                     }
                     if (object.uninterpretedOption) {
                         if (!Array.isArray(object.uninterpretedOption))
@@ -155256,7 +162266,7 @@
                         for (var i = 0; i < object.uninterpretedOption.length; ++i) {
                             if (typeof object.uninterpretedOption[i] !== "object")
                                 throw TypeError(".google.protobuf.FileOptions.uninterpretedOption: object expected");
-                            message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i]);
+                            message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i], long + 1);
                         }
                     }
                     if (object[".google.api.resourceDefinition"]) {
@@ -155266,7 +162276,7 @@
                         for (var i = 0; i < object[".google.api.resourceDefinition"].length; ++i) {
                             if (typeof object[".google.api.resourceDefinition"][i] !== "object")
                                 throw TypeError(".google.protobuf.FileOptions..google.api.resourceDefinition: object expected");
-                            message[".google.api.resourceDefinition"][i] = $root.google.api.ResourceDescriptor.fromObject(object[".google.api.resourceDefinition"][i]);
+                            message[".google.api.resourceDefinition"][i] = $root.google.api.ResourceDescriptor.fromObject(object[".google.api.resourceDefinition"][i], long + 1);
                         }
                     }
                     return message;
@@ -155437,7 +162447,7 @@
                     this.uninterpretedOption = [];
                     if (properties)
                         for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                            if (properties[keys[i]] != null)
+                            if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                 this[keys[i]] = properties[keys[i]];
                 }
     
@@ -155573,9 +162583,13 @@
                  * @throws {Error} If the payload is not a reader or valid buffer
                  * @throws {$protobuf.util.ProtocolError} If required fields are missing
                  */
-                MessageOptions.decode = function decode(reader, length, error) {
+                MessageOptions.decode = function decode(reader, length, error, long) {
                     if (!(reader instanceof $Reader))
                         reader = $Reader.create(reader);
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $Reader.recursionLimit)
+                        throw Error("maximum nesting depth exceeded");
                     var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.MessageOptions();
                     while (reader.pos < end) {
                         var tag = reader.uint32();
@@ -155603,21 +162617,21 @@
                                 break;
                             }
                         case 12: {
-                                message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32());
+                                message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32(), undefined, long + 1);
                                 break;
                             }
                         case 999: {
                                 if (!(message.uninterpretedOption && message.uninterpretedOption.length))
                                     message.uninterpretedOption = [];
-                                message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32()));
+                                message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32(), undefined, long + 1));
                                 break;
                             }
                         case 1053: {
-                                message[".google.api.resource"] = $root.google.api.ResourceDescriptor.decode(reader, reader.uint32());
+                                message[".google.api.resource"] = $root.google.api.ResourceDescriptor.decode(reader, reader.uint32(), undefined, long + 1);
                                 break;
                             }
                         default:
-                            reader.skipType(tag & 7);
+                            reader.skipType(tag & 7, long);
                             break;
                         }
                     }
@@ -155648,9 +162662,13 @@
                  * @param {Object.<string,*>} message Plain object to verify
                  * @returns {string|null} `null` if valid, otherwise the reason why it is not
                  */
-                MessageOptions.verify = function verify(message) {
+                MessageOptions.verify = function verify(message, long) {
                     if (typeof message !== "object" || message === null)
                         return "object expected";
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $util.recursionLimit)
+                        return "maximum nesting depth exceeded";
                     if (message.messageSetWireFormat != null && message.hasOwnProperty("messageSetWireFormat"))
                         if (typeof message.messageSetWireFormat !== "boolean")
                             return "messageSetWireFormat: boolean expected";
@@ -155667,7 +162685,7 @@
                         if (typeof message.deprecatedLegacyJsonFieldConflicts !== "boolean")
                             return "deprecatedLegacyJsonFieldConflicts: boolean expected";
                     if (message.features != null && message.hasOwnProperty("features")) {
-                        var error = $root.google.protobuf.FeatureSet.verify(message.features);
+                        var error = $root.google.protobuf.FeatureSet.verify(message.features, long + 1);
                         if (error)
                             return "features." + error;
                     }
@@ -155675,13 +162693,13 @@
                         if (!Array.isArray(message.uninterpretedOption))
                             return "uninterpretedOption: array expected";
                         for (var i = 0; i < message.uninterpretedOption.length; ++i) {
-                            var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i]);
+                            var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i], long + 1);
                             if (error)
                                 return "uninterpretedOption." + error;
                         }
                     }
                     if (message[".google.api.resource"] != null && message.hasOwnProperty(".google.api.resource")) {
-                        var error = $root.google.api.ResourceDescriptor.verify(message[".google.api.resource"]);
+                        var error = $root.google.api.ResourceDescriptor.verify(message[".google.api.resource"], long + 1);
                         if (error)
                             return ".google.api.resource." + error;
                     }
@@ -155696,9 +162714,13 @@
                  * @param {Object.<string,*>} object Plain object
                  * @returns {google.protobuf.MessageOptions} MessageOptions
                  */
-                MessageOptions.fromObject = function fromObject(object) {
+                MessageOptions.fromObject = function fromObject(object, long) {
                     if (object instanceof $root.google.protobuf.MessageOptions)
                         return object;
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $util.recursionLimit)
+                        throw Error("maximum nesting depth exceeded");
                     var message = new $root.google.protobuf.MessageOptions();
                     if (object.messageSetWireFormat != null)
                         message.messageSetWireFormat = Boolean(object.messageSetWireFormat);
@@ -155713,7 +162735,7 @@
                     if (object.features != null) {
                         if (typeof object.features !== "object")
                             throw TypeError(".google.protobuf.MessageOptions.features: object expected");
-                        message.features = $root.google.protobuf.FeatureSet.fromObject(object.features);
+                        message.features = $root.google.protobuf.FeatureSet.fromObject(object.features, long + 1);
                     }
                     if (object.uninterpretedOption) {
                         if (!Array.isArray(object.uninterpretedOption))
@@ -155722,13 +162744,13 @@
                         for (var i = 0; i < object.uninterpretedOption.length; ++i) {
                             if (typeof object.uninterpretedOption[i] !== "object")
                                 throw TypeError(".google.protobuf.MessageOptions.uninterpretedOption: object expected");
-                            message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i]);
+                            message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i], long + 1);
                         }
                     }
                     if (object[".google.api.resource"] != null) {
                         if (typeof object[".google.api.resource"] !== "object")
                             throw TypeError(".google.protobuf.MessageOptions..google.api.resource: object expected");
-                        message[".google.api.resource"] = $root.google.api.ResourceDescriptor.fromObject(object[".google.api.resource"]);
+                        message[".google.api.resource"] = $root.google.api.ResourceDescriptor.fromObject(object[".google.api.resource"], long + 1);
                     }
                     return message;
                 };
@@ -155826,6 +162848,7 @@
                  * @property {Array.<google.protobuf.FieldOptions.OptionTargetType>|null} [targets] FieldOptions targets
                  * @property {Array.<google.protobuf.FieldOptions.IEditionDefault>|null} [editionDefaults] FieldOptions editionDefaults
                  * @property {google.protobuf.IFeatureSet|null} [features] FieldOptions features
+                 * @property {google.protobuf.FieldOptions.IFeatureSupport|null} [featureSupport] FieldOptions featureSupport
                  * @property {Array.<google.protobuf.IUninterpretedOption>|null} [uninterpretedOption] FieldOptions uninterpretedOption
                  * @property {Array.<google.api.FieldBehavior>|null} [".google.api.fieldBehavior"] FieldOptions .google.api.fieldBehavior
                  * @property {google.api.IResourceReference|null} [".google.api.resourceReference"] FieldOptions .google.api.resourceReference
@@ -155847,7 +162870,7 @@
                     this[".google.api.fieldBehavior"] = [];
                     if (properties)
                         for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                            if (properties[keys[i]] != null)
+                            if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                 this[keys[i]] = properties[keys[i]];
                 }
     
@@ -155947,6 +162970,14 @@
                  */
                 FieldOptions.prototype.features = null;
     
+                /**
+                 * FieldOptions featureSupport.
+                 * @member {google.protobuf.FieldOptions.IFeatureSupport|null|undefined} featureSupport
+                 * @memberof google.protobuf.FieldOptions
+                 * @instance
+                 */
+                FieldOptions.prototype.featureSupport = null;
+    
                 /**
                  * FieldOptions uninterpretedOption.
                  * @member {Array.<google.protobuf.IUninterpretedOption>} uninterpretedOption
@@ -156029,6 +163060,8 @@
                             $root.google.protobuf.FieldOptions.EditionDefault.encode(message.editionDefaults[i], writer.uint32(/* id 20, wireType 2 =*/162).fork()).ldelim();
                     if (message.features != null && Object.hasOwnProperty.call(message, "features"))
                         $root.google.protobuf.FeatureSet.encode(message.features, writer.uint32(/* id 21, wireType 2 =*/170).fork()).ldelim();
+                    if (message.featureSupport != null && Object.hasOwnProperty.call(message, "featureSupport"))
+                        $root.google.protobuf.FieldOptions.FeatureSupport.encode(message.featureSupport, writer.uint32(/* id 22, wireType 2 =*/178).fork()).ldelim();
                     if (message.uninterpretedOption != null && message.uninterpretedOption.length)
                         for (var i = 0; i < message.uninterpretedOption.length; ++i)
                             $root.google.protobuf.UninterpretedOption.encode(message.uninterpretedOption[i], writer.uint32(/* id 999, wireType 2 =*/7994).fork()).ldelim();
@@ -156066,9 +163099,13 @@
                  * @throws {Error} If the payload is not a reader or valid buffer
                  * @throws {$protobuf.util.ProtocolError} If required fields are missing
                  */
-                FieldOptions.decode = function decode(reader, length, error) {
+                FieldOptions.decode = function decode(reader, length, error, long) {
                     if (!(reader instanceof $Reader))
                         reader = $Reader.create(reader);
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $Reader.recursionLimit)
+                        throw Error("maximum nesting depth exceeded");
                     var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FieldOptions();
                     while (reader.pos < end) {
                         var tag = reader.uint32();
@@ -156125,17 +163162,21 @@
                         case 20: {
                                 if (!(message.editionDefaults && message.editionDefaults.length))
                                     message.editionDefaults = [];
-                                message.editionDefaults.push($root.google.protobuf.FieldOptions.EditionDefault.decode(reader, reader.uint32()));
+                                message.editionDefaults.push($root.google.protobuf.FieldOptions.EditionDefault.decode(reader, reader.uint32(), undefined, long + 1));
                                 break;
                             }
                         case 21: {
-                                message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32());
+                                message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32(), undefined, long + 1);
+                                break;
+                            }
+                        case 22: {
+                                message.featureSupport = $root.google.protobuf.FieldOptions.FeatureSupport.decode(reader, reader.uint32(), undefined, long + 1);
                                 break;
                             }
                         case 999: {
                                 if (!(message.uninterpretedOption && message.uninterpretedOption.length))
                                     message.uninterpretedOption = [];
-                                message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32()));
+                                message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32(), undefined, long + 1));
                                 break;
                             }
                         case 1052: {
@@ -156150,15 +163191,15 @@
                                 break;
                             }
                         case 1055: {
-                                message[".google.api.resourceReference"] = $root.google.api.ResourceReference.decode(reader, reader.uint32());
+                                message[".google.api.resourceReference"] = $root.google.api.ResourceReference.decode(reader, reader.uint32(), undefined, long + 1);
                                 break;
                             }
                         case 291403980: {
-                                message[".google.api.fieldInfo"] = $root.google.api.FieldInfo.decode(reader, reader.uint32());
+                                message[".google.api.fieldInfo"] = $root.google.api.FieldInfo.decode(reader, reader.uint32(), undefined, long + 1);
                                 break;
                             }
                         default:
-                            reader.skipType(tag & 7);
+                            reader.skipType(tag & 7, long);
                             break;
                         }
                     }
@@ -156189,9 +163230,13 @@
                  * @param {Object.<string,*>} message Plain object to verify
                  * @returns {string|null} `null` if valid, otherwise the reason why it is not
                  */
-                FieldOptions.verify = function verify(message) {
+                FieldOptions.verify = function verify(message, long) {
                     if (typeof message !== "object" || message === null)
                         return "object expected";
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $util.recursionLimit)
+                        return "maximum nesting depth exceeded";
                     if (message.ctype != null && message.hasOwnProperty("ctype"))
                         switch (message.ctype) {
                         default:
@@ -156261,21 +163306,26 @@
                         if (!Array.isArray(message.editionDefaults))
                             return "editionDefaults: array expected";
                         for (var i = 0; i < message.editionDefaults.length; ++i) {
-                            var error = $root.google.protobuf.FieldOptions.EditionDefault.verify(message.editionDefaults[i]);
+                            var error = $root.google.protobuf.FieldOptions.EditionDefault.verify(message.editionDefaults[i], long + 1);
                             if (error)
                                 return "editionDefaults." + error;
                         }
                     }
                     if (message.features != null && message.hasOwnProperty("features")) {
-                        var error = $root.google.protobuf.FeatureSet.verify(message.features);
+                        var error = $root.google.protobuf.FeatureSet.verify(message.features, long + 1);
                         if (error)
                             return "features." + error;
                     }
+                    if (message.featureSupport != null && message.hasOwnProperty("featureSupport")) {
+                        var error = $root.google.protobuf.FieldOptions.FeatureSupport.verify(message.featureSupport, long + 1);
+                        if (error)
+                            return "featureSupport." + error;
+                    }
                     if (message.uninterpretedOption != null && message.hasOwnProperty("uninterpretedOption")) {
                         if (!Array.isArray(message.uninterpretedOption))
                             return "uninterpretedOption: array expected";
                         for (var i = 0; i < message.uninterpretedOption.length; ++i) {
-                            var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i]);
+                            var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i], long + 1);
                             if (error)
                                 return "uninterpretedOption." + error;
                         }
@@ -156300,12 +163350,12 @@
                             }
                     }
                     if (message[".google.api.resourceReference"] != null && message.hasOwnProperty(".google.api.resourceReference")) {
-                        var error = $root.google.api.ResourceReference.verify(message[".google.api.resourceReference"]);
+                        var error = $root.google.api.ResourceReference.verify(message[".google.api.resourceReference"], long + 1);
                         if (error)
                             return ".google.api.resourceReference." + error;
                     }
                     if (message[".google.api.fieldInfo"] != null && message.hasOwnProperty(".google.api.fieldInfo")) {
-                        var error = $root.google.api.FieldInfo.verify(message[".google.api.fieldInfo"]);
+                        var error = $root.google.api.FieldInfo.verify(message[".google.api.fieldInfo"], long + 1);
                         if (error)
                             return ".google.api.fieldInfo." + error;
                     }
@@ -156320,9 +163370,13 @@
                  * @param {Object.<string,*>} object Plain object
                  * @returns {google.protobuf.FieldOptions} FieldOptions
                  */
-                FieldOptions.fromObject = function fromObject(object) {
+                FieldOptions.fromObject = function fromObject(object, long) {
                     if (object instanceof $root.google.protobuf.FieldOptions)
                         return object;
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $util.recursionLimit)
+                        throw Error("maximum nesting depth exceeded");
                     var message = new $root.google.protobuf.FieldOptions();
                     switch (object.ctype) {
                     default:
@@ -156456,13 +163510,18 @@
                         for (var i = 0; i < object.editionDefaults.length; ++i) {
                             if (typeof object.editionDefaults[i] !== "object")
                                 throw TypeError(".google.protobuf.FieldOptions.editionDefaults: object expected");
-                            message.editionDefaults[i] = $root.google.protobuf.FieldOptions.EditionDefault.fromObject(object.editionDefaults[i]);
+                            message.editionDefaults[i] = $root.google.protobuf.FieldOptions.EditionDefault.fromObject(object.editionDefaults[i], long + 1);
                         }
                     }
                     if (object.features != null) {
                         if (typeof object.features !== "object")
                             throw TypeError(".google.protobuf.FieldOptions.features: object expected");
-                        message.features = $root.google.protobuf.FeatureSet.fromObject(object.features);
+                        message.features = $root.google.protobuf.FeatureSet.fromObject(object.features, long + 1);
+                    }
+                    if (object.featureSupport != null) {
+                        if (typeof object.featureSupport !== "object")
+                            throw TypeError(".google.protobuf.FieldOptions.featureSupport: object expected");
+                        message.featureSupport = $root.google.protobuf.FieldOptions.FeatureSupport.fromObject(object.featureSupport, long + 1);
                     }
                     if (object.uninterpretedOption) {
                         if (!Array.isArray(object.uninterpretedOption))
@@ -156471,7 +163530,7 @@
                         for (var i = 0; i < object.uninterpretedOption.length; ++i) {
                             if (typeof object.uninterpretedOption[i] !== "object")
                                 throw TypeError(".google.protobuf.FieldOptions.uninterpretedOption: object expected");
-                            message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i]);
+                            message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i], long + 1);
                         }
                     }
                     if (object[".google.api.fieldBehavior"]) {
@@ -156526,12 +163585,12 @@
                     if (object[".google.api.resourceReference"] != null) {
                         if (typeof object[".google.api.resourceReference"] !== "object")
                             throw TypeError(".google.protobuf.FieldOptions..google.api.resourceReference: object expected");
-                        message[".google.api.resourceReference"] = $root.google.api.ResourceReference.fromObject(object[".google.api.resourceReference"]);
+                        message[".google.api.resourceReference"] = $root.google.api.ResourceReference.fromObject(object[".google.api.resourceReference"], long + 1);
                     }
                     if (object[".google.api.fieldInfo"] != null) {
                         if (typeof object[".google.api.fieldInfo"] !== "object")
                             throw TypeError(".google.protobuf.FieldOptions..google.api.fieldInfo: object expected");
-                        message[".google.api.fieldInfo"] = $root.google.api.FieldInfo.fromObject(object[".google.api.fieldInfo"]);
+                        message[".google.api.fieldInfo"] = $root.google.api.FieldInfo.fromObject(object[".google.api.fieldInfo"], long + 1);
                     }
                     return message;
                 };
@@ -156566,6 +163625,7 @@
                         object.debugRedact = false;
                         object.retention = options.enums === String ? "RETENTION_UNKNOWN" : 0;
                         object.features = null;
+                        object.featureSupport = null;
                         object[".google.api.resourceReference"] = null;
                         object[".google.api.fieldInfo"] = null;
                     }
@@ -156599,6 +163659,8 @@
                     }
                     if (message.features != null && message.hasOwnProperty("features"))
                         object.features = $root.google.protobuf.FeatureSet.toObject(message.features, options);
+                    if (message.featureSupport != null && message.hasOwnProperty("featureSupport"))
+                        object.featureSupport = $root.google.protobuf.FieldOptions.FeatureSupport.toObject(message.featureSupport, options);
                     if (message.uninterpretedOption && message.uninterpretedOption.length) {
                         object.uninterpretedOption = [];
                         for (var j = 0; j < message.uninterpretedOption.length; ++j)
@@ -156741,7 +163803,7 @@
                     function EditionDefault(properties) {
                         if (properties)
                             for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                if (properties[keys[i]] != null)
+                                if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                     this[keys[i]] = properties[keys[i]];
                     }
     
@@ -156816,9 +163878,13 @@
                      * @throws {Error} If the payload is not a reader or valid buffer
                      * @throws {$protobuf.util.ProtocolError} If required fields are missing
                      */
-                    EditionDefault.decode = function decode(reader, length, error) {
+                    EditionDefault.decode = function decode(reader, length, error, long) {
                         if (!(reader instanceof $Reader))
                             reader = $Reader.create(reader);
+                        if (long === undefined)
+                            long = 0;
+                        if (long > $Reader.recursionLimit)
+                            throw Error("maximum nesting depth exceeded");
                         var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FieldOptions.EditionDefault();
                         while (reader.pos < end) {
                             var tag = reader.uint32();
@@ -156834,7 +163900,7 @@
                                     break;
                                 }
                             default:
-                                reader.skipType(tag & 7);
+                                reader.skipType(tag & 7, long);
                                 break;
                             }
                         }
@@ -156865,14 +163931,19 @@
                      * @param {Object.<string,*>} message Plain object to verify
                      * @returns {string|null} `null` if valid, otherwise the reason why it is not
                      */
-                    EditionDefault.verify = function verify(message) {
+                    EditionDefault.verify = function verify(message, long) {
                         if (typeof message !== "object" || message === null)
                             return "object expected";
+                        if (long === undefined)
+                            long = 0;
+                        if (long > $util.recursionLimit)
+                            return "maximum nesting depth exceeded";
                         if (message.edition != null && message.hasOwnProperty("edition"))
                             switch (message.edition) {
                             default:
                                 return "edition: enum value expected";
                             case 0:
+                            case 900:
                             case 998:
                             case 999:
                             case 1000:
@@ -156899,9 +163970,13 @@
                      * @param {Object.<string,*>} object Plain object
                      * @returns {google.protobuf.FieldOptions.EditionDefault} EditionDefault
                      */
-                    EditionDefault.fromObject = function fromObject(object) {
+                    EditionDefault.fromObject = function fromObject(object, long) {
                         if (object instanceof $root.google.protobuf.FieldOptions.EditionDefault)
                             return object;
+                        if (long === undefined)
+                            long = 0;
+                        if (long > $util.recursionLimit)
+                            throw Error("maximum nesting depth exceeded");
                         var message = new $root.google.protobuf.FieldOptions.EditionDefault();
                         switch (object.edition) {
                         default:
@@ -156914,6 +163989,10 @@
                         case 0:
                             message.edition = 0;
                             break;
+                        case "EDITION_LEGACY":
+                        case 900:
+                            message.edition = 900;
+                            break;
                         case "EDITION_PROTO2":
                         case 998:
                             message.edition = 998;
@@ -157013,6 +164092,500 @@
                     return EditionDefault;
                 })();
     
+                FieldOptions.FeatureSupport = (function() {
+    
+                    /**
+                     * Properties of a FeatureSupport.
+                     * @memberof google.protobuf.FieldOptions
+                     * @interface IFeatureSupport
+                     * @property {google.protobuf.Edition|null} [editionIntroduced] FeatureSupport editionIntroduced
+                     * @property {google.protobuf.Edition|null} [editionDeprecated] FeatureSupport editionDeprecated
+                     * @property {string|null} [deprecationWarning] FeatureSupport deprecationWarning
+                     * @property {google.protobuf.Edition|null} [editionRemoved] FeatureSupport editionRemoved
+                     */
+    
+                    /**
+                     * Constructs a new FeatureSupport.
+                     * @memberof google.protobuf.FieldOptions
+                     * @classdesc Represents a FeatureSupport.
+                     * @implements IFeatureSupport
+                     * @constructor
+                     * @param {google.protobuf.FieldOptions.IFeatureSupport=} [properties] Properties to set
+                     */
+                    function FeatureSupport(properties) {
+                        if (properties)
+                            for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+                                if (properties[keys[i]] != null && keys[i] !== "__proto__")
+                                    this[keys[i]] = properties[keys[i]];
+                    }
+    
+                    /**
+                     * FeatureSupport editionIntroduced.
+                     * @member {google.protobuf.Edition} editionIntroduced
+                     * @memberof google.protobuf.FieldOptions.FeatureSupport
+                     * @instance
+                     */
+                    FeatureSupport.prototype.editionIntroduced = 0;
+    
+                    /**
+                     * FeatureSupport editionDeprecated.
+                     * @member {google.protobuf.Edition} editionDeprecated
+                     * @memberof google.protobuf.FieldOptions.FeatureSupport
+                     * @instance
+                     */
+                    FeatureSupport.prototype.editionDeprecated = 0;
+    
+                    /**
+                     * FeatureSupport deprecationWarning.
+                     * @member {string} deprecationWarning
+                     * @memberof google.protobuf.FieldOptions.FeatureSupport
+                     * @instance
+                     */
+                    FeatureSupport.prototype.deprecationWarning = "";
+    
+                    /**
+                     * FeatureSupport editionRemoved.
+                     * @member {google.protobuf.Edition} editionRemoved
+                     * @memberof google.protobuf.FieldOptions.FeatureSupport
+                     * @instance
+                     */
+                    FeatureSupport.prototype.editionRemoved = 0;
+    
+                    /**
+                     * Creates a new FeatureSupport instance using the specified properties.
+                     * @function create
+                     * @memberof google.protobuf.FieldOptions.FeatureSupport
+                     * @static
+                     * @param {google.protobuf.FieldOptions.IFeatureSupport=} [properties] Properties to set
+                     * @returns {google.protobuf.FieldOptions.FeatureSupport} FeatureSupport instance
+                     */
+                    FeatureSupport.create = function create(properties) {
+                        return new FeatureSupport(properties);
+                    };
+    
+                    /**
+                     * Encodes the specified FeatureSupport message. Does not implicitly {@link google.protobuf.FieldOptions.FeatureSupport.verify|verify} messages.
+                     * @function encode
+                     * @memberof google.protobuf.FieldOptions.FeatureSupport
+                     * @static
+                     * @param {google.protobuf.FieldOptions.IFeatureSupport} message FeatureSupport message or plain object to encode
+                     * @param {$protobuf.Writer} [writer] Writer to encode to
+                     * @returns {$protobuf.Writer} Writer
+                     */
+                    FeatureSupport.encode = function encode(message, writer) {
+                        if (!writer)
+                            writer = $Writer.create();
+                        if (message.editionIntroduced != null && Object.hasOwnProperty.call(message, "editionIntroduced"))
+                            writer.uint32(/* id 1, wireType 0 =*/8).int32(message.editionIntroduced);
+                        if (message.editionDeprecated != null && Object.hasOwnProperty.call(message, "editionDeprecated"))
+                            writer.uint32(/* id 2, wireType 0 =*/16).int32(message.editionDeprecated);
+                        if (message.deprecationWarning != null && Object.hasOwnProperty.call(message, "deprecationWarning"))
+                            writer.uint32(/* id 3, wireType 2 =*/26).string(message.deprecationWarning);
+                        if (message.editionRemoved != null && Object.hasOwnProperty.call(message, "editionRemoved"))
+                            writer.uint32(/* id 4, wireType 0 =*/32).int32(message.editionRemoved);
+                        return writer;
+                    };
+    
+                    /**
+                     * Encodes the specified FeatureSupport message, length delimited. Does not implicitly {@link google.protobuf.FieldOptions.FeatureSupport.verify|verify} messages.
+                     * @function encodeDelimited
+                     * @memberof google.protobuf.FieldOptions.FeatureSupport
+                     * @static
+                     * @param {google.protobuf.FieldOptions.IFeatureSupport} message FeatureSupport message or plain object to encode
+                     * @param {$protobuf.Writer} [writer] Writer to encode to
+                     * @returns {$protobuf.Writer} Writer
+                     */
+                    FeatureSupport.encodeDelimited = function encodeDelimited(message, writer) {
+                        return this.encode(message, writer).ldelim();
+                    };
+    
+                    /**
+                     * Decodes a FeatureSupport message from the specified reader or buffer.
+                     * @function decode
+                     * @memberof google.protobuf.FieldOptions.FeatureSupport
+                     * @static
+                     * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+                     * @param {number} [length] Message length if known beforehand
+                     * @returns {google.protobuf.FieldOptions.FeatureSupport} FeatureSupport
+                     * @throws {Error} If the payload is not a reader or valid buffer
+                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
+                     */
+                    FeatureSupport.decode = function decode(reader, length, error, long) {
+                        if (!(reader instanceof $Reader))
+                            reader = $Reader.create(reader);
+                        if (long === undefined)
+                            long = 0;
+                        if (long > $Reader.recursionLimit)
+                            throw Error("maximum nesting depth exceeded");
+                        var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FieldOptions.FeatureSupport();
+                        while (reader.pos < end) {
+                            var tag = reader.uint32();
+                            if (tag === error)
+                                break;
+                            switch (tag >>> 3) {
+                            case 1: {
+                                    message.editionIntroduced = reader.int32();
+                                    break;
+                                }
+                            case 2: {
+                                    message.editionDeprecated = reader.int32();
+                                    break;
+                                }
+                            case 3: {
+                                    message.deprecationWarning = reader.string();
+                                    break;
+                                }
+                            case 4: {
+                                    message.editionRemoved = reader.int32();
+                                    break;
+                                }
+                            default:
+                                reader.skipType(tag & 7, long);
+                                break;
+                            }
+                        }
+                        return message;
+                    };
+    
+                    /**
+                     * Decodes a FeatureSupport message from the specified reader or buffer, length delimited.
+                     * @function decodeDelimited
+                     * @memberof google.protobuf.FieldOptions.FeatureSupport
+                     * @static
+                     * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+                     * @returns {google.protobuf.FieldOptions.FeatureSupport} FeatureSupport
+                     * @throws {Error} If the payload is not a reader or valid buffer
+                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
+                     */
+                    FeatureSupport.decodeDelimited = function decodeDelimited(reader) {
+                        if (!(reader instanceof $Reader))
+                            reader = new $Reader(reader);
+                        return this.decode(reader, reader.uint32());
+                    };
+    
+                    /**
+                     * Verifies a FeatureSupport message.
+                     * @function verify
+                     * @memberof google.protobuf.FieldOptions.FeatureSupport
+                     * @static
+                     * @param {Object.<string,*>} message Plain object to verify
+                     * @returns {string|null} `null` if valid, otherwise the reason why it is not
+                     */
+                    FeatureSupport.verify = function verify(message, long) {
+                        if (typeof message !== "object" || message === null)
+                            return "object expected";
+                        if (long === undefined)
+                            long = 0;
+                        if (long > $util.recursionLimit)
+                            return "maximum nesting depth exceeded";
+                        if (message.editionIntroduced != null && message.hasOwnProperty("editionIntroduced"))
+                            switch (message.editionIntroduced) {
+                            default:
+                                return "editionIntroduced: enum value expected";
+                            case 0:
+                            case 900:
+                            case 998:
+                            case 999:
+                            case 1000:
+                            case 1001:
+                            case 1:
+                            case 2:
+                            case 99997:
+                            case 99998:
+                            case 99999:
+                            case 2147483647:
+                                break;
+                            }
+                        if (message.editionDeprecated != null && message.hasOwnProperty("editionDeprecated"))
+                            switch (message.editionDeprecated) {
+                            default:
+                                return "editionDeprecated: enum value expected";
+                            case 0:
+                            case 900:
+                            case 998:
+                            case 999:
+                            case 1000:
+                            case 1001:
+                            case 1:
+                            case 2:
+                            case 99997:
+                            case 99998:
+                            case 99999:
+                            case 2147483647:
+                                break;
+                            }
+                        if (message.deprecationWarning != null && message.hasOwnProperty("deprecationWarning"))
+                            if (!$util.isString(message.deprecationWarning))
+                                return "deprecationWarning: string expected";
+                        if (message.editionRemoved != null && message.hasOwnProperty("editionRemoved"))
+                            switch (message.editionRemoved) {
+                            default:
+                                return "editionRemoved: enum value expected";
+                            case 0:
+                            case 900:
+                            case 998:
+                            case 999:
+                            case 1000:
+                            case 1001:
+                            case 1:
+                            case 2:
+                            case 99997:
+                            case 99998:
+                            case 99999:
+                            case 2147483647:
+                                break;
+                            }
+                        return null;
+                    };
+    
+                    /**
+                     * Creates a FeatureSupport message from a plain object. Also converts values to their respective internal types.
+                     * @function fromObject
+                     * @memberof google.protobuf.FieldOptions.FeatureSupport
+                     * @static
+                     * @param {Object.<string,*>} object Plain object
+                     * @returns {google.protobuf.FieldOptions.FeatureSupport} FeatureSupport
+                     */
+                    FeatureSupport.fromObject = function fromObject(object, long) {
+                        if (object instanceof $root.google.protobuf.FieldOptions.FeatureSupport)
+                            return object;
+                        if (long === undefined)
+                            long = 0;
+                        if (long > $util.recursionLimit)
+                            throw Error("maximum nesting depth exceeded");
+                        var message = new $root.google.protobuf.FieldOptions.FeatureSupport();
+                        switch (object.editionIntroduced) {
+                        default:
+                            if (typeof object.editionIntroduced === "number") {
+                                message.editionIntroduced = object.editionIntroduced;
+                                break;
+                            }
+                            break;
+                        case "EDITION_UNKNOWN":
+                        case 0:
+                            message.editionIntroduced = 0;
+                            break;
+                        case "EDITION_LEGACY":
+                        case 900:
+                            message.editionIntroduced = 900;
+                            break;
+                        case "EDITION_PROTO2":
+                        case 998:
+                            message.editionIntroduced = 998;
+                            break;
+                        case "EDITION_PROTO3":
+                        case 999:
+                            message.editionIntroduced = 999;
+                            break;
+                        case "EDITION_2023":
+                        case 1000:
+                            message.editionIntroduced = 1000;
+                            break;
+                        case "EDITION_2024":
+                        case 1001:
+                            message.editionIntroduced = 1001;
+                            break;
+                        case "EDITION_1_TEST_ONLY":
+                        case 1:
+                            message.editionIntroduced = 1;
+                            break;
+                        case "EDITION_2_TEST_ONLY":
+                        case 2:
+                            message.editionIntroduced = 2;
+                            break;
+                        case "EDITION_99997_TEST_ONLY":
+                        case 99997:
+                            message.editionIntroduced = 99997;
+                            break;
+                        case "EDITION_99998_TEST_ONLY":
+                        case 99998:
+                            message.editionIntroduced = 99998;
+                            break;
+                        case "EDITION_99999_TEST_ONLY":
+                        case 99999:
+                            message.editionIntroduced = 99999;
+                            break;
+                        case "EDITION_MAX":
+                        case 2147483647:
+                            message.editionIntroduced = 2147483647;
+                            break;
+                        }
+                        switch (object.editionDeprecated) {
+                        default:
+                            if (typeof object.editionDeprecated === "number") {
+                                message.editionDeprecated = object.editionDeprecated;
+                                break;
+                            }
+                            break;
+                        case "EDITION_UNKNOWN":
+                        case 0:
+                            message.editionDeprecated = 0;
+                            break;
+                        case "EDITION_LEGACY":
+                        case 900:
+                            message.editionDeprecated = 900;
+                            break;
+                        case "EDITION_PROTO2":
+                        case 998:
+                            message.editionDeprecated = 998;
+                            break;
+                        case "EDITION_PROTO3":
+                        case 999:
+                            message.editionDeprecated = 999;
+                            break;
+                        case "EDITION_2023":
+                        case 1000:
+                            message.editionDeprecated = 1000;
+                            break;
+                        case "EDITION_2024":
+                        case 1001:
+                            message.editionDeprecated = 1001;
+                            break;
+                        case "EDITION_1_TEST_ONLY":
+                        case 1:
+                            message.editionDeprecated = 1;
+                            break;
+                        case "EDITION_2_TEST_ONLY":
+                        case 2:
+                            message.editionDeprecated = 2;
+                            break;
+                        case "EDITION_99997_TEST_ONLY":
+                        case 99997:
+                            message.editionDeprecated = 99997;
+                            break;
+                        case "EDITION_99998_TEST_ONLY":
+                        case 99998:
+                            message.editionDeprecated = 99998;
+                            break;
+                        case "EDITION_99999_TEST_ONLY":
+                        case 99999:
+                            message.editionDeprecated = 99999;
+                            break;
+                        case "EDITION_MAX":
+                        case 2147483647:
+                            message.editionDeprecated = 2147483647;
+                            break;
+                        }
+                        if (object.deprecationWarning != null)
+                            message.deprecationWarning = String(object.deprecationWarning);
+                        switch (object.editionRemoved) {
+                        default:
+                            if (typeof object.editionRemoved === "number") {
+                                message.editionRemoved = object.editionRemoved;
+                                break;
+                            }
+                            break;
+                        case "EDITION_UNKNOWN":
+                        case 0:
+                            message.editionRemoved = 0;
+                            break;
+                        case "EDITION_LEGACY":
+                        case 900:
+                            message.editionRemoved = 900;
+                            break;
+                        case "EDITION_PROTO2":
+                        case 998:
+                            message.editionRemoved = 998;
+                            break;
+                        case "EDITION_PROTO3":
+                        case 999:
+                            message.editionRemoved = 999;
+                            break;
+                        case "EDITION_2023":
+                        case 1000:
+                            message.editionRemoved = 1000;
+                            break;
+                        case "EDITION_2024":
+                        case 1001:
+                            message.editionRemoved = 1001;
+                            break;
+                        case "EDITION_1_TEST_ONLY":
+                        case 1:
+                            message.editionRemoved = 1;
+                            break;
+                        case "EDITION_2_TEST_ONLY":
+                        case 2:
+                            message.editionRemoved = 2;
+                            break;
+                        case "EDITION_99997_TEST_ONLY":
+                        case 99997:
+                            message.editionRemoved = 99997;
+                            break;
+                        case "EDITION_99998_TEST_ONLY":
+                        case 99998:
+                            message.editionRemoved = 99998;
+                            break;
+                        case "EDITION_99999_TEST_ONLY":
+                        case 99999:
+                            message.editionRemoved = 99999;
+                            break;
+                        case "EDITION_MAX":
+                        case 2147483647:
+                            message.editionRemoved = 2147483647;
+                            break;
+                        }
+                        return message;
+                    };
+    
+                    /**
+                     * Creates a plain object from a FeatureSupport message. Also converts values to other types if specified.
+                     * @function toObject
+                     * @memberof google.protobuf.FieldOptions.FeatureSupport
+                     * @static
+                     * @param {google.protobuf.FieldOptions.FeatureSupport} message FeatureSupport
+                     * @param {$protobuf.IConversionOptions} [options] Conversion options
+                     * @returns {Object.<string,*>} Plain object
+                     */
+                    FeatureSupport.toObject = function toObject(message, options) {
+                        if (!options)
+                            options = {};
+                        var object = {};
+                        if (options.defaults) {
+                            object.editionIntroduced = options.enums === String ? "EDITION_UNKNOWN" : 0;
+                            object.editionDeprecated = options.enums === String ? "EDITION_UNKNOWN" : 0;
+                            object.deprecationWarning = "";
+                            object.editionRemoved = options.enums === String ? "EDITION_UNKNOWN" : 0;
+                        }
+                        if (message.editionIntroduced != null && message.hasOwnProperty("editionIntroduced"))
+                            object.editionIntroduced = options.enums === String ? $root.google.protobuf.Edition[message.editionIntroduced] === undefined ? message.editionIntroduced : $root.google.protobuf.Edition[message.editionIntroduced] : message.editionIntroduced;
+                        if (message.editionDeprecated != null && message.hasOwnProperty("editionDeprecated"))
+                            object.editionDeprecated = options.enums === String ? $root.google.protobuf.Edition[message.editionDeprecated] === undefined ? message.editionDeprecated : $root.google.protobuf.Edition[message.editionDeprecated] : message.editionDeprecated;
+                        if (message.deprecationWarning != null && message.hasOwnProperty("deprecationWarning"))
+                            object.deprecationWarning = message.deprecationWarning;
+                        if (message.editionRemoved != null && message.hasOwnProperty("editionRemoved"))
+                            object.editionRemoved = options.enums === String ? $root.google.protobuf.Edition[message.editionRemoved] === undefined ? message.editionRemoved : $root.google.protobuf.Edition[message.editionRemoved] : message.editionRemoved;
+                        return object;
+                    };
+    
+                    /**
+                     * Converts this FeatureSupport to JSON.
+                     * @function toJSON
+                     * @memberof google.protobuf.FieldOptions.FeatureSupport
+                     * @instance
+                     * @returns {Object.<string,*>} JSON object
+                     */
+                    FeatureSupport.prototype.toJSON = function toJSON() {
+                        return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+                    };
+    
+                    /**
+                     * Gets the default type url for FeatureSupport
+                     * @function getTypeUrl
+                     * @memberof google.protobuf.FieldOptions.FeatureSupport
+                     * @static
+                     * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+                     * @returns {string} The default type url
+                     */
+                    FeatureSupport.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+                        if (typeUrlPrefix === undefined) {
+                            typeUrlPrefix = "type.googleapis.com";
+                        }
+                        return typeUrlPrefix + "/google.protobuf.FieldOptions.FeatureSupport";
+                    };
+    
+                    return FeatureSupport;
+                })();
+    
                 return FieldOptions;
             })();
     
@@ -157038,7 +164611,7 @@
                     this.uninterpretedOption = [];
                     if (properties)
                         for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                            if (properties[keys[i]] != null)
+                            if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                 this[keys[i]] = properties[keys[i]];
                 }
     
@@ -157114,9 +164687,13 @@
                  * @throws {Error} If the payload is not a reader or valid buffer
                  * @throws {$protobuf.util.ProtocolError} If required fields are missing
                  */
-                OneofOptions.decode = function decode(reader, length, error) {
+                OneofOptions.decode = function decode(reader, length, error, long) {
                     if (!(reader instanceof $Reader))
                         reader = $Reader.create(reader);
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $Reader.recursionLimit)
+                        throw Error("maximum nesting depth exceeded");
                     var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.OneofOptions();
                     while (reader.pos < end) {
                         var tag = reader.uint32();
@@ -157124,17 +164701,17 @@
                             break;
                         switch (tag >>> 3) {
                         case 1: {
-                                message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32());
+                                message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32(), undefined, long + 1);
                                 break;
                             }
                         case 999: {
                                 if (!(message.uninterpretedOption && message.uninterpretedOption.length))
                                     message.uninterpretedOption = [];
-                                message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32()));
+                                message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32(), undefined, long + 1));
                                 break;
                             }
                         default:
-                            reader.skipType(tag & 7);
+                            reader.skipType(tag & 7, long);
                             break;
                         }
                     }
@@ -157165,11 +164742,15 @@
                  * @param {Object.<string,*>} message Plain object to verify
                  * @returns {string|null} `null` if valid, otherwise the reason why it is not
                  */
-                OneofOptions.verify = function verify(message) {
+                OneofOptions.verify = function verify(message, long) {
                     if (typeof message !== "object" || message === null)
                         return "object expected";
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $util.recursionLimit)
+                        return "maximum nesting depth exceeded";
                     if (message.features != null && message.hasOwnProperty("features")) {
-                        var error = $root.google.protobuf.FeatureSet.verify(message.features);
+                        var error = $root.google.protobuf.FeatureSet.verify(message.features, long + 1);
                         if (error)
                             return "features." + error;
                     }
@@ -157177,7 +164758,7 @@
                         if (!Array.isArray(message.uninterpretedOption))
                             return "uninterpretedOption: array expected";
                         for (var i = 0; i < message.uninterpretedOption.length; ++i) {
-                            var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i]);
+                            var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i], long + 1);
                             if (error)
                                 return "uninterpretedOption." + error;
                         }
@@ -157193,14 +164774,18 @@
                  * @param {Object.<string,*>} object Plain object
                  * @returns {google.protobuf.OneofOptions} OneofOptions
                  */
-                OneofOptions.fromObject = function fromObject(object) {
+                OneofOptions.fromObject = function fromObject(object, long) {
                     if (object instanceof $root.google.protobuf.OneofOptions)
                         return object;
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $util.recursionLimit)
+                        throw Error("maximum nesting depth exceeded");
                     var message = new $root.google.protobuf.OneofOptions();
                     if (object.features != null) {
                         if (typeof object.features !== "object")
                             throw TypeError(".google.protobuf.OneofOptions.features: object expected");
-                        message.features = $root.google.protobuf.FeatureSet.fromObject(object.features);
+                        message.features = $root.google.protobuf.FeatureSet.fromObject(object.features, long + 1);
                     }
                     if (object.uninterpretedOption) {
                         if (!Array.isArray(object.uninterpretedOption))
@@ -157209,7 +164794,7 @@
                         for (var i = 0; i < object.uninterpretedOption.length; ++i) {
                             if (typeof object.uninterpretedOption[i] !== "object")
                                 throw TypeError(".google.protobuf.OneofOptions.uninterpretedOption: object expected");
-                            message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i]);
+                            message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i], long + 1);
                         }
                     }
                     return message;
@@ -157296,7 +164881,7 @@
                     this.uninterpretedOption = [];
                     if (properties)
                         for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                            if (properties[keys[i]] != null)
+                            if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                 this[keys[i]] = properties[keys[i]];
                 }
     
@@ -157402,9 +164987,13 @@
                  * @throws {Error} If the payload is not a reader or valid buffer
                  * @throws {$protobuf.util.ProtocolError} If required fields are missing
                  */
-                EnumOptions.decode = function decode(reader, length, error) {
+                EnumOptions.decode = function decode(reader, length, error, long) {
                     if (!(reader instanceof $Reader))
                         reader = $Reader.create(reader);
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $Reader.recursionLimit)
+                        throw Error("maximum nesting depth exceeded");
                     var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.EnumOptions();
                     while (reader.pos < end) {
                         var tag = reader.uint32();
@@ -157424,17 +165013,17 @@
                                 break;
                             }
                         case 7: {
-                                message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32());
+                                message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32(), undefined, long + 1);
                                 break;
                             }
                         case 999: {
                                 if (!(message.uninterpretedOption && message.uninterpretedOption.length))
                                     message.uninterpretedOption = [];
-                                message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32()));
+                                message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32(), undefined, long + 1));
                                 break;
                             }
                         default:
-                            reader.skipType(tag & 7);
+                            reader.skipType(tag & 7, long);
                             break;
                         }
                     }
@@ -157465,9 +165054,13 @@
                  * @param {Object.<string,*>} message Plain object to verify
                  * @returns {string|null} `null` if valid, otherwise the reason why it is not
                  */
-                EnumOptions.verify = function verify(message) {
+                EnumOptions.verify = function verify(message, long) {
                     if (typeof message !== "object" || message === null)
                         return "object expected";
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $util.recursionLimit)
+                        return "maximum nesting depth exceeded";
                     if (message.allowAlias != null && message.hasOwnProperty("allowAlias"))
                         if (typeof message.allowAlias !== "boolean")
                             return "allowAlias: boolean expected";
@@ -157478,7 +165071,7 @@
                         if (typeof message.deprecatedLegacyJsonFieldConflicts !== "boolean")
                             return "deprecatedLegacyJsonFieldConflicts: boolean expected";
                     if (message.features != null && message.hasOwnProperty("features")) {
-                        var error = $root.google.protobuf.FeatureSet.verify(message.features);
+                        var error = $root.google.protobuf.FeatureSet.verify(message.features, long + 1);
                         if (error)
                             return "features." + error;
                     }
@@ -157486,7 +165079,7 @@
                         if (!Array.isArray(message.uninterpretedOption))
                             return "uninterpretedOption: array expected";
                         for (var i = 0; i < message.uninterpretedOption.length; ++i) {
-                            var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i]);
+                            var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i], long + 1);
                             if (error)
                                 return "uninterpretedOption." + error;
                         }
@@ -157502,9 +165095,13 @@
                  * @param {Object.<string,*>} object Plain object
                  * @returns {google.protobuf.EnumOptions} EnumOptions
                  */
-                EnumOptions.fromObject = function fromObject(object) {
+                EnumOptions.fromObject = function fromObject(object, long) {
                     if (object instanceof $root.google.protobuf.EnumOptions)
                         return object;
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $util.recursionLimit)
+                        throw Error("maximum nesting depth exceeded");
                     var message = new $root.google.protobuf.EnumOptions();
                     if (object.allowAlias != null)
                         message.allowAlias = Boolean(object.allowAlias);
@@ -157515,7 +165112,7 @@
                     if (object.features != null) {
                         if (typeof object.features !== "object")
                             throw TypeError(".google.protobuf.EnumOptions.features: object expected");
-                        message.features = $root.google.protobuf.FeatureSet.fromObject(object.features);
+                        message.features = $root.google.protobuf.FeatureSet.fromObject(object.features, long + 1);
                     }
                     if (object.uninterpretedOption) {
                         if (!Array.isArray(object.uninterpretedOption))
@@ -157524,7 +165121,7 @@
                         for (var i = 0; i < object.uninterpretedOption.length; ++i) {
                             if (typeof object.uninterpretedOption[i] !== "object")
                                 throw TypeError(".google.protobuf.EnumOptions.uninterpretedOption: object expected");
-                            message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i]);
+                            message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i], long + 1);
                         }
                     }
                     return message;
@@ -157605,6 +165202,7 @@
                  * @property {boolean|null} [deprecated] EnumValueOptions deprecated
                  * @property {google.protobuf.IFeatureSet|null} [features] EnumValueOptions features
                  * @property {boolean|null} [debugRedact] EnumValueOptions debugRedact
+                 * @property {google.protobuf.FieldOptions.IFeatureSupport|null} [featureSupport] EnumValueOptions featureSupport
                  * @property {Array.<google.protobuf.IUninterpretedOption>|null} [uninterpretedOption] EnumValueOptions uninterpretedOption
                  */
     
@@ -157620,7 +165218,7 @@
                     this.uninterpretedOption = [];
                     if (properties)
                         for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                            if (properties[keys[i]] != null)
+                            if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                 this[keys[i]] = properties[keys[i]];
                 }
     
@@ -157648,6 +165246,14 @@
                  */
                 EnumValueOptions.prototype.debugRedact = false;
     
+                /**
+                 * EnumValueOptions featureSupport.
+                 * @member {google.protobuf.FieldOptions.IFeatureSupport|null|undefined} featureSupport
+                 * @memberof google.protobuf.EnumValueOptions
+                 * @instance
+                 */
+                EnumValueOptions.prototype.featureSupport = null;
+    
                 /**
                  * EnumValueOptions uninterpretedOption.
                  * @member {Array.<google.protobuf.IUninterpretedOption>} uninterpretedOption
@@ -157686,6 +165292,8 @@
                         $root.google.protobuf.FeatureSet.encode(message.features, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
                     if (message.debugRedact != null && Object.hasOwnProperty.call(message, "debugRedact"))
                         writer.uint32(/* id 3, wireType 0 =*/24).bool(message.debugRedact);
+                    if (message.featureSupport != null && Object.hasOwnProperty.call(message, "featureSupport"))
+                        $root.google.protobuf.FieldOptions.FeatureSupport.encode(message.featureSupport, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim();
                     if (message.uninterpretedOption != null && message.uninterpretedOption.length)
                         for (var i = 0; i < message.uninterpretedOption.length; ++i)
                             $root.google.protobuf.UninterpretedOption.encode(message.uninterpretedOption[i], writer.uint32(/* id 999, wireType 2 =*/7994).fork()).ldelim();
@@ -157716,9 +165324,13 @@
                  * @throws {Error} If the payload is not a reader or valid buffer
                  * @throws {$protobuf.util.ProtocolError} If required fields are missing
                  */
-                EnumValueOptions.decode = function decode(reader, length, error) {
+                EnumValueOptions.decode = function decode(reader, length, error, long) {
                     if (!(reader instanceof $Reader))
                         reader = $Reader.create(reader);
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $Reader.recursionLimit)
+                        throw Error("maximum nesting depth exceeded");
                     var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.EnumValueOptions();
                     while (reader.pos < end) {
                         var tag = reader.uint32();
@@ -157730,21 +165342,25 @@
                                 break;
                             }
                         case 2: {
-                                message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32());
+                                message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32(), undefined, long + 1);
                                 break;
                             }
                         case 3: {
                                 message.debugRedact = reader.bool();
                                 break;
                             }
+                        case 4: {
+                                message.featureSupport = $root.google.protobuf.FieldOptions.FeatureSupport.decode(reader, reader.uint32(), undefined, long + 1);
+                                break;
+                            }
                         case 999: {
                                 if (!(message.uninterpretedOption && message.uninterpretedOption.length))
                                     message.uninterpretedOption = [];
-                                message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32()));
+                                message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32(), undefined, long + 1));
                                 break;
                             }
                         default:
-                            reader.skipType(tag & 7);
+                            reader.skipType(tag & 7, long);
                             break;
                         }
                     }
@@ -157775,25 +165391,34 @@
                  * @param {Object.<string,*>} message Plain object to verify
                  * @returns {string|null} `null` if valid, otherwise the reason why it is not
                  */
-                EnumValueOptions.verify = function verify(message) {
+                EnumValueOptions.verify = function verify(message, long) {
                     if (typeof message !== "object" || message === null)
                         return "object expected";
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $util.recursionLimit)
+                        return "maximum nesting depth exceeded";
                     if (message.deprecated != null && message.hasOwnProperty("deprecated"))
                         if (typeof message.deprecated !== "boolean")
                             return "deprecated: boolean expected";
                     if (message.features != null && message.hasOwnProperty("features")) {
-                        var error = $root.google.protobuf.FeatureSet.verify(message.features);
+                        var error = $root.google.protobuf.FeatureSet.verify(message.features, long + 1);
                         if (error)
                             return "features." + error;
                     }
                     if (message.debugRedact != null && message.hasOwnProperty("debugRedact"))
                         if (typeof message.debugRedact !== "boolean")
                             return "debugRedact: boolean expected";
+                    if (message.featureSupport != null && message.hasOwnProperty("featureSupport")) {
+                        var error = $root.google.protobuf.FieldOptions.FeatureSupport.verify(message.featureSupport, long + 1);
+                        if (error)
+                            return "featureSupport." + error;
+                    }
                     if (message.uninterpretedOption != null && message.hasOwnProperty("uninterpretedOption")) {
                         if (!Array.isArray(message.uninterpretedOption))
                             return "uninterpretedOption: array expected";
                         for (var i = 0; i < message.uninterpretedOption.length; ++i) {
-                            var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i]);
+                            var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i], long + 1);
                             if (error)
                                 return "uninterpretedOption." + error;
                         }
@@ -157809,19 +165434,28 @@
                  * @param {Object.<string,*>} object Plain object
                  * @returns {google.protobuf.EnumValueOptions} EnumValueOptions
                  */
-                EnumValueOptions.fromObject = function fromObject(object) {
+                EnumValueOptions.fromObject = function fromObject(object, long) {
                     if (object instanceof $root.google.protobuf.EnumValueOptions)
                         return object;
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $util.recursionLimit)
+                        throw Error("maximum nesting depth exceeded");
                     var message = new $root.google.protobuf.EnumValueOptions();
                     if (object.deprecated != null)
                         message.deprecated = Boolean(object.deprecated);
                     if (object.features != null) {
                         if (typeof object.features !== "object")
                             throw TypeError(".google.protobuf.EnumValueOptions.features: object expected");
-                        message.features = $root.google.protobuf.FeatureSet.fromObject(object.features);
+                        message.features = $root.google.protobuf.FeatureSet.fromObject(object.features, long + 1);
                     }
                     if (object.debugRedact != null)
                         message.debugRedact = Boolean(object.debugRedact);
+                    if (object.featureSupport != null) {
+                        if (typeof object.featureSupport !== "object")
+                            throw TypeError(".google.protobuf.EnumValueOptions.featureSupport: object expected");
+                        message.featureSupport = $root.google.protobuf.FieldOptions.FeatureSupport.fromObject(object.featureSupport, long + 1);
+                    }
                     if (object.uninterpretedOption) {
                         if (!Array.isArray(object.uninterpretedOption))
                             throw TypeError(".google.protobuf.EnumValueOptions.uninterpretedOption: array expected");
@@ -157829,7 +165463,7 @@
                         for (var i = 0; i < object.uninterpretedOption.length; ++i) {
                             if (typeof object.uninterpretedOption[i] !== "object")
                                 throw TypeError(".google.protobuf.EnumValueOptions.uninterpretedOption: object expected");
-                            message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i]);
+                            message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i], long + 1);
                         }
                     }
                     return message;
@@ -157854,6 +165488,7 @@
                         object.deprecated = false;
                         object.features = null;
                         object.debugRedact = false;
+                        object.featureSupport = null;
                     }
                     if (message.deprecated != null && message.hasOwnProperty("deprecated"))
                         object.deprecated = message.deprecated;
@@ -157861,6 +165496,8 @@
                         object.features = $root.google.protobuf.FeatureSet.toObject(message.features, options);
                     if (message.debugRedact != null && message.hasOwnProperty("debugRedact"))
                         object.debugRedact = message.debugRedact;
+                    if (message.featureSupport != null && message.hasOwnProperty("featureSupport"))
+                        object.featureSupport = $root.google.protobuf.FieldOptions.FeatureSupport.toObject(message.featureSupport, options);
                     if (message.uninterpretedOption && message.uninterpretedOption.length) {
                         object.uninterpretedOption = [];
                         for (var j = 0; j < message.uninterpretedOption.length; ++j)
@@ -157924,7 +165561,7 @@
                     this.uninterpretedOption = [];
                     if (properties)
                         for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                            if (properties[keys[i]] != null)
+                            if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                 this[keys[i]] = properties[keys[i]];
                 }
     
@@ -158040,9 +165677,13 @@
                  * @throws {Error} If the payload is not a reader or valid buffer
                  * @throws {$protobuf.util.ProtocolError} If required fields are missing
                  */
-                ServiceOptions.decode = function decode(reader, length, error) {
+                ServiceOptions.decode = function decode(reader, length, error, long) {
                     if (!(reader instanceof $Reader))
                         reader = $Reader.create(reader);
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $Reader.recursionLimit)
+                        throw Error("maximum nesting depth exceeded");
                     var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.ServiceOptions();
                     while (reader.pos < end) {
                         var tag = reader.uint32();
@@ -158050,7 +165691,7 @@
                             break;
                         switch (tag >>> 3) {
                         case 34: {
-                                message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32());
+                                message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32(), undefined, long + 1);
                                 break;
                             }
                         case 33: {
@@ -158060,7 +165701,7 @@
                         case 999: {
                                 if (!(message.uninterpretedOption && message.uninterpretedOption.length))
                                     message.uninterpretedOption = [];
-                                message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32()));
+                                message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32(), undefined, long + 1));
                                 break;
                             }
                         case 1049: {
@@ -158076,7 +165717,7 @@
                                 break;
                             }
                         default:
-                            reader.skipType(tag & 7);
+                            reader.skipType(tag & 7, long);
                             break;
                         }
                     }
@@ -158107,11 +165748,15 @@
                  * @param {Object.<string,*>} message Plain object to verify
                  * @returns {string|null} `null` if valid, otherwise the reason why it is not
                  */
-                ServiceOptions.verify = function verify(message) {
+                ServiceOptions.verify = function verify(message, long) {
                     if (typeof message !== "object" || message === null)
                         return "object expected";
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $util.recursionLimit)
+                        return "maximum nesting depth exceeded";
                     if (message.features != null && message.hasOwnProperty("features")) {
-                        var error = $root.google.protobuf.FeatureSet.verify(message.features);
+                        var error = $root.google.protobuf.FeatureSet.verify(message.features, long + 1);
                         if (error)
                             return "features." + error;
                     }
@@ -158122,7 +165767,7 @@
                         if (!Array.isArray(message.uninterpretedOption))
                             return "uninterpretedOption: array expected";
                         for (var i = 0; i < message.uninterpretedOption.length; ++i) {
-                            var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i]);
+                            var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i], long + 1);
                             if (error)
                                 return "uninterpretedOption." + error;
                         }
@@ -158147,14 +165792,18 @@
                  * @param {Object.<string,*>} object Plain object
                  * @returns {google.protobuf.ServiceOptions} ServiceOptions
                  */
-                ServiceOptions.fromObject = function fromObject(object) {
+                ServiceOptions.fromObject = function fromObject(object, long) {
                     if (object instanceof $root.google.protobuf.ServiceOptions)
                         return object;
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $util.recursionLimit)
+                        throw Error("maximum nesting depth exceeded");
                     var message = new $root.google.protobuf.ServiceOptions();
                     if (object.features != null) {
                         if (typeof object.features !== "object")
                             throw TypeError(".google.protobuf.ServiceOptions.features: object expected");
-                        message.features = $root.google.protobuf.FeatureSet.fromObject(object.features);
+                        message.features = $root.google.protobuf.FeatureSet.fromObject(object.features, long + 1);
                     }
                     if (object.deprecated != null)
                         message.deprecated = Boolean(object.deprecated);
@@ -158165,7 +165814,7 @@
                         for (var i = 0; i < object.uninterpretedOption.length; ++i) {
                             if (typeof object.uninterpretedOption[i] !== "object")
                                 throw TypeError(".google.protobuf.ServiceOptions.uninterpretedOption: object expected");
-                            message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i]);
+                            message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i], long + 1);
                         }
                     }
                     if (object[".google.api.defaultHost"] != null)
@@ -158273,7 +165922,7 @@
                     this[".google.api.methodSignature"] = [];
                     if (properties)
                         for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                            if (properties[keys[i]] != null)
+                            if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                 this[keys[i]] = properties[keys[i]];
                 }
     
@@ -158390,9 +166039,13 @@
                  * @throws {Error} If the payload is not a reader or valid buffer
                  * @throws {$protobuf.util.ProtocolError} If required fields are missing
                  */
-                MethodOptions.decode = function decode(reader, length, error) {
+                MethodOptions.decode = function decode(reader, length, error, long) {
                     if (!(reader instanceof $Reader))
                         reader = $Reader.create(reader);
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $Reader.recursionLimit)
+                        throw Error("maximum nesting depth exceeded");
                     var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.MethodOptions();
                     while (reader.pos < end) {
                         var tag = reader.uint32();
@@ -158408,17 +166061,17 @@
                                 break;
                             }
                         case 35: {
-                                message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32());
+                                message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32(), undefined, long + 1);
                                 break;
                             }
                         case 999: {
                                 if (!(message.uninterpretedOption && message.uninterpretedOption.length))
                                     message.uninterpretedOption = [];
-                                message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32()));
+                                message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32(), undefined, long + 1));
                                 break;
                             }
                         case 72295728: {
-                                message[".google.api.http"] = $root.google.api.HttpRule.decode(reader, reader.uint32());
+                                message[".google.api.http"] = $root.google.api.HttpRule.decode(reader, reader.uint32(), undefined, long + 1);
                                 break;
                             }
                         case 1051: {
@@ -158428,7 +166081,7 @@
                                 break;
                             }
                         default:
-                            reader.skipType(tag & 7);
+                            reader.skipType(tag & 7, long);
                             break;
                         }
                     }
@@ -158459,9 +166112,13 @@
                  * @param {Object.<string,*>} message Plain object to verify
                  * @returns {string|null} `null` if valid, otherwise the reason why it is not
                  */
-                MethodOptions.verify = function verify(message) {
+                MethodOptions.verify = function verify(message, long) {
                     if (typeof message !== "object" || message === null)
                         return "object expected";
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $util.recursionLimit)
+                        return "maximum nesting depth exceeded";
                     if (message.deprecated != null && message.hasOwnProperty("deprecated"))
                         if (typeof message.deprecated !== "boolean")
                             return "deprecated: boolean expected";
@@ -158475,7 +166132,7 @@
                             break;
                         }
                     if (message.features != null && message.hasOwnProperty("features")) {
-                        var error = $root.google.protobuf.FeatureSet.verify(message.features);
+                        var error = $root.google.protobuf.FeatureSet.verify(message.features, long + 1);
                         if (error)
                             return "features." + error;
                     }
@@ -158483,13 +166140,13 @@
                         if (!Array.isArray(message.uninterpretedOption))
                             return "uninterpretedOption: array expected";
                         for (var i = 0; i < message.uninterpretedOption.length; ++i) {
-                            var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i]);
+                            var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i], long + 1);
                             if (error)
                                 return "uninterpretedOption." + error;
                         }
                     }
                     if (message[".google.api.http"] != null && message.hasOwnProperty(".google.api.http")) {
-                        var error = $root.google.api.HttpRule.verify(message[".google.api.http"]);
+                        var error = $root.google.api.HttpRule.verify(message[".google.api.http"], long + 1);
                         if (error)
                             return ".google.api.http." + error;
                     }
@@ -158511,9 +166168,13 @@
                  * @param {Object.<string,*>} object Plain object
                  * @returns {google.protobuf.MethodOptions} MethodOptions
                  */
-                MethodOptions.fromObject = function fromObject(object) {
+                MethodOptions.fromObject = function fromObject(object, long) {
                     if (object instanceof $root.google.protobuf.MethodOptions)
                         return object;
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $util.recursionLimit)
+                        throw Error("maximum nesting depth exceeded");
                     var message = new $root.google.protobuf.MethodOptions();
                     if (object.deprecated != null)
                         message.deprecated = Boolean(object.deprecated);
@@ -158540,7 +166201,7 @@
                     if (object.features != null) {
                         if (typeof object.features !== "object")
                             throw TypeError(".google.protobuf.MethodOptions.features: object expected");
-                        message.features = $root.google.protobuf.FeatureSet.fromObject(object.features);
+                        message.features = $root.google.protobuf.FeatureSet.fromObject(object.features, long + 1);
                     }
                     if (object.uninterpretedOption) {
                         if (!Array.isArray(object.uninterpretedOption))
@@ -158549,13 +166210,13 @@
                         for (var i = 0; i < object.uninterpretedOption.length; ++i) {
                             if (typeof object.uninterpretedOption[i] !== "object")
                                 throw TypeError(".google.protobuf.MethodOptions.uninterpretedOption: object expected");
-                            message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i]);
+                            message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i], long + 1);
                         }
                     }
                     if (object[".google.api.http"] != null) {
                         if (typeof object[".google.api.http"] !== "object")
                             throw TypeError(".google.protobuf.MethodOptions..google.api.http: object expected");
-                        message[".google.api.http"] = $root.google.api.HttpRule.fromObject(object[".google.api.http"]);
+                        message[".google.api.http"] = $root.google.api.HttpRule.fromObject(object[".google.api.http"], long + 1);
                     }
                     if (object[".google.api.methodSignature"]) {
                         if (!Array.isArray(object[".google.api.methodSignature"]))
@@ -158683,7 +166344,7 @@
                     this.name = [];
                     if (properties)
                         for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                            if (properties[keys[i]] != null)
+                            if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                 this[keys[i]] = properties[keys[i]];
                 }
     
@@ -158809,9 +166470,13 @@
                  * @throws {Error} If the payload is not a reader or valid buffer
                  * @throws {$protobuf.util.ProtocolError} If required fields are missing
                  */
-                UninterpretedOption.decode = function decode(reader, length, error) {
+                UninterpretedOption.decode = function decode(reader, length, error, long) {
                     if (!(reader instanceof $Reader))
                         reader = $Reader.create(reader);
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $Reader.recursionLimit)
+                        throw Error("maximum nesting depth exceeded");
                     var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.UninterpretedOption();
                     while (reader.pos < end) {
                         var tag = reader.uint32();
@@ -158821,7 +166486,7 @@
                         case 2: {
                                 if (!(message.name && message.name.length))
                                     message.name = [];
-                                message.name.push($root.google.protobuf.UninterpretedOption.NamePart.decode(reader, reader.uint32()));
+                                message.name.push($root.google.protobuf.UninterpretedOption.NamePart.decode(reader, reader.uint32(), undefined, long + 1));
                                 break;
                             }
                         case 3: {
@@ -158849,7 +166514,7 @@
                                 break;
                             }
                         default:
-                            reader.skipType(tag & 7);
+                            reader.skipType(tag & 7, long);
                             break;
                         }
                     }
@@ -158880,14 +166545,18 @@
                  * @param {Object.<string,*>} message Plain object to verify
                  * @returns {string|null} `null` if valid, otherwise the reason why it is not
                  */
-                UninterpretedOption.verify = function verify(message) {
+                UninterpretedOption.verify = function verify(message, long) {
                     if (typeof message !== "object" || message === null)
                         return "object expected";
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $util.recursionLimit)
+                        return "maximum nesting depth exceeded";
                     if (message.name != null && message.hasOwnProperty("name")) {
                         if (!Array.isArray(message.name))
                             return "name: array expected";
                         for (var i = 0; i < message.name.length; ++i) {
-                            var error = $root.google.protobuf.UninterpretedOption.NamePart.verify(message.name[i]);
+                            var error = $root.google.protobuf.UninterpretedOption.NamePart.verify(message.name[i], long + 1);
                             if (error)
                                 return "name." + error;
                         }
@@ -158921,9 +166590,13 @@
                  * @param {Object.<string,*>} object Plain object
                  * @returns {google.protobuf.UninterpretedOption} UninterpretedOption
                  */
-                UninterpretedOption.fromObject = function fromObject(object) {
+                UninterpretedOption.fromObject = function fromObject(object, long) {
                     if (object instanceof $root.google.protobuf.UninterpretedOption)
                         return object;
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $util.recursionLimit)
+                        throw Error("maximum nesting depth exceeded");
                     var message = new $root.google.protobuf.UninterpretedOption();
                     if (object.name) {
                         if (!Array.isArray(object.name))
@@ -158932,7 +166605,7 @@
                         for (var i = 0; i < object.name.length; ++i) {
                             if (typeof object.name[i] !== "object")
                                 throw TypeError(".google.protobuf.UninterpretedOption.name: object expected");
-                            message.name[i] = $root.google.protobuf.UninterpretedOption.NamePart.fromObject(object.name[i]);
+                            message.name[i] = $root.google.protobuf.UninterpretedOption.NamePart.fromObject(object.name[i], long + 1);
                         }
                     }
                     if (object.identifierValue != null)
@@ -159077,7 +166750,7 @@
                     function NamePart(properties) {
                         if (properties)
                             for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                if (properties[keys[i]] != null)
+                                if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                     this[keys[i]] = properties[keys[i]];
                     }
     
@@ -159150,9 +166823,13 @@
                      * @throws {Error} If the payload is not a reader or valid buffer
                      * @throws {$protobuf.util.ProtocolError} If required fields are missing
                      */
-                    NamePart.decode = function decode(reader, length, error) {
+                    NamePart.decode = function decode(reader, length, error, long) {
                         if (!(reader instanceof $Reader))
                             reader = $Reader.create(reader);
+                        if (long === undefined)
+                            long = 0;
+                        if (long > $Reader.recursionLimit)
+                            throw Error("maximum nesting depth exceeded");
                         var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.UninterpretedOption.NamePart();
                         while (reader.pos < end) {
                             var tag = reader.uint32();
@@ -159168,7 +166845,7 @@
                                     break;
                                 }
                             default:
-                                reader.skipType(tag & 7);
+                                reader.skipType(tag & 7, long);
                                 break;
                             }
                         }
@@ -159203,9 +166880,13 @@
                      * @param {Object.<string,*>} message Plain object to verify
                      * @returns {string|null} `null` if valid, otherwise the reason why it is not
                      */
-                    NamePart.verify = function verify(message) {
+                    NamePart.verify = function verify(message, long) {
                         if (typeof message !== "object" || message === null)
                             return "object expected";
+                        if (long === undefined)
+                            long = 0;
+                        if (long > $util.recursionLimit)
+                            return "maximum nesting depth exceeded";
                         if (!$util.isString(message.namePart))
                             return "namePart: string expected";
                         if (typeof message.isExtension !== "boolean")
@@ -159221,9 +166902,13 @@
                      * @param {Object.<string,*>} object Plain object
                      * @returns {google.protobuf.UninterpretedOption.NamePart} NamePart
                      */
-                    NamePart.fromObject = function fromObject(object) {
+                    NamePart.fromObject = function fromObject(object, long) {
                         if (object instanceof $root.google.protobuf.UninterpretedOption.NamePart)
                             return object;
+                        if (long === undefined)
+                            long = 0;
+                        if (long > $util.recursionLimit)
+                            throw Error("maximum nesting depth exceeded");
                         var message = new $root.google.protobuf.UninterpretedOption.NamePart();
                         if (object.namePart != null)
                             message.namePart = String(object.namePart);
@@ -159300,6 +166985,8 @@
                  * @property {google.protobuf.FeatureSet.Utf8Validation|null} [utf8Validation] FeatureSet utf8Validation
                  * @property {google.protobuf.FeatureSet.MessageEncoding|null} [messageEncoding] FeatureSet messageEncoding
                  * @property {google.protobuf.FeatureSet.JsonFormat|null} [jsonFormat] FeatureSet jsonFormat
+                 * @property {google.protobuf.FeatureSet.EnforceNamingStyle|null} [enforceNamingStyle] FeatureSet enforceNamingStyle
+                 * @property {google.protobuf.FeatureSet.VisibilityFeature.DefaultSymbolVisibility|null} [defaultSymbolVisibility] FeatureSet defaultSymbolVisibility
                  */
     
                 /**
@@ -159313,7 +167000,7 @@
                 function FeatureSet(properties) {
                     if (properties)
                         for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                            if (properties[keys[i]] != null)
+                            if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                 this[keys[i]] = properties[keys[i]];
                 }
     
@@ -159365,6 +167052,22 @@
                  */
                 FeatureSet.prototype.jsonFormat = 0;
     
+                /**
+                 * FeatureSet enforceNamingStyle.
+                 * @member {google.protobuf.FeatureSet.EnforceNamingStyle} enforceNamingStyle
+                 * @memberof google.protobuf.FeatureSet
+                 * @instance
+                 */
+                FeatureSet.prototype.enforceNamingStyle = 0;
+    
+                /**
+                 * FeatureSet defaultSymbolVisibility.
+                 * @member {google.protobuf.FeatureSet.VisibilityFeature.DefaultSymbolVisibility} defaultSymbolVisibility
+                 * @memberof google.protobuf.FeatureSet
+                 * @instance
+                 */
+                FeatureSet.prototype.defaultSymbolVisibility = 0;
+    
                 /**
                  * Creates a new FeatureSet instance using the specified properties.
                  * @function create
@@ -159401,6 +167104,10 @@
                         writer.uint32(/* id 5, wireType 0 =*/40).int32(message.messageEncoding);
                     if (message.jsonFormat != null && Object.hasOwnProperty.call(message, "jsonFormat"))
                         writer.uint32(/* id 6, wireType 0 =*/48).int32(message.jsonFormat);
+                    if (message.enforceNamingStyle != null && Object.hasOwnProperty.call(message, "enforceNamingStyle"))
+                        writer.uint32(/* id 7, wireType 0 =*/56).int32(message.enforceNamingStyle);
+                    if (message.defaultSymbolVisibility != null && Object.hasOwnProperty.call(message, "defaultSymbolVisibility"))
+                        writer.uint32(/* id 8, wireType 0 =*/64).int32(message.defaultSymbolVisibility);
                     return writer;
                 };
     
@@ -159428,9 +167135,13 @@
                  * @throws {Error} If the payload is not a reader or valid buffer
                  * @throws {$protobuf.util.ProtocolError} If required fields are missing
                  */
-                FeatureSet.decode = function decode(reader, length, error) {
+                FeatureSet.decode = function decode(reader, length, error, long) {
                     if (!(reader instanceof $Reader))
                         reader = $Reader.create(reader);
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $Reader.recursionLimit)
+                        throw Error("maximum nesting depth exceeded");
                     var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FeatureSet();
                     while (reader.pos < end) {
                         var tag = reader.uint32();
@@ -159461,8 +167172,16 @@
                                 message.jsonFormat = reader.int32();
                                 break;
                             }
+                        case 7: {
+                                message.enforceNamingStyle = reader.int32();
+                                break;
+                            }
+                        case 8: {
+                                message.defaultSymbolVisibility = reader.int32();
+                                break;
+                            }
                         default:
-                            reader.skipType(tag & 7);
+                            reader.skipType(tag & 7, long);
                             break;
                         }
                     }
@@ -159493,9 +167212,13 @@
                  * @param {Object.<string,*>} message Plain object to verify
                  * @returns {string|null} `null` if valid, otherwise the reason why it is not
                  */
-                FeatureSet.verify = function verify(message) {
+                FeatureSet.verify = function verify(message, long) {
                     if (typeof message !== "object" || message === null)
                         return "object expected";
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $util.recursionLimit)
+                        return "maximum nesting depth exceeded";
                     if (message.fieldPresence != null && message.hasOwnProperty("fieldPresence"))
                         switch (message.fieldPresence) {
                         default:
@@ -159551,6 +167274,26 @@
                         case 2:
                             break;
                         }
+                    if (message.enforceNamingStyle != null && message.hasOwnProperty("enforceNamingStyle"))
+                        switch (message.enforceNamingStyle) {
+                        default:
+                            return "enforceNamingStyle: enum value expected";
+                        case 0:
+                        case 1:
+                        case 2:
+                            break;
+                        }
+                    if (message.defaultSymbolVisibility != null && message.hasOwnProperty("defaultSymbolVisibility"))
+                        switch (message.defaultSymbolVisibility) {
+                        default:
+                            return "defaultSymbolVisibility: enum value expected";
+                        case 0:
+                        case 1:
+                        case 2:
+                        case 3:
+                        case 4:
+                            break;
+                        }
                     return null;
                 };
     
@@ -159562,9 +167305,13 @@
                  * @param {Object.<string,*>} object Plain object
                  * @returns {google.protobuf.FeatureSet} FeatureSet
                  */
-                FeatureSet.fromObject = function fromObject(object) {
+                FeatureSet.fromObject = function fromObject(object, long) {
                     if (object instanceof $root.google.protobuf.FeatureSet)
                         return object;
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $util.recursionLimit)
+                        throw Error("maximum nesting depth exceeded");
                     var message = new $root.google.protobuf.FeatureSet();
                     switch (object.fieldPresence) {
                     default:
@@ -159690,6 +167437,54 @@
                         message.jsonFormat = 2;
                         break;
                     }
+                    switch (object.enforceNamingStyle) {
+                    default:
+                        if (typeof object.enforceNamingStyle === "number") {
+                            message.enforceNamingStyle = object.enforceNamingStyle;
+                            break;
+                        }
+                        break;
+                    case "ENFORCE_NAMING_STYLE_UNKNOWN":
+                    case 0:
+                        message.enforceNamingStyle = 0;
+                        break;
+                    case "STYLE2024":
+                    case 1:
+                        message.enforceNamingStyle = 1;
+                        break;
+                    case "STYLE_LEGACY":
+                    case 2:
+                        message.enforceNamingStyle = 2;
+                        break;
+                    }
+                    switch (object.defaultSymbolVisibility) {
+                    default:
+                        if (typeof object.defaultSymbolVisibility === "number") {
+                            message.defaultSymbolVisibility = object.defaultSymbolVisibility;
+                            break;
+                        }
+                        break;
+                    case "DEFAULT_SYMBOL_VISIBILITY_UNKNOWN":
+                    case 0:
+                        message.defaultSymbolVisibility = 0;
+                        break;
+                    case "EXPORT_ALL":
+                    case 1:
+                        message.defaultSymbolVisibility = 1;
+                        break;
+                    case "EXPORT_TOP_LEVEL":
+                    case 2:
+                        message.defaultSymbolVisibility = 2;
+                        break;
+                    case "LOCAL_ALL":
+                    case 3:
+                        message.defaultSymbolVisibility = 3;
+                        break;
+                    case "STRICT":
+                    case 4:
+                        message.defaultSymbolVisibility = 4;
+                        break;
+                    }
                     return message;
                 };
     
@@ -159713,6 +167508,8 @@
                         object.utf8Validation = options.enums === String ? "UTF8_VALIDATION_UNKNOWN" : 0;
                         object.messageEncoding = options.enums === String ? "MESSAGE_ENCODING_UNKNOWN" : 0;
                         object.jsonFormat = options.enums === String ? "JSON_FORMAT_UNKNOWN" : 0;
+                        object.enforceNamingStyle = options.enums === String ? "ENFORCE_NAMING_STYLE_UNKNOWN" : 0;
+                        object.defaultSymbolVisibility = options.enums === String ? "DEFAULT_SYMBOL_VISIBILITY_UNKNOWN" : 0;
                     }
                     if (message.fieldPresence != null && message.hasOwnProperty("fieldPresence"))
                         object.fieldPresence = options.enums === String ? $root.google.protobuf.FeatureSet.FieldPresence[message.fieldPresence] === undefined ? message.fieldPresence : $root.google.protobuf.FeatureSet.FieldPresence[message.fieldPresence] : message.fieldPresence;
@@ -159726,6 +167523,10 @@
                         object.messageEncoding = options.enums === String ? $root.google.protobuf.FeatureSet.MessageEncoding[message.messageEncoding] === undefined ? message.messageEncoding : $root.google.protobuf.FeatureSet.MessageEncoding[message.messageEncoding] : message.messageEncoding;
                     if (message.jsonFormat != null && message.hasOwnProperty("jsonFormat"))
                         object.jsonFormat = options.enums === String ? $root.google.protobuf.FeatureSet.JsonFormat[message.jsonFormat] === undefined ? message.jsonFormat : $root.google.protobuf.FeatureSet.JsonFormat[message.jsonFormat] : message.jsonFormat;
+                    if (message.enforceNamingStyle != null && message.hasOwnProperty("enforceNamingStyle"))
+                        object.enforceNamingStyle = options.enums === String ? $root.google.protobuf.FeatureSet.EnforceNamingStyle[message.enforceNamingStyle] === undefined ? message.enforceNamingStyle : $root.google.protobuf.FeatureSet.EnforceNamingStyle[message.enforceNamingStyle] : message.enforceNamingStyle;
+                    if (message.defaultSymbolVisibility != null && message.hasOwnProperty("defaultSymbolVisibility"))
+                        object.defaultSymbolVisibility = options.enums === String ? $root.google.protobuf.FeatureSet.VisibilityFeature.DefaultSymbolVisibility[message.defaultSymbolVisibility] === undefined ? message.defaultSymbolVisibility : $root.google.protobuf.FeatureSet.VisibilityFeature.DefaultSymbolVisibility[message.defaultSymbolVisibility] : message.defaultSymbolVisibility;
                     return object;
                 };
     
@@ -159853,6 +167654,231 @@
                     return values;
                 })();
     
+                /**
+                 * EnforceNamingStyle enum.
+                 * @name google.protobuf.FeatureSet.EnforceNamingStyle
+                 * @enum {number}
+                 * @property {number} ENFORCE_NAMING_STYLE_UNKNOWN=0 ENFORCE_NAMING_STYLE_UNKNOWN value
+                 * @property {number} STYLE2024=1 STYLE2024 value
+                 * @property {number} STYLE_LEGACY=2 STYLE_LEGACY value
+                 */
+                FeatureSet.EnforceNamingStyle = (function() {
+                    var valuesById = {}, values = Object.create(valuesById);
+                    values[valuesById[0] = "ENFORCE_NAMING_STYLE_UNKNOWN"] = 0;
+                    values[valuesById[1] = "STYLE2024"] = 1;
+                    values[valuesById[2] = "STYLE_LEGACY"] = 2;
+                    return values;
+                })();
+    
+                FeatureSet.VisibilityFeature = (function() {
+    
+                    /**
+                     * Properties of a VisibilityFeature.
+                     * @memberof google.protobuf.FeatureSet
+                     * @interface IVisibilityFeature
+                     */
+    
+                    /**
+                     * Constructs a new VisibilityFeature.
+                     * @memberof google.protobuf.FeatureSet
+                     * @classdesc Represents a VisibilityFeature.
+                     * @implements IVisibilityFeature
+                     * @constructor
+                     * @param {google.protobuf.FeatureSet.IVisibilityFeature=} [properties] Properties to set
+                     */
+                    function VisibilityFeature(properties) {
+                        if (properties)
+                            for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+                                if (properties[keys[i]] != null && keys[i] !== "__proto__")
+                                    this[keys[i]] = properties[keys[i]];
+                    }
+    
+                    /**
+                     * Creates a new VisibilityFeature instance using the specified properties.
+                     * @function create
+                     * @memberof google.protobuf.FeatureSet.VisibilityFeature
+                     * @static
+                     * @param {google.protobuf.FeatureSet.IVisibilityFeature=} [properties] Properties to set
+                     * @returns {google.protobuf.FeatureSet.VisibilityFeature} VisibilityFeature instance
+                     */
+                    VisibilityFeature.create = function create(properties) {
+                        return new VisibilityFeature(properties);
+                    };
+    
+                    /**
+                     * Encodes the specified VisibilityFeature message. Does not implicitly {@link google.protobuf.FeatureSet.VisibilityFeature.verify|verify} messages.
+                     * @function encode
+                     * @memberof google.protobuf.FeatureSet.VisibilityFeature
+                     * @static
+                     * @param {google.protobuf.FeatureSet.IVisibilityFeature} message VisibilityFeature message or plain object to encode
+                     * @param {$protobuf.Writer} [writer] Writer to encode to
+                     * @returns {$protobuf.Writer} Writer
+                     */
+                    VisibilityFeature.encode = function encode(message, writer) {
+                        if (!writer)
+                            writer = $Writer.create();
+                        return writer;
+                    };
+    
+                    /**
+                     * Encodes the specified VisibilityFeature message, length delimited. Does not implicitly {@link google.protobuf.FeatureSet.VisibilityFeature.verify|verify} messages.
+                     * @function encodeDelimited
+                     * @memberof google.protobuf.FeatureSet.VisibilityFeature
+                     * @static
+                     * @param {google.protobuf.FeatureSet.IVisibilityFeature} message VisibilityFeature message or plain object to encode
+                     * @param {$protobuf.Writer} [writer] Writer to encode to
+                     * @returns {$protobuf.Writer} Writer
+                     */
+                    VisibilityFeature.encodeDelimited = function encodeDelimited(message, writer) {
+                        return this.encode(message, writer).ldelim();
+                    };
+    
+                    /**
+                     * Decodes a VisibilityFeature message from the specified reader or buffer.
+                     * @function decode
+                     * @memberof google.protobuf.FeatureSet.VisibilityFeature
+                     * @static
+                     * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+                     * @param {number} [length] Message length if known beforehand
+                     * @returns {google.protobuf.FeatureSet.VisibilityFeature} VisibilityFeature
+                     * @throws {Error} If the payload is not a reader or valid buffer
+                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
+                     */
+                    VisibilityFeature.decode = function decode(reader, length, error, long) {
+                        if (!(reader instanceof $Reader))
+                            reader = $Reader.create(reader);
+                        if (long === undefined)
+                            long = 0;
+                        if (long > $Reader.recursionLimit)
+                            throw Error("maximum nesting depth exceeded");
+                        var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FeatureSet.VisibilityFeature();
+                        while (reader.pos < end) {
+                            var tag = reader.uint32();
+                            if (tag === error)
+                                break;
+                            switch (tag >>> 3) {
+                            default:
+                                reader.skipType(tag & 7, long);
+                                break;
+                            }
+                        }
+                        return message;
+                    };
+    
+                    /**
+                     * Decodes a VisibilityFeature message from the specified reader or buffer, length delimited.
+                     * @function decodeDelimited
+                     * @memberof google.protobuf.FeatureSet.VisibilityFeature
+                     * @static
+                     * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+                     * @returns {google.protobuf.FeatureSet.VisibilityFeature} VisibilityFeature
+                     * @throws {Error} If the payload is not a reader or valid buffer
+                     * @throws {$protobuf.util.ProtocolError} If required fields are missing
+                     */
+                    VisibilityFeature.decodeDelimited = function decodeDelimited(reader) {
+                        if (!(reader instanceof $Reader))
+                            reader = new $Reader(reader);
+                        return this.decode(reader, reader.uint32());
+                    };
+    
+                    /**
+                     * Verifies a VisibilityFeature message.
+                     * @function verify
+                     * @memberof google.protobuf.FeatureSet.VisibilityFeature
+                     * @static
+                     * @param {Object.<string,*>} message Plain object to verify
+                     * @returns {string|null} `null` if valid, otherwise the reason why it is not
+                     */
+                    VisibilityFeature.verify = function verify(message, long) {
+                        if (typeof message !== "object" || message === null)
+                            return "object expected";
+                        if (long === undefined)
+                            long = 0;
+                        if (long > $util.recursionLimit)
+                            return "maximum nesting depth exceeded";
+                        return null;
+                    };
+    
+                    /**
+                     * Creates a VisibilityFeature message from a plain object. Also converts values to their respective internal types.
+                     * @function fromObject
+                     * @memberof google.protobuf.FeatureSet.VisibilityFeature
+                     * @static
+                     * @param {Object.<string,*>} object Plain object
+                     * @returns {google.protobuf.FeatureSet.VisibilityFeature} VisibilityFeature
+                     */
+                    VisibilityFeature.fromObject = function fromObject(object, long) {
+                        if (object instanceof $root.google.protobuf.FeatureSet.VisibilityFeature)
+                            return object;
+                        if (long === undefined)
+                            long = 0;
+                        if (long > $util.recursionLimit)
+                            throw Error("maximum nesting depth exceeded");
+                        return new $root.google.protobuf.FeatureSet.VisibilityFeature();
+                    };
+    
+                    /**
+                     * Creates a plain object from a VisibilityFeature message. Also converts values to other types if specified.
+                     * @function toObject
+                     * @memberof google.protobuf.FeatureSet.VisibilityFeature
+                     * @static
+                     * @param {google.protobuf.FeatureSet.VisibilityFeature} message VisibilityFeature
+                     * @param {$protobuf.IConversionOptions} [options] Conversion options
+                     * @returns {Object.<string,*>} Plain object
+                     */
+                    VisibilityFeature.toObject = function toObject() {
+                        return {};
+                    };
+    
+                    /**
+                     * Converts this VisibilityFeature to JSON.
+                     * @function toJSON
+                     * @memberof google.protobuf.FeatureSet.VisibilityFeature
+                     * @instance
+                     * @returns {Object.<string,*>} JSON object
+                     */
+                    VisibilityFeature.prototype.toJSON = function toJSON() {
+                        return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+                    };
+    
+                    /**
+                     * Gets the default type url for VisibilityFeature
+                     * @function getTypeUrl
+                     * @memberof google.protobuf.FeatureSet.VisibilityFeature
+                     * @static
+                     * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+                     * @returns {string} The default type url
+                     */
+                    VisibilityFeature.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+                        if (typeUrlPrefix === undefined) {
+                            typeUrlPrefix = "type.googleapis.com";
+                        }
+                        return typeUrlPrefix + "/google.protobuf.FeatureSet.VisibilityFeature";
+                    };
+    
+                    /**
+                     * DefaultSymbolVisibility enum.
+                     * @name google.protobuf.FeatureSet.VisibilityFeature.DefaultSymbolVisibility
+                     * @enum {number}
+                     * @property {number} DEFAULT_SYMBOL_VISIBILITY_UNKNOWN=0 DEFAULT_SYMBOL_VISIBILITY_UNKNOWN value
+                     * @property {number} EXPORT_ALL=1 EXPORT_ALL value
+                     * @property {number} EXPORT_TOP_LEVEL=2 EXPORT_TOP_LEVEL value
+                     * @property {number} LOCAL_ALL=3 LOCAL_ALL value
+                     * @property {number} STRICT=4 STRICT value
+                     */
+                    VisibilityFeature.DefaultSymbolVisibility = (function() {
+                        var valuesById = {}, values = Object.create(valuesById);
+                        values[valuesById[0] = "DEFAULT_SYMBOL_VISIBILITY_UNKNOWN"] = 0;
+                        values[valuesById[1] = "EXPORT_ALL"] = 1;
+                        values[valuesById[2] = "EXPORT_TOP_LEVEL"] = 2;
+                        values[valuesById[3] = "LOCAL_ALL"] = 3;
+                        values[valuesById[4] = "STRICT"] = 4;
+                        return values;
+                    })();
+    
+                    return VisibilityFeature;
+                })();
+    
                 return FeatureSet;
             })();
     
@@ -159879,7 +167905,7 @@
                     this.defaults = [];
                     if (properties)
                         for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                            if (properties[keys[i]] != null)
+                            if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                 this[keys[i]] = properties[keys[i]];
                 }
     
@@ -159965,9 +167991,13 @@
                  * @throws {Error} If the payload is not a reader or valid buffer
                  * @throws {$protobuf.util.ProtocolError} If required fields are missing
                  */
-                FeatureSetDefaults.decode = function decode(reader, length, error) {
+                FeatureSetDefaults.decode = function decode(reader, length, error, long) {
                     if (!(reader instanceof $Reader))
                         reader = $Reader.create(reader);
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $Reader.recursionLimit)
+                        throw Error("maximum nesting depth exceeded");
                     var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FeatureSetDefaults();
                     while (reader.pos < end) {
                         var tag = reader.uint32();
@@ -159977,7 +168007,7 @@
                         case 1: {
                                 if (!(message.defaults && message.defaults.length))
                                     message.defaults = [];
-                                message.defaults.push($root.google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.decode(reader, reader.uint32()));
+                                message.defaults.push($root.google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.decode(reader, reader.uint32(), undefined, long + 1));
                                 break;
                             }
                         case 4: {
@@ -159989,7 +168019,7 @@
                                 break;
                             }
                         default:
-                            reader.skipType(tag & 7);
+                            reader.skipType(tag & 7, long);
                             break;
                         }
                     }
@@ -160020,14 +168050,18 @@
                  * @param {Object.<string,*>} message Plain object to verify
                  * @returns {string|null} `null` if valid, otherwise the reason why it is not
                  */
-                FeatureSetDefaults.verify = function verify(message) {
+                FeatureSetDefaults.verify = function verify(message, long) {
                     if (typeof message !== "object" || message === null)
                         return "object expected";
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $util.recursionLimit)
+                        return "maximum nesting depth exceeded";
                     if (message.defaults != null && message.hasOwnProperty("defaults")) {
                         if (!Array.isArray(message.defaults))
                             return "defaults: array expected";
                         for (var i = 0; i < message.defaults.length; ++i) {
-                            var error = $root.google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.verify(message.defaults[i]);
+                            var error = $root.google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.verify(message.defaults[i], long + 1);
                             if (error)
                                 return "defaults." + error;
                         }
@@ -160037,6 +168071,7 @@
                         default:
                             return "minimumEdition: enum value expected";
                         case 0:
+                        case 900:
                         case 998:
                         case 999:
                         case 1000:
@@ -160054,6 +168089,7 @@
                         default:
                             return "maximumEdition: enum value expected";
                         case 0:
+                        case 900:
                         case 998:
                         case 999:
                         case 1000:
@@ -160077,9 +168113,13 @@
                  * @param {Object.<string,*>} object Plain object
                  * @returns {google.protobuf.FeatureSetDefaults} FeatureSetDefaults
                  */
-                FeatureSetDefaults.fromObject = function fromObject(object) {
+                FeatureSetDefaults.fromObject = function fromObject(object, long) {
                     if (object instanceof $root.google.protobuf.FeatureSetDefaults)
                         return object;
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $util.recursionLimit)
+                        throw Error("maximum nesting depth exceeded");
                     var message = new $root.google.protobuf.FeatureSetDefaults();
                     if (object.defaults) {
                         if (!Array.isArray(object.defaults))
@@ -160088,7 +168128,7 @@
                         for (var i = 0; i < object.defaults.length; ++i) {
                             if (typeof object.defaults[i] !== "object")
                                 throw TypeError(".google.protobuf.FeatureSetDefaults.defaults: object expected");
-                            message.defaults[i] = $root.google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.fromObject(object.defaults[i]);
+                            message.defaults[i] = $root.google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.fromObject(object.defaults[i], long + 1);
                         }
                     }
                     switch (object.minimumEdition) {
@@ -160102,6 +168142,10 @@
                     case 0:
                         message.minimumEdition = 0;
                         break;
+                    case "EDITION_LEGACY":
+                    case 900:
+                        message.minimumEdition = 900;
+                        break;
                     case "EDITION_PROTO2":
                     case 998:
                         message.minimumEdition = 998;
@@ -160154,6 +168198,10 @@
                     case 0:
                         message.maximumEdition = 0;
                         break;
+                    case "EDITION_LEGACY":
+                    case 900:
+                        message.maximumEdition = 900;
+                        break;
                     case "EDITION_PROTO2":
                     case 998:
                         message.maximumEdition = 998;
@@ -160262,7 +168310,8 @@
                      * @memberof google.protobuf.FeatureSetDefaults
                      * @interface IFeatureSetEditionDefault
                      * @property {google.protobuf.Edition|null} [edition] FeatureSetEditionDefault edition
-                     * @property {google.protobuf.IFeatureSet|null} [features] FeatureSetEditionDefault features
+                     * @property {google.protobuf.IFeatureSet|null} [overridableFeatures] FeatureSetEditionDefault overridableFeatures
+                     * @property {google.protobuf.IFeatureSet|null} [fixedFeatures] FeatureSetEditionDefault fixedFeatures
                      */
     
                     /**
@@ -160276,7 +168325,7 @@
                     function FeatureSetEditionDefault(properties) {
                         if (properties)
                             for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                if (properties[keys[i]] != null)
+                                if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                     this[keys[i]] = properties[keys[i]];
                     }
     
@@ -160289,12 +168338,20 @@
                     FeatureSetEditionDefault.prototype.edition = 0;
     
                     /**
-                     * FeatureSetEditionDefault features.
-                     * @member {google.protobuf.IFeatureSet|null|undefined} features
+                     * FeatureSetEditionDefault overridableFeatures.
+                     * @member {google.protobuf.IFeatureSet|null|undefined} overridableFeatures
+                     * @memberof google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault
+                     * @instance
+                     */
+                    FeatureSetEditionDefault.prototype.overridableFeatures = null;
+    
+                    /**
+                     * FeatureSetEditionDefault fixedFeatures.
+                     * @member {google.protobuf.IFeatureSet|null|undefined} fixedFeatures
                      * @memberof google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault
                      * @instance
                      */
-                    FeatureSetEditionDefault.prototype.features = null;
+                    FeatureSetEditionDefault.prototype.fixedFeatures = null;
     
                     /**
                      * Creates a new FeatureSetEditionDefault instance using the specified properties.
@@ -160320,10 +168377,12 @@
                     FeatureSetEditionDefault.encode = function encode(message, writer) {
                         if (!writer)
                             writer = $Writer.create();
-                        if (message.features != null && Object.hasOwnProperty.call(message, "features"))
-                            $root.google.protobuf.FeatureSet.encode(message.features, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
                         if (message.edition != null && Object.hasOwnProperty.call(message, "edition"))
                             writer.uint32(/* id 3, wireType 0 =*/24).int32(message.edition);
+                        if (message.overridableFeatures != null && Object.hasOwnProperty.call(message, "overridableFeatures"))
+                            $root.google.protobuf.FeatureSet.encode(message.overridableFeatures, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim();
+                        if (message.fixedFeatures != null && Object.hasOwnProperty.call(message, "fixedFeatures"))
+                            $root.google.protobuf.FeatureSet.encode(message.fixedFeatures, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim();
                         return writer;
                     };
     
@@ -160351,9 +168410,13 @@
                      * @throws {Error} If the payload is not a reader or valid buffer
                      * @throws {$protobuf.util.ProtocolError} If required fields are missing
                      */
-                    FeatureSetEditionDefault.decode = function decode(reader, length, error) {
+                    FeatureSetEditionDefault.decode = function decode(reader, length, error, long) {
                         if (!(reader instanceof $Reader))
                             reader = $Reader.create(reader);
+                        if (long === undefined)
+                            long = 0;
+                        if (long > $Reader.recursionLimit)
+                            throw Error("maximum nesting depth exceeded");
                         var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault();
                         while (reader.pos < end) {
                             var tag = reader.uint32();
@@ -160364,12 +168427,16 @@
                                     message.edition = reader.int32();
                                     break;
                                 }
-                            case 2: {
-                                    message.features = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32());
+                            case 4: {
+                                    message.overridableFeatures = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32(), undefined, long + 1);
+                                    break;
+                                }
+                            case 5: {
+                                    message.fixedFeatures = $root.google.protobuf.FeatureSet.decode(reader, reader.uint32(), undefined, long + 1);
                                     break;
                                 }
                             default:
-                                reader.skipType(tag & 7);
+                                reader.skipType(tag & 7, long);
                                 break;
                             }
                         }
@@ -160400,14 +168467,19 @@
                      * @param {Object.<string,*>} message Plain object to verify
                      * @returns {string|null} `null` if valid, otherwise the reason why it is not
                      */
-                    FeatureSetEditionDefault.verify = function verify(message) {
+                    FeatureSetEditionDefault.verify = function verify(message, long) {
                         if (typeof message !== "object" || message === null)
                             return "object expected";
+                        if (long === undefined)
+                            long = 0;
+                        if (long > $util.recursionLimit)
+                            return "maximum nesting depth exceeded";
                         if (message.edition != null && message.hasOwnProperty("edition"))
                             switch (message.edition) {
                             default:
                                 return "edition: enum value expected";
                             case 0:
+                            case 900:
                             case 998:
                             case 999:
                             case 1000:
@@ -160420,10 +168492,15 @@
                             case 2147483647:
                                 break;
                             }
-                        if (message.features != null && message.hasOwnProperty("features")) {
-                            var error = $root.google.protobuf.FeatureSet.verify(message.features);
+                        if (message.overridableFeatures != null && message.hasOwnProperty("overridableFeatures")) {
+                            var error = $root.google.protobuf.FeatureSet.verify(message.overridableFeatures, long + 1);
+                            if (error)
+                                return "overridableFeatures." + error;
+                        }
+                        if (message.fixedFeatures != null && message.hasOwnProperty("fixedFeatures")) {
+                            var error = $root.google.protobuf.FeatureSet.verify(message.fixedFeatures, long + 1);
                             if (error)
-                                return "features." + error;
+                                return "fixedFeatures." + error;
                         }
                         return null;
                     };
@@ -160436,9 +168513,13 @@
                      * @param {Object.<string,*>} object Plain object
                      * @returns {google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault} FeatureSetEditionDefault
                      */
-                    FeatureSetEditionDefault.fromObject = function fromObject(object) {
+                    FeatureSetEditionDefault.fromObject = function fromObject(object, long) {
                         if (object instanceof $root.google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault)
                             return object;
+                        if (long === undefined)
+                            long = 0;
+                        if (long > $util.recursionLimit)
+                            throw Error("maximum nesting depth exceeded");
                         var message = new $root.google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault();
                         switch (object.edition) {
                         default:
@@ -160451,6 +168532,10 @@
                         case 0:
                             message.edition = 0;
                             break;
+                        case "EDITION_LEGACY":
+                        case 900:
+                            message.edition = 900;
+                            break;
                         case "EDITION_PROTO2":
                         case 998:
                             message.edition = 998;
@@ -160492,10 +168577,15 @@
                             message.edition = 2147483647;
                             break;
                         }
-                        if (object.features != null) {
-                            if (typeof object.features !== "object")
-                                throw TypeError(".google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.features: object expected");
-                            message.features = $root.google.protobuf.FeatureSet.fromObject(object.features);
+                        if (object.overridableFeatures != null) {
+                            if (typeof object.overridableFeatures !== "object")
+                                throw TypeError(".google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.overridableFeatures: object expected");
+                            message.overridableFeatures = $root.google.protobuf.FeatureSet.fromObject(object.overridableFeatures, long + 1);
+                        }
+                        if (object.fixedFeatures != null) {
+                            if (typeof object.fixedFeatures !== "object")
+                                throw TypeError(".google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.fixedFeatures: object expected");
+                            message.fixedFeatures = $root.google.protobuf.FeatureSet.fromObject(object.fixedFeatures, long + 1);
                         }
                         return message;
                     };
@@ -160514,13 +168604,16 @@
                             options = {};
                         var object = {};
                         if (options.defaults) {
-                            object.features = null;
                             object.edition = options.enums === String ? "EDITION_UNKNOWN" : 0;
+                            object.overridableFeatures = null;
+                            object.fixedFeatures = null;
                         }
-                        if (message.features != null && message.hasOwnProperty("features"))
-                            object.features = $root.google.protobuf.FeatureSet.toObject(message.features, options);
                         if (message.edition != null && message.hasOwnProperty("edition"))
                             object.edition = options.enums === String ? $root.google.protobuf.Edition[message.edition] === undefined ? message.edition : $root.google.protobuf.Edition[message.edition] : message.edition;
+                        if (message.overridableFeatures != null && message.hasOwnProperty("overridableFeatures"))
+                            object.overridableFeatures = $root.google.protobuf.FeatureSet.toObject(message.overridableFeatures, options);
+                        if (message.fixedFeatures != null && message.hasOwnProperty("fixedFeatures"))
+                            object.fixedFeatures = $root.google.protobuf.FeatureSet.toObject(message.fixedFeatures, options);
                         return object;
                     };
     
@@ -160577,7 +168670,7 @@
                     this.location = [];
                     if (properties)
                         for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                            if (properties[keys[i]] != null)
+                            if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                 this[keys[i]] = properties[keys[i]];
                 }
     
@@ -160643,9 +168736,13 @@
                  * @throws {Error} If the payload is not a reader or valid buffer
                  * @throws {$protobuf.util.ProtocolError} If required fields are missing
                  */
-                SourceCodeInfo.decode = function decode(reader, length, error) {
+                SourceCodeInfo.decode = function decode(reader, length, error, long) {
                     if (!(reader instanceof $Reader))
                         reader = $Reader.create(reader);
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $Reader.recursionLimit)
+                        throw Error("maximum nesting depth exceeded");
                     var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.SourceCodeInfo();
                     while (reader.pos < end) {
                         var tag = reader.uint32();
@@ -160655,11 +168752,11 @@
                         case 1: {
                                 if (!(message.location && message.location.length))
                                     message.location = [];
-                                message.location.push($root.google.protobuf.SourceCodeInfo.Location.decode(reader, reader.uint32()));
+                                message.location.push($root.google.protobuf.SourceCodeInfo.Location.decode(reader, reader.uint32(), undefined, long + 1));
                                 break;
                             }
                         default:
-                            reader.skipType(tag & 7);
+                            reader.skipType(tag & 7, long);
                             break;
                         }
                     }
@@ -160690,14 +168787,18 @@
                  * @param {Object.<string,*>} message Plain object to verify
                  * @returns {string|null} `null` if valid, otherwise the reason why it is not
                  */
-                SourceCodeInfo.verify = function verify(message) {
+                SourceCodeInfo.verify = function verify(message, long) {
                     if (typeof message !== "object" || message === null)
                         return "object expected";
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $util.recursionLimit)
+                        return "maximum nesting depth exceeded";
                     if (message.location != null && message.hasOwnProperty("location")) {
                         if (!Array.isArray(message.location))
                             return "location: array expected";
                         for (var i = 0; i < message.location.length; ++i) {
-                            var error = $root.google.protobuf.SourceCodeInfo.Location.verify(message.location[i]);
+                            var error = $root.google.protobuf.SourceCodeInfo.Location.verify(message.location[i], long + 1);
                             if (error)
                                 return "location." + error;
                         }
@@ -160713,9 +168814,13 @@
                  * @param {Object.<string,*>} object Plain object
                  * @returns {google.protobuf.SourceCodeInfo} SourceCodeInfo
                  */
-                SourceCodeInfo.fromObject = function fromObject(object) {
+                SourceCodeInfo.fromObject = function fromObject(object, long) {
                     if (object instanceof $root.google.protobuf.SourceCodeInfo)
                         return object;
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $util.recursionLimit)
+                        throw Error("maximum nesting depth exceeded");
                     var message = new $root.google.protobuf.SourceCodeInfo();
                     if (object.location) {
                         if (!Array.isArray(object.location))
@@ -160724,7 +168829,7 @@
                         for (var i = 0; i < object.location.length; ++i) {
                             if (typeof object.location[i] !== "object")
                                 throw TypeError(".google.protobuf.SourceCodeInfo.location: object expected");
-                            message.location[i] = $root.google.protobuf.SourceCodeInfo.Location.fromObject(object.location[i]);
+                            message.location[i] = $root.google.protobuf.SourceCodeInfo.Location.fromObject(object.location[i], long + 1);
                         }
                     }
                     return message;
@@ -160806,7 +168911,7 @@
                         this.leadingDetachedComments = [];
                         if (properties)
                             for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                if (properties[keys[i]] != null)
+                                if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                     this[keys[i]] = properties[keys[i]];
                     }
     
@@ -160920,9 +169025,13 @@
                      * @throws {Error} If the payload is not a reader or valid buffer
                      * @throws {$protobuf.util.ProtocolError} If required fields are missing
                      */
-                    Location.decode = function decode(reader, length, error) {
+                    Location.decode = function decode(reader, length, error, long) {
                         if (!(reader instanceof $Reader))
                             reader = $Reader.create(reader);
+                        if (long === undefined)
+                            long = 0;
+                        if (long > $Reader.recursionLimit)
+                            throw Error("maximum nesting depth exceeded");
                         var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.SourceCodeInfo.Location();
                         while (reader.pos < end) {
                             var tag = reader.uint32();
@@ -160966,7 +169075,7 @@
                                     break;
                                 }
                             default:
-                                reader.skipType(tag & 7);
+                                reader.skipType(tag & 7, long);
                                 break;
                             }
                         }
@@ -160997,9 +169106,13 @@
                      * @param {Object.<string,*>} message Plain object to verify
                      * @returns {string|null} `null` if valid, otherwise the reason why it is not
                      */
-                    Location.verify = function verify(message) {
+                    Location.verify = function verify(message, long) {
                         if (typeof message !== "object" || message === null)
                             return "object expected";
+                        if (long === undefined)
+                            long = 0;
+                        if (long > $util.recursionLimit)
+                            return "maximum nesting depth exceeded";
                         if (message.path != null && message.hasOwnProperty("path")) {
                             if (!Array.isArray(message.path))
                                 return "path: array expected";
@@ -161038,9 +169151,13 @@
                      * @param {Object.<string,*>} object Plain object
                      * @returns {google.protobuf.SourceCodeInfo.Location} Location
                      */
-                    Location.fromObject = function fromObject(object) {
+                    Location.fromObject = function fromObject(object, long) {
                         if (object instanceof $root.google.protobuf.SourceCodeInfo.Location)
                             return object;
+                        if (long === undefined)
+                            long = 0;
+                        if (long > $util.recursionLimit)
+                            throw Error("maximum nesting depth exceeded");
                         var message = new $root.google.protobuf.SourceCodeInfo.Location();
                         if (object.path) {
                             if (!Array.isArray(object.path))
@@ -161167,7 +169284,7 @@
                     this.annotation = [];
                     if (properties)
                         for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                            if (properties[keys[i]] != null)
+                            if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                 this[keys[i]] = properties[keys[i]];
                 }
     
@@ -161233,9 +169350,13 @@
                  * @throws {Error} If the payload is not a reader or valid buffer
                  * @throws {$protobuf.util.ProtocolError} If required fields are missing
                  */
-                GeneratedCodeInfo.decode = function decode(reader, length, error) {
+                GeneratedCodeInfo.decode = function decode(reader, length, error, long) {
                     if (!(reader instanceof $Reader))
                         reader = $Reader.create(reader);
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $Reader.recursionLimit)
+                        throw Error("maximum nesting depth exceeded");
                     var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.GeneratedCodeInfo();
                     while (reader.pos < end) {
                         var tag = reader.uint32();
@@ -161245,11 +169366,11 @@
                         case 1: {
                                 if (!(message.annotation && message.annotation.length))
                                     message.annotation = [];
-                                message.annotation.push($root.google.protobuf.GeneratedCodeInfo.Annotation.decode(reader, reader.uint32()));
+                                message.annotation.push($root.google.protobuf.GeneratedCodeInfo.Annotation.decode(reader, reader.uint32(), undefined, long + 1));
                                 break;
                             }
                         default:
-                            reader.skipType(tag & 7);
+                            reader.skipType(tag & 7, long);
                             break;
                         }
                     }
@@ -161280,14 +169401,18 @@
                  * @param {Object.<string,*>} message Plain object to verify
                  * @returns {string|null} `null` if valid, otherwise the reason why it is not
                  */
-                GeneratedCodeInfo.verify = function verify(message) {
+                GeneratedCodeInfo.verify = function verify(message, long) {
                     if (typeof message !== "object" || message === null)
                         return "object expected";
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $util.recursionLimit)
+                        return "maximum nesting depth exceeded";
                     if (message.annotation != null && message.hasOwnProperty("annotation")) {
                         if (!Array.isArray(message.annotation))
                             return "annotation: array expected";
                         for (var i = 0; i < message.annotation.length; ++i) {
-                            var error = $root.google.protobuf.GeneratedCodeInfo.Annotation.verify(message.annotation[i]);
+                            var error = $root.google.protobuf.GeneratedCodeInfo.Annotation.verify(message.annotation[i], long + 1);
                             if (error)
                                 return "annotation." + error;
                         }
@@ -161303,9 +169428,13 @@
                  * @param {Object.<string,*>} object Plain object
                  * @returns {google.protobuf.GeneratedCodeInfo} GeneratedCodeInfo
                  */
-                GeneratedCodeInfo.fromObject = function fromObject(object) {
+                GeneratedCodeInfo.fromObject = function fromObject(object, long) {
                     if (object instanceof $root.google.protobuf.GeneratedCodeInfo)
                         return object;
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $util.recursionLimit)
+                        throw Error("maximum nesting depth exceeded");
                     var message = new $root.google.protobuf.GeneratedCodeInfo();
                     if (object.annotation) {
                         if (!Array.isArray(object.annotation))
@@ -161314,7 +169443,7 @@
                         for (var i = 0; i < object.annotation.length; ++i) {
                             if (typeof object.annotation[i] !== "object")
                                 throw TypeError(".google.protobuf.GeneratedCodeInfo.annotation: object expected");
-                            message.annotation[i] = $root.google.protobuf.GeneratedCodeInfo.Annotation.fromObject(object.annotation[i]);
+                            message.annotation[i] = $root.google.protobuf.GeneratedCodeInfo.Annotation.fromObject(object.annotation[i], long + 1);
                         }
                     }
                     return message;
@@ -161394,7 +169523,7 @@
                         this.path = [];
                         if (properties)
                             for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                                if (properties[keys[i]] != null)
+                                if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                     this[keys[i]] = properties[keys[i]];
                     }
     
@@ -161503,9 +169632,13 @@
                      * @throws {Error} If the payload is not a reader or valid buffer
                      * @throws {$protobuf.util.ProtocolError} If required fields are missing
                      */
-                    Annotation.decode = function decode(reader, length, error) {
+                    Annotation.decode = function decode(reader, length, error, long) {
                         if (!(reader instanceof $Reader))
                             reader = $Reader.create(reader);
+                        if (long === undefined)
+                            long = 0;
+                        if (long > $Reader.recursionLimit)
+                            throw Error("maximum nesting depth exceeded");
                         var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.GeneratedCodeInfo.Annotation();
                         while (reader.pos < end) {
                             var tag = reader.uint32();
@@ -161540,7 +169673,7 @@
                                     break;
                                 }
                             default:
-                                reader.skipType(tag & 7);
+                                reader.skipType(tag & 7, long);
                                 break;
                             }
                         }
@@ -161571,9 +169704,13 @@
                      * @param {Object.<string,*>} message Plain object to verify
                      * @returns {string|null} `null` if valid, otherwise the reason why it is not
                      */
-                    Annotation.verify = function verify(message) {
+                    Annotation.verify = function verify(message, long) {
                         if (typeof message !== "object" || message === null)
                             return "object expected";
+                        if (long === undefined)
+                            long = 0;
+                        if (long > $util.recursionLimit)
+                            return "maximum nesting depth exceeded";
                         if (message.path != null && message.hasOwnProperty("path")) {
                             if (!Array.isArray(message.path))
                                 return "path: array expected";
@@ -161610,9 +169747,13 @@
                      * @param {Object.<string,*>} object Plain object
                      * @returns {google.protobuf.GeneratedCodeInfo.Annotation} Annotation
                      */
-                    Annotation.fromObject = function fromObject(object) {
+                    Annotation.fromObject = function fromObject(object, long) {
                         if (object instanceof $root.google.protobuf.GeneratedCodeInfo.Annotation)
                             return object;
+                        if (long === undefined)
+                            long = 0;
+                        if (long > $util.recursionLimit)
+                            throw Error("maximum nesting depth exceeded");
                         var message = new $root.google.protobuf.GeneratedCodeInfo.Annotation();
                         if (object.path) {
                             if (!Array.isArray(object.path))
@@ -161735,6 +169876,22 @@
                 return GeneratedCodeInfo;
             })();
     
+            /**
+             * SymbolVisibility enum.
+             * @name google.protobuf.SymbolVisibility
+             * @enum {number}
+             * @property {number} VISIBILITY_UNSET=0 VISIBILITY_UNSET value
+             * @property {number} VISIBILITY_LOCAL=1 VISIBILITY_LOCAL value
+             * @property {number} VISIBILITY_EXPORT=2 VISIBILITY_EXPORT value
+             */
+            protobuf.SymbolVisibility = (function() {
+                var valuesById = {}, values = Object.create(valuesById);
+                values[valuesById[0] = "VISIBILITY_UNSET"] = 0;
+                values[valuesById[1] = "VISIBILITY_LOCAL"] = 1;
+                values[valuesById[2] = "VISIBILITY_EXPORT"] = 2;
+                return values;
+            })();
+    
             protobuf.Duration = (function() {
     
                 /**
@@ -161756,7 +169913,7 @@
                 function Duration(properties) {
                     if (properties)
                         for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                            if (properties[keys[i]] != null)
+                            if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                 this[keys[i]] = properties[keys[i]];
                 }
     
@@ -161831,9 +169988,13 @@
                  * @throws {Error} If the payload is not a reader or valid buffer
                  * @throws {$protobuf.util.ProtocolError} If required fields are missing
                  */
-                Duration.decode = function decode(reader, length, error) {
+                Duration.decode = function decode(reader, length, error, long) {
                     if (!(reader instanceof $Reader))
                         reader = $Reader.create(reader);
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $Reader.recursionLimit)
+                        throw Error("maximum nesting depth exceeded");
                     var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.Duration();
                     while (reader.pos < end) {
                         var tag = reader.uint32();
@@ -161849,7 +170010,7 @@
                                 break;
                             }
                         default:
-                            reader.skipType(tag & 7);
+                            reader.skipType(tag & 7, long);
                             break;
                         }
                     }
@@ -161880,9 +170041,13 @@
                  * @param {Object.<string,*>} message Plain object to verify
                  * @returns {string|null} `null` if valid, otherwise the reason why it is not
                  */
-                Duration.verify = function verify(message) {
+                Duration.verify = function verify(message, long) {
                     if (typeof message !== "object" || message === null)
                         return "object expected";
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $util.recursionLimit)
+                        return "maximum nesting depth exceeded";
                     if (message.seconds != null && message.hasOwnProperty("seconds"))
                         if (!$util.isInteger(message.seconds) && !(message.seconds && $util.isInteger(message.seconds.low) && $util.isInteger(message.seconds.high)))
                             return "seconds: integer|Long expected";
@@ -161900,9 +170065,13 @@
                  * @param {Object.<string,*>} object Plain object
                  * @returns {google.protobuf.Duration} Duration
                  */
-                Duration.fromObject = function fromObject(object) {
+                Duration.fromObject = function fromObject(object, long) {
                     if (object instanceof $root.google.protobuf.Duration)
                         return object;
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $util.recursionLimit)
+                        throw Error("maximum nesting depth exceeded");
                     var message = new $root.google.protobuf.Duration();
                     if (object.seconds != null)
                         if ($util.Long)
@@ -161999,7 +170168,7 @@
                 function Timestamp(properties) {
                     if (properties)
                         for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                            if (properties[keys[i]] != null)
+                            if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                 this[keys[i]] = properties[keys[i]];
                 }
     
@@ -162074,9 +170243,13 @@
                  * @throws {Error} If the payload is not a reader or valid buffer
                  * @throws {$protobuf.util.ProtocolError} If required fields are missing
                  */
-                Timestamp.decode = function decode(reader, length, error) {
+                Timestamp.decode = function decode(reader, length, error, long) {
                     if (!(reader instanceof $Reader))
                         reader = $Reader.create(reader);
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $Reader.recursionLimit)
+                        throw Error("maximum nesting depth exceeded");
                     var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.Timestamp();
                     while (reader.pos < end) {
                         var tag = reader.uint32();
@@ -162092,7 +170265,7 @@
                                 break;
                             }
                         default:
-                            reader.skipType(tag & 7);
+                            reader.skipType(tag & 7, long);
                             break;
                         }
                     }
@@ -162123,9 +170296,13 @@
                  * @param {Object.<string,*>} message Plain object to verify
                  * @returns {string|null} `null` if valid, otherwise the reason why it is not
                  */
-                Timestamp.verify = function verify(message) {
+                Timestamp.verify = function verify(message, long) {
                     if (typeof message !== "object" || message === null)
                         return "object expected";
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $util.recursionLimit)
+                        return "maximum nesting depth exceeded";
                     if (message.seconds != null && message.hasOwnProperty("seconds"))
                         if (!$util.isInteger(message.seconds) && !(message.seconds && $util.isInteger(message.seconds.low) && $util.isInteger(message.seconds.high)))
                             return "seconds: integer|Long expected";
@@ -162143,9 +170320,13 @@
                  * @param {Object.<string,*>} object Plain object
                  * @returns {google.protobuf.Timestamp} Timestamp
                  */
-                Timestamp.fromObject = function fromObject(object) {
+                Timestamp.fromObject = function fromObject(object, long) {
                     if (object instanceof $root.google.protobuf.Timestamp)
                         return object;
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $util.recursionLimit)
+                        throw Error("maximum nesting depth exceeded");
                     var message = new $root.google.protobuf.Timestamp();
                     if (object.seconds != null)
                         if ($util.Long)
@@ -162241,7 +170422,7 @@
                 function DoubleValue(properties) {
                     if (properties)
                         for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                            if (properties[keys[i]] != null)
+                            if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                 this[keys[i]] = properties[keys[i]];
                 }
     
@@ -162306,9 +170487,13 @@
                  * @throws {Error} If the payload is not a reader or valid buffer
                  * @throws {$protobuf.util.ProtocolError} If required fields are missing
                  */
-                DoubleValue.decode = function decode(reader, length, error) {
+                DoubleValue.decode = function decode(reader, length, error, long) {
                     if (!(reader instanceof $Reader))
                         reader = $Reader.create(reader);
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $Reader.recursionLimit)
+                        throw Error("maximum nesting depth exceeded");
                     var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.DoubleValue();
                     while (reader.pos < end) {
                         var tag = reader.uint32();
@@ -162320,7 +170505,7 @@
                                 break;
                             }
                         default:
-                            reader.skipType(tag & 7);
+                            reader.skipType(tag & 7, long);
                             break;
                         }
                     }
@@ -162351,9 +170536,13 @@
                  * @param {Object.<string,*>} message Plain object to verify
                  * @returns {string|null} `null` if valid, otherwise the reason why it is not
                  */
-                DoubleValue.verify = function verify(message) {
+                DoubleValue.verify = function verify(message, long) {
                     if (typeof message !== "object" || message === null)
                         return "object expected";
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $util.recursionLimit)
+                        return "maximum nesting depth exceeded";
                     if (message.value != null && message.hasOwnProperty("value"))
                         if (typeof message.value !== "number")
                             return "value: number expected";
@@ -162368,9 +170557,13 @@
                  * @param {Object.<string,*>} object Plain object
                  * @returns {google.protobuf.DoubleValue} DoubleValue
                  */
-                DoubleValue.fromObject = function fromObject(object) {
+                DoubleValue.fromObject = function fromObject(object, long) {
                     if (object instanceof $root.google.protobuf.DoubleValue)
                         return object;
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $util.recursionLimit)
+                        throw Error("maximum nesting depth exceeded");
                     var message = new $root.google.protobuf.DoubleValue();
                     if (object.value != null)
                         message.value = Number(object.value);
@@ -162446,7 +170639,7 @@
                 function FloatValue(properties) {
                     if (properties)
                         for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                            if (properties[keys[i]] != null)
+                            if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                 this[keys[i]] = properties[keys[i]];
                 }
     
@@ -162511,9 +170704,13 @@
                  * @throws {Error} If the payload is not a reader or valid buffer
                  * @throws {$protobuf.util.ProtocolError} If required fields are missing
                  */
-                FloatValue.decode = function decode(reader, length, error) {
+                FloatValue.decode = function decode(reader, length, error, long) {
                     if (!(reader instanceof $Reader))
                         reader = $Reader.create(reader);
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $Reader.recursionLimit)
+                        throw Error("maximum nesting depth exceeded");
                     var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FloatValue();
                     while (reader.pos < end) {
                         var tag = reader.uint32();
@@ -162525,7 +170722,7 @@
                                 break;
                             }
                         default:
-                            reader.skipType(tag & 7);
+                            reader.skipType(tag & 7, long);
                             break;
                         }
                     }
@@ -162556,9 +170753,13 @@
                  * @param {Object.<string,*>} message Plain object to verify
                  * @returns {string|null} `null` if valid, otherwise the reason why it is not
                  */
-                FloatValue.verify = function verify(message) {
+                FloatValue.verify = function verify(message, long) {
                     if (typeof message !== "object" || message === null)
                         return "object expected";
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $util.recursionLimit)
+                        return "maximum nesting depth exceeded";
                     if (message.value != null && message.hasOwnProperty("value"))
                         if (typeof message.value !== "number")
                             return "value: number expected";
@@ -162573,9 +170774,13 @@
                  * @param {Object.<string,*>} object Plain object
                  * @returns {google.protobuf.FloatValue} FloatValue
                  */
-                FloatValue.fromObject = function fromObject(object) {
+                FloatValue.fromObject = function fromObject(object, long) {
                     if (object instanceof $root.google.protobuf.FloatValue)
                         return object;
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $util.recursionLimit)
+                        throw Error("maximum nesting depth exceeded");
                     var message = new $root.google.protobuf.FloatValue();
                     if (object.value != null)
                         message.value = Number(object.value);
@@ -162651,7 +170856,7 @@
                 function Int64Value(properties) {
                     if (properties)
                         for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                            if (properties[keys[i]] != null)
+                            if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                 this[keys[i]] = properties[keys[i]];
                 }
     
@@ -162716,9 +170921,13 @@
                  * @throws {Error} If the payload is not a reader or valid buffer
                  * @throws {$protobuf.util.ProtocolError} If required fields are missing
                  */
-                Int64Value.decode = function decode(reader, length, error) {
+                Int64Value.decode = function decode(reader, length, error, long) {
                     if (!(reader instanceof $Reader))
                         reader = $Reader.create(reader);
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $Reader.recursionLimit)
+                        throw Error("maximum nesting depth exceeded");
                     var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.Int64Value();
                     while (reader.pos < end) {
                         var tag = reader.uint32();
@@ -162730,7 +170939,7 @@
                                 break;
                             }
                         default:
-                            reader.skipType(tag & 7);
+                            reader.skipType(tag & 7, long);
                             break;
                         }
                     }
@@ -162761,9 +170970,13 @@
                  * @param {Object.<string,*>} message Plain object to verify
                  * @returns {string|null} `null` if valid, otherwise the reason why it is not
                  */
-                Int64Value.verify = function verify(message) {
+                Int64Value.verify = function verify(message, long) {
                     if (typeof message !== "object" || message === null)
                         return "object expected";
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $util.recursionLimit)
+                        return "maximum nesting depth exceeded";
                     if (message.value != null && message.hasOwnProperty("value"))
                         if (!$util.isInteger(message.value) && !(message.value && $util.isInteger(message.value.low) && $util.isInteger(message.value.high)))
                             return "value: integer|Long expected";
@@ -162778,9 +170991,13 @@
                  * @param {Object.<string,*>} object Plain object
                  * @returns {google.protobuf.Int64Value} Int64Value
                  */
-                Int64Value.fromObject = function fromObject(object) {
+                Int64Value.fromObject = function fromObject(object, long) {
                     if (object instanceof $root.google.protobuf.Int64Value)
                         return object;
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $util.recursionLimit)
+                        throw Error("maximum nesting depth exceeded");
                     var message = new $root.google.protobuf.Int64Value();
                     if (object.value != null)
                         if ($util.Long)
@@ -162870,7 +171087,7 @@
                 function UInt64Value(properties) {
                     if (properties)
                         for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                            if (properties[keys[i]] != null)
+                            if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                 this[keys[i]] = properties[keys[i]];
                 }
     
@@ -162935,9 +171152,13 @@
                  * @throws {Error} If the payload is not a reader or valid buffer
                  * @throws {$protobuf.util.ProtocolError} If required fields are missing
                  */
-                UInt64Value.decode = function decode(reader, length, error) {
+                UInt64Value.decode = function decode(reader, length, error, long) {
                     if (!(reader instanceof $Reader))
                         reader = $Reader.create(reader);
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $Reader.recursionLimit)
+                        throw Error("maximum nesting depth exceeded");
                     var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.UInt64Value();
                     while (reader.pos < end) {
                         var tag = reader.uint32();
@@ -162949,7 +171170,7 @@
                                 break;
                             }
                         default:
-                            reader.skipType(tag & 7);
+                            reader.skipType(tag & 7, long);
                             break;
                         }
                     }
@@ -162980,9 +171201,13 @@
                  * @param {Object.<string,*>} message Plain object to verify
                  * @returns {string|null} `null` if valid, otherwise the reason why it is not
                  */
-                UInt64Value.verify = function verify(message) {
+                UInt64Value.verify = function verify(message, long) {
                     if (typeof message !== "object" || message === null)
                         return "object expected";
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $util.recursionLimit)
+                        return "maximum nesting depth exceeded";
                     if (message.value != null && message.hasOwnProperty("value"))
                         if (!$util.isInteger(message.value) && !(message.value && $util.isInteger(message.value.low) && $util.isInteger(message.value.high)))
                             return "value: integer|Long expected";
@@ -162997,9 +171222,13 @@
                  * @param {Object.<string,*>} object Plain object
                  * @returns {google.protobuf.UInt64Value} UInt64Value
                  */
-                UInt64Value.fromObject = function fromObject(object) {
+                UInt64Value.fromObject = function fromObject(object, long) {
                     if (object instanceof $root.google.protobuf.UInt64Value)
                         return object;
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $util.recursionLimit)
+                        throw Error("maximum nesting depth exceeded");
                     var message = new $root.google.protobuf.UInt64Value();
                     if (object.value != null)
                         if ($util.Long)
@@ -163089,7 +171318,7 @@
                 function Int32Value(properties) {
                     if (properties)
                         for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                            if (properties[keys[i]] != null)
+                            if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                 this[keys[i]] = properties[keys[i]];
                 }
     
@@ -163154,9 +171383,13 @@
                  * @throws {Error} If the payload is not a reader or valid buffer
                  * @throws {$protobuf.util.ProtocolError} If required fields are missing
                  */
-                Int32Value.decode = function decode(reader, length, error) {
+                Int32Value.decode = function decode(reader, length, error, long) {
                     if (!(reader instanceof $Reader))
                         reader = $Reader.create(reader);
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $Reader.recursionLimit)
+                        throw Error("maximum nesting depth exceeded");
                     var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.Int32Value();
                     while (reader.pos < end) {
                         var tag = reader.uint32();
@@ -163168,7 +171401,7 @@
                                 break;
                             }
                         default:
-                            reader.skipType(tag & 7);
+                            reader.skipType(tag & 7, long);
                             break;
                         }
                     }
@@ -163199,9 +171432,13 @@
                  * @param {Object.<string,*>} message Plain object to verify
                  * @returns {string|null} `null` if valid, otherwise the reason why it is not
                  */
-                Int32Value.verify = function verify(message) {
+                Int32Value.verify = function verify(message, long) {
                     if (typeof message !== "object" || message === null)
                         return "object expected";
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $util.recursionLimit)
+                        return "maximum nesting depth exceeded";
                     if (message.value != null && message.hasOwnProperty("value"))
                         if (!$util.isInteger(message.value))
                             return "value: integer expected";
@@ -163216,9 +171453,13 @@
                  * @param {Object.<string,*>} object Plain object
                  * @returns {google.protobuf.Int32Value} Int32Value
                  */
-                Int32Value.fromObject = function fromObject(object) {
+                Int32Value.fromObject = function fromObject(object, long) {
                     if (object instanceof $root.google.protobuf.Int32Value)
                         return object;
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $util.recursionLimit)
+                        throw Error("maximum nesting depth exceeded");
                     var message = new $root.google.protobuf.Int32Value();
                     if (object.value != null)
                         message.value = object.value | 0;
@@ -163294,7 +171535,7 @@
                 function UInt32Value(properties) {
                     if (properties)
                         for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                            if (properties[keys[i]] != null)
+                            if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                 this[keys[i]] = properties[keys[i]];
                 }
     
@@ -163359,9 +171600,13 @@
                  * @throws {Error} If the payload is not a reader or valid buffer
                  * @throws {$protobuf.util.ProtocolError} If required fields are missing
                  */
-                UInt32Value.decode = function decode(reader, length, error) {
+                UInt32Value.decode = function decode(reader, length, error, long) {
                     if (!(reader instanceof $Reader))
                         reader = $Reader.create(reader);
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $Reader.recursionLimit)
+                        throw Error("maximum nesting depth exceeded");
                     var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.UInt32Value();
                     while (reader.pos < end) {
                         var tag = reader.uint32();
@@ -163373,7 +171618,7 @@
                                 break;
                             }
                         default:
-                            reader.skipType(tag & 7);
+                            reader.skipType(tag & 7, long);
                             break;
                         }
                     }
@@ -163404,9 +171649,13 @@
                  * @param {Object.<string,*>} message Plain object to verify
                  * @returns {string|null} `null` if valid, otherwise the reason why it is not
                  */
-                UInt32Value.verify = function verify(message) {
+                UInt32Value.verify = function verify(message, long) {
                     if (typeof message !== "object" || message === null)
                         return "object expected";
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $util.recursionLimit)
+                        return "maximum nesting depth exceeded";
                     if (message.value != null && message.hasOwnProperty("value"))
                         if (!$util.isInteger(message.value))
                             return "value: integer expected";
@@ -163421,9 +171670,13 @@
                  * @param {Object.<string,*>} object Plain object
                  * @returns {google.protobuf.UInt32Value} UInt32Value
                  */
-                UInt32Value.fromObject = function fromObject(object) {
+                UInt32Value.fromObject = function fromObject(object, long) {
                     if (object instanceof $root.google.protobuf.UInt32Value)
                         return object;
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $util.recursionLimit)
+                        throw Error("maximum nesting depth exceeded");
                     var message = new $root.google.protobuf.UInt32Value();
                     if (object.value != null)
                         message.value = object.value >>> 0;
@@ -163499,7 +171752,7 @@
                 function BoolValue(properties) {
                     if (properties)
                         for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                            if (properties[keys[i]] != null)
+                            if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                 this[keys[i]] = properties[keys[i]];
                 }
     
@@ -163564,9 +171817,13 @@
                  * @throws {Error} If the payload is not a reader or valid buffer
                  * @throws {$protobuf.util.ProtocolError} If required fields are missing
                  */
-                BoolValue.decode = function decode(reader, length, error) {
+                BoolValue.decode = function decode(reader, length, error, long) {
                     if (!(reader instanceof $Reader))
                         reader = $Reader.create(reader);
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $Reader.recursionLimit)
+                        throw Error("maximum nesting depth exceeded");
                     var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.BoolValue();
                     while (reader.pos < end) {
                         var tag = reader.uint32();
@@ -163578,7 +171835,7 @@
                                 break;
                             }
                         default:
-                            reader.skipType(tag & 7);
+                            reader.skipType(tag & 7, long);
                             break;
                         }
                     }
@@ -163609,9 +171866,13 @@
                  * @param {Object.<string,*>} message Plain object to verify
                  * @returns {string|null} `null` if valid, otherwise the reason why it is not
                  */
-                BoolValue.verify = function verify(message) {
+                BoolValue.verify = function verify(message, long) {
                     if (typeof message !== "object" || message === null)
                         return "object expected";
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $util.recursionLimit)
+                        return "maximum nesting depth exceeded";
                     if (message.value != null && message.hasOwnProperty("value"))
                         if (typeof message.value !== "boolean")
                             return "value: boolean expected";
@@ -163626,9 +171887,13 @@
                  * @param {Object.<string,*>} object Plain object
                  * @returns {google.protobuf.BoolValue} BoolValue
                  */
-                BoolValue.fromObject = function fromObject(object) {
+                BoolValue.fromObject = function fromObject(object, long) {
                     if (object instanceof $root.google.protobuf.BoolValue)
                         return object;
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $util.recursionLimit)
+                        throw Error("maximum nesting depth exceeded");
                     var message = new $root.google.protobuf.BoolValue();
                     if (object.value != null)
                         message.value = Boolean(object.value);
@@ -163704,7 +171969,7 @@
                 function StringValue(properties) {
                     if (properties)
                         for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                            if (properties[keys[i]] != null)
+                            if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                 this[keys[i]] = properties[keys[i]];
                 }
     
@@ -163769,9 +172034,13 @@
                  * @throws {Error} If the payload is not a reader or valid buffer
                  * @throws {$protobuf.util.ProtocolError} If required fields are missing
                  */
-                StringValue.decode = function decode(reader, length, error) {
+                StringValue.decode = function decode(reader, length, error, long) {
                     if (!(reader instanceof $Reader))
                         reader = $Reader.create(reader);
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $Reader.recursionLimit)
+                        throw Error("maximum nesting depth exceeded");
                     var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.StringValue();
                     while (reader.pos < end) {
                         var tag = reader.uint32();
@@ -163783,7 +172052,7 @@
                                 break;
                             }
                         default:
-                            reader.skipType(tag & 7);
+                            reader.skipType(tag & 7, long);
                             break;
                         }
                     }
@@ -163814,9 +172083,13 @@
                  * @param {Object.<string,*>} message Plain object to verify
                  * @returns {string|null} `null` if valid, otherwise the reason why it is not
                  */
-                StringValue.verify = function verify(message) {
+                StringValue.verify = function verify(message, long) {
                     if (typeof message !== "object" || message === null)
                         return "object expected";
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $util.recursionLimit)
+                        return "maximum nesting depth exceeded";
                     if (message.value != null && message.hasOwnProperty("value"))
                         if (!$util.isString(message.value))
                             return "value: string expected";
@@ -163831,9 +172104,13 @@
                  * @param {Object.<string,*>} object Plain object
                  * @returns {google.protobuf.StringValue} StringValue
                  */
-                StringValue.fromObject = function fromObject(object) {
+                StringValue.fromObject = function fromObject(object, long) {
                     if (object instanceof $root.google.protobuf.StringValue)
                         return object;
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $util.recursionLimit)
+                        throw Error("maximum nesting depth exceeded");
                     var message = new $root.google.protobuf.StringValue();
                     if (object.value != null)
                         message.value = String(object.value);
@@ -163909,7 +172186,7 @@
                 function BytesValue(properties) {
                     if (properties)
                         for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                            if (properties[keys[i]] != null)
+                            if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                 this[keys[i]] = properties[keys[i]];
                 }
     
@@ -163974,9 +172251,13 @@
                  * @throws {Error} If the payload is not a reader or valid buffer
                  * @throws {$protobuf.util.ProtocolError} If required fields are missing
                  */
-                BytesValue.decode = function decode(reader, length, error) {
+                BytesValue.decode = function decode(reader, length, error, long) {
                     if (!(reader instanceof $Reader))
                         reader = $Reader.create(reader);
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $Reader.recursionLimit)
+                        throw Error("maximum nesting depth exceeded");
                     var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.BytesValue();
                     while (reader.pos < end) {
                         var tag = reader.uint32();
@@ -163988,7 +172269,7 @@
                                 break;
                             }
                         default:
-                            reader.skipType(tag & 7);
+                            reader.skipType(tag & 7, long);
                             break;
                         }
                     }
@@ -164019,9 +172300,13 @@
                  * @param {Object.<string,*>} message Plain object to verify
                  * @returns {string|null} `null` if valid, otherwise the reason why it is not
                  */
-                BytesValue.verify = function verify(message) {
+                BytesValue.verify = function verify(message, long) {
                     if (typeof message !== "object" || message === null)
                         return "object expected";
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $util.recursionLimit)
+                        return "maximum nesting depth exceeded";
                     if (message.value != null && message.hasOwnProperty("value"))
                         if (!(message.value && typeof message.value.length === "number" || $util.isString(message.value)))
                             return "value: buffer expected";
@@ -164036,9 +172321,13 @@
                  * @param {Object.<string,*>} object Plain object
                  * @returns {google.protobuf.BytesValue} BytesValue
                  */
-                BytesValue.fromObject = function fromObject(object) {
+                BytesValue.fromObject = function fromObject(object, long) {
                     if (object instanceof $root.google.protobuf.BytesValue)
                         return object;
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $util.recursionLimit)
+                        throw Error("maximum nesting depth exceeded");
                     var message = new $root.google.protobuf.BytesValue();
                     if (object.value != null)
                         if (typeof object.value === "string")
@@ -164124,7 +172413,7 @@
                 function Any(properties) {
                     if (properties)
                         for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                            if (properties[keys[i]] != null)
+                            if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                 this[keys[i]] = properties[keys[i]];
                 }
     
@@ -164199,9 +172488,13 @@
                  * @throws {Error} If the payload is not a reader or valid buffer
                  * @throws {$protobuf.util.ProtocolError} If required fields are missing
                  */
-                Any.decode = function decode(reader, length, error) {
+                Any.decode = function decode(reader, length, error, long) {
                     if (!(reader instanceof $Reader))
                         reader = $Reader.create(reader);
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $Reader.recursionLimit)
+                        throw Error("maximum nesting depth exceeded");
                     var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.Any();
                     while (reader.pos < end) {
                         var tag = reader.uint32();
@@ -164217,7 +172510,7 @@
                                 break;
                             }
                         default:
-                            reader.skipType(tag & 7);
+                            reader.skipType(tag & 7, long);
                             break;
                         }
                     }
@@ -164248,9 +172541,13 @@
                  * @param {Object.<string,*>} message Plain object to verify
                  * @returns {string|null} `null` if valid, otherwise the reason why it is not
                  */
-                Any.verify = function verify(message) {
+                Any.verify = function verify(message, long) {
                     if (typeof message !== "object" || message === null)
                         return "object expected";
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $util.recursionLimit)
+                        return "maximum nesting depth exceeded";
                     if (message.type_url != null && message.hasOwnProperty("type_url"))
                         if (!$util.isString(message.type_url))
                             return "type_url: string expected";
@@ -164268,9 +172565,13 @@
                  * @param {Object.<string,*>} object Plain object
                  * @returns {google.protobuf.Any} Any
                  */
-                Any.fromObject = function fromObject(object) {
+                Any.fromObject = function fromObject(object, long) {
                     if (object instanceof $root.google.protobuf.Any)
                         return object;
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $util.recursionLimit)
+                        throw Error("maximum nesting depth exceeded");
                     var message = new $root.google.protobuf.Any();
                     if (object.type_url != null)
                         message.type_url = String(object.type_url);
@@ -164362,7 +172663,7 @@
                     this.paths = [];
                     if (properties)
                         for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                            if (properties[keys[i]] != null)
+                            if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                 this[keys[i]] = properties[keys[i]];
                 }
     
@@ -164428,9 +172729,13 @@
                  * @throws {Error} If the payload is not a reader or valid buffer
                  * @throws {$protobuf.util.ProtocolError} If required fields are missing
                  */
-                FieldMask.decode = function decode(reader, length, error) {
+                FieldMask.decode = function decode(reader, length, error, long) {
                     if (!(reader instanceof $Reader))
                         reader = $Reader.create(reader);
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $Reader.recursionLimit)
+                        throw Error("maximum nesting depth exceeded");
                     var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FieldMask();
                     while (reader.pos < end) {
                         var tag = reader.uint32();
@@ -164444,7 +172749,7 @@
                                 break;
                             }
                         default:
-                            reader.skipType(tag & 7);
+                            reader.skipType(tag & 7, long);
                             break;
                         }
                     }
@@ -164475,9 +172780,13 @@
                  * @param {Object.<string,*>} message Plain object to verify
                  * @returns {string|null} `null` if valid, otherwise the reason why it is not
                  */
-                FieldMask.verify = function verify(message) {
+                FieldMask.verify = function verify(message, long) {
                     if (typeof message !== "object" || message === null)
                         return "object expected";
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $util.recursionLimit)
+                        return "maximum nesting depth exceeded";
                     if (message.paths != null && message.hasOwnProperty("paths")) {
                         if (!Array.isArray(message.paths))
                             return "paths: array expected";
@@ -164496,9 +172805,13 @@
                  * @param {Object.<string,*>} object Plain object
                  * @returns {google.protobuf.FieldMask} FieldMask
                  */
-                FieldMask.fromObject = function fromObject(object) {
+                FieldMask.fromObject = function fromObject(object, long) {
                     if (object instanceof $root.google.protobuf.FieldMask)
                         return object;
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $util.recursionLimit)
+                        throw Error("maximum nesting depth exceeded");
                     var message = new $root.google.protobuf.FieldMask();
                     if (object.paths) {
                         if (!Array.isArray(object.paths))
@@ -164581,7 +172894,7 @@
                 function Empty(properties) {
                     if (properties)
                         for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                            if (properties[keys[i]] != null)
+                            if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                 this[keys[i]] = properties[keys[i]];
                 }
     
@@ -164636,9 +172949,13 @@
                  * @throws {Error} If the payload is not a reader or valid buffer
                  * @throws {$protobuf.util.ProtocolError} If required fields are missing
                  */
-                Empty.decode = function decode(reader, length, error) {
+                Empty.decode = function decode(reader, length, error, long) {
                     if (!(reader instanceof $Reader))
                         reader = $Reader.create(reader);
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $Reader.recursionLimit)
+                        throw Error("maximum nesting depth exceeded");
                     var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.Empty();
                     while (reader.pos < end) {
                         var tag = reader.uint32();
@@ -164646,7 +172963,7 @@
                             break;
                         switch (tag >>> 3) {
                         default:
-                            reader.skipType(tag & 7);
+                            reader.skipType(tag & 7, long);
                             break;
                         }
                     }
@@ -164677,9 +172994,13 @@
                  * @param {Object.<string,*>} message Plain object to verify
                  * @returns {string|null} `null` if valid, otherwise the reason why it is not
                  */
-                Empty.verify = function verify(message) {
+                Empty.verify = function verify(message, long) {
                     if (typeof message !== "object" || message === null)
                         return "object expected";
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $util.recursionLimit)
+                        return "maximum nesting depth exceeded";
                     return null;
                 };
     
@@ -164691,9 +173012,13 @@
                  * @param {Object.<string,*>} object Plain object
                  * @returns {google.protobuf.Empty} Empty
                  */
-                Empty.fromObject = function fromObject(object) {
+                Empty.fromObject = function fromObject(object, long) {
                     if (object instanceof $root.google.protobuf.Empty)
                         return object;
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $util.recursionLimit)
+                        throw Error("maximum nesting depth exceeded");
                     return new $root.google.protobuf.Empty();
                 };
     
@@ -164774,7 +173099,7 @@
                     this.details = [];
                     if (properties)
                         for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                            if (properties[keys[i]] != null)
+                            if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                 this[keys[i]] = properties[keys[i]];
                 }
     
@@ -164860,9 +173185,13 @@
                  * @throws {Error} If the payload is not a reader or valid buffer
                  * @throws {$protobuf.util.ProtocolError} If required fields are missing
                  */
-                Status.decode = function decode(reader, length, error) {
+                Status.decode = function decode(reader, length, error, long) {
                     if (!(reader instanceof $Reader))
                         reader = $Reader.create(reader);
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $Reader.recursionLimit)
+                        throw Error("maximum nesting depth exceeded");
                     var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.rpc.Status();
                     while (reader.pos < end) {
                         var tag = reader.uint32();
@@ -164880,11 +173209,11 @@
                         case 3: {
                                 if (!(message.details && message.details.length))
                                     message.details = [];
-                                message.details.push($root.google.protobuf.Any.decode(reader, reader.uint32()));
+                                message.details.push($root.google.protobuf.Any.decode(reader, reader.uint32(), undefined, long + 1));
                                 break;
                             }
                         default:
-                            reader.skipType(tag & 7);
+                            reader.skipType(tag & 7, long);
                             break;
                         }
                     }
@@ -164915,9 +173244,13 @@
                  * @param {Object.<string,*>} message Plain object to verify
                  * @returns {string|null} `null` if valid, otherwise the reason why it is not
                  */
-                Status.verify = function verify(message) {
+                Status.verify = function verify(message, long) {
                     if (typeof message !== "object" || message === null)
                         return "object expected";
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $util.recursionLimit)
+                        return "maximum nesting depth exceeded";
                     if (message.code != null && message.hasOwnProperty("code"))
                         if (!$util.isInteger(message.code))
                             return "code: integer expected";
@@ -164928,7 +173261,7 @@
                         if (!Array.isArray(message.details))
                             return "details: array expected";
                         for (var i = 0; i < message.details.length; ++i) {
-                            var error = $root.google.protobuf.Any.verify(message.details[i]);
+                            var error = $root.google.protobuf.Any.verify(message.details[i], long + 1);
                             if (error)
                                 return "details." + error;
                         }
@@ -164944,9 +173277,13 @@
                  * @param {Object.<string,*>} object Plain object
                  * @returns {google.rpc.Status} Status
                  */
-                Status.fromObject = function fromObject(object) {
+                Status.fromObject = function fromObject(object, long) {
                     if (object instanceof $root.google.rpc.Status)
                         return object;
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $util.recursionLimit)
+                        throw Error("maximum nesting depth exceeded");
                     var message = new $root.google.rpc.Status();
                     if (object.code != null)
                         message.code = object.code | 0;
@@ -164959,7 +173296,7 @@
                         for (var i = 0; i < object.details.length; ++i) {
                             if (typeof object.details[i] !== "object")
                                 throw TypeError(".google.rpc.Status.details: object expected");
-                            message.details[i] = $root.google.protobuf.Any.fromObject(object.details[i]);
+                            message.details[i] = $root.google.protobuf.Any.fromObject(object.details[i], long + 1);
                         }
                     }
                     return message;
@@ -165058,7 +173395,7 @@
                 function Interval(properties) {
                     if (properties)
                         for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
-                            if (properties[keys[i]] != null)
+                            if (properties[keys[i]] != null && keys[i] !== "__proto__")
                                 this[keys[i]] = properties[keys[i]];
                 }
     
@@ -165133,9 +173470,13 @@
                  * @throws {Error} If the payload is not a reader or valid buffer
                  * @throws {$protobuf.util.ProtocolError} If required fields are missing
                  */
-                Interval.decode = function decode(reader, length, error) {
+                Interval.decode = function decode(reader, length, error, long) {
                     if (!(reader instanceof $Reader))
                         reader = $Reader.create(reader);
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $Reader.recursionLimit)
+                        throw Error("maximum nesting depth exceeded");
                     var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.type.Interval();
                     while (reader.pos < end) {
                         var tag = reader.uint32();
@@ -165143,15 +173484,15 @@
                             break;
                         switch (tag >>> 3) {
                         case 1: {
-                                message.startTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+                                message.startTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1);
                                 break;
                             }
                         case 2: {
-                                message.endTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+                                message.endTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32(), undefined, long + 1);
                                 break;
                             }
                         default:
-                            reader.skipType(tag & 7);
+                            reader.skipType(tag & 7, long);
                             break;
                         }
                     }
@@ -165182,16 +173523,20 @@
                  * @param {Object.<string,*>} message Plain object to verify
                  * @returns {string|null} `null` if valid, otherwise the reason why it is not
                  */
-                Interval.verify = function verify(message) {
+                Interval.verify = function verify(message, long) {
                     if (typeof message !== "object" || message === null)
                         return "object expected";
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $util.recursionLimit)
+                        return "maximum nesting depth exceeded";
                     if (message.startTime != null && message.hasOwnProperty("startTime")) {
-                        var error = $root.google.protobuf.Timestamp.verify(message.startTime);
+                        var error = $root.google.protobuf.Timestamp.verify(message.startTime, long + 1);
                         if (error)
                             return "startTime." + error;
                     }
                     if (message.endTime != null && message.hasOwnProperty("endTime")) {
-                        var error = $root.google.protobuf.Timestamp.verify(message.endTime);
+                        var error = $root.google.protobuf.Timestamp.verify(message.endTime, long + 1);
                         if (error)
                             return "endTime." + error;
                     }
@@ -165206,19 +173551,23 @@
                  * @param {Object.<string,*>} object Plain object
                  * @returns {google.type.Interval} Interval
                  */
-                Interval.fromObject = function fromObject(object) {
+                Interval.fromObject = function fromObject(object, long) {
                     if (object instanceof $root.google.type.Interval)
                         return object;
+                    if (long === undefined)
+                        long = 0;
+                    if (long > $util.recursionLimit)
+                        throw Error("maximum nesting depth exceeded");
                     var message = new $root.google.type.Interval();
                     if (object.startTime != null) {
                         if (typeof object.startTime !== "object")
                             throw TypeError(".google.type.Interval.startTime: object expected");
-                        message.startTime = $root.google.protobuf.Timestamp.fromObject(object.startTime);
+                        message.startTime = $root.google.protobuf.Timestamp.fromObject(object.startTime, long + 1);
                     }
                     if (object.endTime != null) {
                         if (typeof object.endTime !== "object")
                             throw TypeError(".google.type.Interval.endTime: object expected");
-                        message.endTime = $root.google.protobuf.Timestamp.fromObject(object.endTime);
+                        message.endTime = $root.google.protobuf.Timestamp.fromObject(object.endTime, long + 1);
                     }
                     return message;
                 };
diff --git a/packages/google-cloud-sql/protos/protos.json b/packages/google-cloud-sql/protos/protos.json
index bc666cfd4e7d..d3a8e054dbf8 100644
--- a/packages/google-cloud-sql/protos/protos.json
+++ b/packages/google-cloud-sql/protos/protos.json
@@ -1267,6 +1267,16 @@
                           "oneof": [
                             "pscEnabled"
                           ]
+                        },
+                        "_pscAutoDnsEnabled": {
+                          "oneof": [
+                            "pscAutoDnsEnabled"
+                          ]
+                        },
+                        "_pscWriteEndpointDnsEnabled": {
+                          "oneof": [
+                            "pscWriteEndpointDnsEnabled"
+                          ]
                         }
                       },
                       "fields": {
@@ -1299,6 +1309,22 @@
                           "options": {
                             "(google.api.field_behavior)": "OPTIONAL"
                           }
+                        },
+                        "pscAutoDnsEnabled": {
+                          "type": "bool",
+                          "id": 5,
+                          "options": {
+                            "(google.api.field_behavior)": "OPTIONAL",
+                            "proto3_optional": true
+                          }
+                        },
+                        "pscWriteEndpointDnsEnabled": {
+                          "type": "bool",
+                          "id": 6,
+                          "options": {
+                            "(google.api.field_behavior)": "OPTIONAL",
+                            "proto3_optional": true
+                          }
                         }
                       }
                     },
@@ -1727,7 +1753,8 @@
                             "MANAGE_BACKUP": 50,
                             "ENHANCED_BACKUP": 51,
                             "REPAIR_READ_POOL": 52,
-                            "CREATE_READ_POOL": 53
+                            "CREATE_READ_POOL": 53,
+                            "PRE_CHECK_MAJOR_VERSION_UPGRADE": 54
                           }
                         },
                         "SqlOperationStatus": {
@@ -2101,6 +2128,13 @@
                             "proto3_optional": true
                           }
                         },
+                        "acceleratedReplicaMode": {
+                          "type": "google.protobuf.BoolValue",
+                          "id": 49,
+                          "options": {
+                            "(google.api.field_behavior)": "OPTIONAL"
+                          }
+                        },
                         "autoUpgradeEnabled": {
                           "type": "bool",
                           "id": 50,
@@ -2667,6 +2701,7 @@
                         "POSTGRES_16": 272,
                         "POSTGRES_17": 408,
                         "POSTGRES_18": 557,
+                        "POSTGRES_19": 684,
                         "SQLSERVER_2019_STANDARD": 26,
                         "SQLSERVER_2019_ENTERPRISE": 27,
                         "SQLSERVER_2019_EXPRESS": 28,
@@ -2674,7 +2709,10 @@
                         "SQLSERVER_2022_STANDARD": 199,
                         "SQLSERVER_2022_ENTERPRISE": 200,
                         "SQLSERVER_2022_EXPRESS": 201,
-                        "SQLSERVER_2022_WEB": 202
+                        "SQLSERVER_2022_WEB": 202,
+                        "SQLSERVER_2025_STANDARD": 549,
+                        "SQLSERVER_2025_ENTERPRISE": 550,
+                        "SQLSERVER_2025_EXPRESS": 551
                       }
                     },
                     "SqlPricingPlan": {
@@ -5191,6 +5229,11 @@
                           "oneof": [
                             "preferredSecondaryZone"
                           ]
+                        },
+                        "_region": {
+                          "oneof": [
+                            "region"
+                          ]
                         }
                       },
                       "fields": {
@@ -5246,6 +5289,29 @@
                             "(google.api.field_behavior)": "OPTIONAL",
                             "proto3_optional": true
                           }
+                        },
+                        "targetInstanceSettings": {
+                          "type": "DatabaseInstance",
+                          "id": 11,
+                          "options": {
+                            "(google.api.field_behavior)": "OPTIONAL"
+                          }
+                        },
+                        "targetInstanceClearSettingsFieldNames": {
+                          "rule": "repeated",
+                          "type": "string",
+                          "id": 12,
+                          "options": {
+                            "(google.api.field_behavior)": "OPTIONAL"
+                          }
+                        },
+                        "region": {
+                          "type": "string",
+                          "id": 13,
+                          "options": {
+                            "(google.api.field_behavior)": "OPTIONAL",
+                            "proto3_optional": true
+                          }
                         }
                       }
                     },
@@ -6608,7 +6674,8 @@
                         "BILLING_ISSUE": 2,
                         "LEGAL_ISSUE": 3,
                         "OPERATIONAL_ISSUE": 4,
-                        "KMS_KEY_ISSUE": 5
+                        "KMS_KEY_ISSUE": 5,
+                        "PROJECT_ABUSE": 8
                       }
                     },
                     "SqlConnectService": {
@@ -15951,8 +16018,7 @@
             "java_multiple_files": true,
             "java_outer_classname": "FieldInfoProto",
             "java_package": "com.google.api",
-            "objc_class_prefix": "GAPI",
-            "cc_enable_arenas": true
+            "objc_class_prefix": "GAPI"
           },
           "nested": {
             "http": {
@@ -16076,6 +16142,10 @@
                   "rule": "repeated",
                   "type": "ClientLibraryDestination",
                   "id": 2
+                },
+                "selectiveGapicGeneration": {
+                  "type": "SelectiveGapicGeneration",
+                  "id": 3
                 }
               }
             },
@@ -16216,6 +16286,28 @@
                 "common": {
                   "type": "CommonLanguageSettings",
                   "id": 1
+                },
+                "experimentalFeatures": {
+                  "type": "ExperimentalFeatures",
+                  "id": 2
+                }
+              },
+              "nested": {
+                "ExperimentalFeatures": {
+                  "fields": {
+                    "restAsyncIoEnabled": {
+                      "type": "bool",
+                      "id": 1
+                    },
+                    "protobufPythonicTypesEnabled": {
+                      "type": "bool",
+                      "id": 2
+                    },
+                    "unversionedPackageDisabled": {
+                      "type": "bool",
+                      "id": 3
+                    }
+                  }
                 }
               }
             },
@@ -16273,6 +16365,11 @@
                 "common": {
                   "type": "CommonLanguageSettings",
                   "id": 1
+                },
+                "renamedServices": {
+                  "keyType": "string",
+                  "type": "string",
+                  "id": 2
                 }
               }
             },
@@ -16334,6 +16431,19 @@
                 "PACKAGE_MANAGER": 20
               }
             },
+            "SelectiveGapicGeneration": {
+              "fields": {
+                "methods": {
+                  "rule": "repeated",
+                  "type": "string",
+                  "id": 1
+                },
+                "generateOmittedAsInternal": {
+                  "type": "bool",
+                  "id": 2
+                }
+              }
+            },
             "LaunchStage": {
               "values": {
                 "LAUNCH_STAGE_UNSPECIFIED": 0,
@@ -16455,6 +16565,11 @@
                 "format": {
                   "type": "Format",
                   "id": 1
+                },
+                "referencedTypes": {
+                  "rule": "repeated",
+                  "type": "TypeReference",
+                  "id": 2
                 }
               },
               "nested": {
@@ -16468,6 +16583,14 @@
                   }
                 }
               }
+            },
+            "TypeReference": {
+              "fields": {
+                "typeName": {
+                  "type": "string",
+                  "id": 1
+                }
+              }
             }
           }
         },
@@ -16490,12 +16613,19 @@
                   "type": "FileDescriptorProto",
                   "id": 1
                 }
-              }
+              },
+              "extensions": [
+                [
+                  536000000,
+                  536000000
+                ]
+              ]
             },
             "Edition": {
               "edition": "proto2",
               "values": {
                 "EDITION_UNKNOWN": 0,
+                "EDITION_LEGACY": 900,
                 "EDITION_PROTO2": 998,
                 "EDITION_PROTO3": 999,
                 "EDITION_2023": 1000,
@@ -16534,6 +16664,11 @@
                   "type": "int32",
                   "id": 11
                 },
+                "optionDependency": {
+                  "rule": "repeated",
+                  "type": "string",
+                  "id": 15
+                },
                 "messageType": {
                   "rule": "repeated",
                   "type": "DescriptorProto",
@@ -16622,6 +16757,10 @@
                   "rule": "repeated",
                   "type": "string",
                   "id": 10
+                },
+                "visibility": {
+                  "type": "SymbolVisibility",
+                  "id": 11
                 }
               },
               "nested": {
@@ -16847,6 +16986,10 @@
                   "rule": "repeated",
                   "type": "string",
                   "id": 5
+                },
+                "visibility": {
+                  "type": "SymbolVisibility",
+                  "id": 6
                 }
               },
               "nested": {
@@ -16897,7 +17040,14 @@
                   "type": "ServiceOptions",
                   "id": 3
                 }
-              }
+              },
+              "reserved": [
+                [
+                  4,
+                  4
+                ],
+                "stream"
+              ]
             },
             "MethodDescriptorProto": {
               "edition": "proto2",
@@ -17061,6 +17211,7 @@
                   42,
                   42
                 ],
+                "php_generic_services",
                 [
                   38,
                   38
@@ -17196,7 +17347,8 @@
                   "type": "bool",
                   "id": 10,
                   "options": {
-                    "default": false
+                    "default": false,
+                    "deprecated": true
                   }
                 },
                 "debugRedact": {
@@ -17224,6 +17376,10 @@
                   "type": "FeatureSet",
                   "id": 21
                 },
+                "featureSupport": {
+                  "type": "FeatureSupport",
+                  "id": 22
+                },
                 "uninterpretedOption": {
                   "rule": "repeated",
                   "type": "UninterpretedOption",
@@ -17293,6 +17449,26 @@
                       "id": 2
                     }
                   }
+                },
+                "FeatureSupport": {
+                  "fields": {
+                    "editionIntroduced": {
+                      "type": "Edition",
+                      "id": 1
+                    },
+                    "editionDeprecated": {
+                      "type": "Edition",
+                      "id": 2
+                    },
+                    "deprecationWarning": {
+                      "type": "string",
+                      "id": 3
+                    },
+                    "editionRemoved": {
+                      "type": "Edition",
+                      "id": 4
+                    }
+                  }
                 }
               }
             },
@@ -17381,6 +17557,10 @@
                     "default": false
                   }
                 },
+                "featureSupport": {
+                  "type": "FieldOptions.FeatureSupport",
+                  "id": 4
+                },
                 "uninterpretedOption": {
                   "rule": "repeated",
                   "type": "UninterpretedOption",
@@ -17523,6 +17703,7 @@
                   "options": {
                     "retention": "RETENTION_RUNTIME",
                     "targets": "TARGET_TYPE_FILE",
+                    "feature_support.edition_introduced": "EDITION_2023",
                     "edition_defaults.edition": "EDITION_2023",
                     "edition_defaults.value": "EXPLICIT"
                   }
@@ -17533,6 +17714,7 @@
                   "options": {
                     "retention": "RETENTION_RUNTIME",
                     "targets": "TARGET_TYPE_FILE",
+                    "feature_support.edition_introduced": "EDITION_2023",
                     "edition_defaults.edition": "EDITION_PROTO3",
                     "edition_defaults.value": "OPEN"
                   }
@@ -17543,6 +17725,7 @@
                   "options": {
                     "retention": "RETENTION_RUNTIME",
                     "targets": "TARGET_TYPE_FILE",
+                    "feature_support.edition_introduced": "EDITION_2023",
                     "edition_defaults.edition": "EDITION_PROTO3",
                     "edition_defaults.value": "PACKED"
                   }
@@ -17553,6 +17736,7 @@
                   "options": {
                     "retention": "RETENTION_RUNTIME",
                     "targets": "TARGET_TYPE_FILE",
+                    "feature_support.edition_introduced": "EDITION_2023",
                     "edition_defaults.edition": "EDITION_PROTO3",
                     "edition_defaults.value": "VERIFY"
                   }
@@ -17563,7 +17747,8 @@
                   "options": {
                     "retention": "RETENTION_RUNTIME",
                     "targets": "TARGET_TYPE_FILE",
-                    "edition_defaults.edition": "EDITION_PROTO2",
+                    "feature_support.edition_introduced": "EDITION_2023",
+                    "edition_defaults.edition": "EDITION_LEGACY",
                     "edition_defaults.value": "LENGTH_PREFIXED"
                   }
                 },
@@ -17573,27 +17758,38 @@
                   "options": {
                     "retention": "RETENTION_RUNTIME",
                     "targets": "TARGET_TYPE_FILE",
+                    "feature_support.edition_introduced": "EDITION_2023",
                     "edition_defaults.edition": "EDITION_PROTO3",
                     "edition_defaults.value": "ALLOW"
                   }
+                },
+                "enforceNamingStyle": {
+                  "type": "EnforceNamingStyle",
+                  "id": 7,
+                  "options": {
+                    "retention": "RETENTION_SOURCE",
+                    "targets": "TARGET_TYPE_METHOD",
+                    "feature_support.edition_introduced": "EDITION_2024",
+                    "edition_defaults.edition": "EDITION_2024",
+                    "edition_defaults.value": "STYLE2024"
+                  }
+                },
+                "defaultSymbolVisibility": {
+                  "type": "VisibilityFeature.DefaultSymbolVisibility",
+                  "id": 8,
+                  "options": {
+                    "retention": "RETENTION_SOURCE",
+                    "targets": "TARGET_TYPE_FILE",
+                    "feature_support.edition_introduced": "EDITION_2024",
+                    "edition_defaults.edition": "EDITION_2024",
+                    "edition_defaults.value": "EXPORT_TOP_LEVEL"
+                  }
                 }
               },
               "extensions": [
                 [
                   1000,
-                  1000
-                ],
-                [
-                  1001,
-                  1001
-                ],
-                [
-                  1002,
-                  1002
-                ],
-                [
-                  9990,
-                  9990
+                  9994
                 ],
                 [
                   9995,
@@ -17638,7 +17834,13 @@
                     "UTF8_VALIDATION_UNKNOWN": 0,
                     "VERIFY": 2,
                     "NONE": 3
-                  }
+                  },
+                  "reserved": [
+                    [
+                      1,
+                      1
+                    ]
+                  ]
                 },
                 "MessageEncoding": {
                   "values": {
@@ -17653,6 +17855,33 @@
                     "ALLOW": 1,
                     "LEGACY_BEST_EFFORT": 2
                   }
+                },
+                "EnforceNamingStyle": {
+                  "values": {
+                    "ENFORCE_NAMING_STYLE_UNKNOWN": 0,
+                    "STYLE2024": 1,
+                    "STYLE_LEGACY": 2
+                  }
+                },
+                "VisibilityFeature": {
+                  "fields": {},
+                  "reserved": [
+                    [
+                      1,
+                      536870911
+                    ]
+                  ],
+                  "nested": {
+                    "DefaultSymbolVisibility": {
+                      "values": {
+                        "DEFAULT_SYMBOL_VISIBILITY_UNKNOWN": 0,
+                        "EXPORT_ALL": 1,
+                        "EXPORT_TOP_LEVEL": 2,
+                        "LOCAL_ALL": 3,
+                        "STRICT": 4
+                      }
+                    }
+                  }
                 }
               }
             },
@@ -17680,11 +17909,26 @@
                       "type": "Edition",
                       "id": 3
                     },
-                    "features": {
+                    "overridableFeatures": {
                       "type": "FeatureSet",
-                      "id": 2
+                      "id": 4
+                    },
+                    "fixedFeatures": {
+                      "type": "FeatureSet",
+                      "id": 5
                     }
-                  }
+                  },
+                  "reserved": [
+                    [
+                      1,
+                      1
+                    ],
+                    [
+                      2,
+                      2
+                    ],
+                    "features"
+                  ]
                 }
               }
             },
@@ -17697,6 +17941,12 @@
                   "id": 1
                 }
               },
+              "extensions": [
+                [
+                  536000000,
+                  536000000
+                ]
+              ],
               "nested": {
                 "Location": {
                   "fields": {
@@ -17782,6 +18032,14 @@
                 }
               }
             },
+            "SymbolVisibility": {
+              "edition": "proto2",
+              "values": {
+                "VISIBILITY_UNSET": 0,
+                "VISIBILITY_LOCAL": 1,
+                "VISIBILITY_EXPORT": 2
+              }
+            },
             "Duration": {
               "fields": {
                 "seconds": {
diff --git a/packages/google-cloud-sql/samples/generated/v1/sql_instances_service.clone.js b/packages/google-cloud-sql/samples/generated/v1/sql_instances_service.clone.js
index 4f700337fe2c..e8213ce4277d 100644
--- a/packages/google-cloud-sql/samples/generated/v1/sql_instances_service.clone.js
+++ b/packages/google-cloud-sql/samples/generated/v1/sql_instances_service.clone.js
@@ -34,7 +34,7 @@ function main(instance, project, body) {
    */
   // const instance = 'abc123'
   /**
-   *  Required. Project ID of the source as well as the clone Cloud SQL instance.
+   *  Required. Project ID of the source Cloud SQL instance.
    */
   // const project = 'my-project'
   /**
diff --git a/packages/google-cloud-sql/src/v1/index.ts b/packages/google-cloud-sql/src/v1/index.ts
index fa8a89f713a8..3e843e173570 100644
--- a/packages/google-cloud-sql/src/v1/index.ts
+++ b/packages/google-cloud-sql/src/v1/index.ts
@@ -16,19 +16,19 @@
 // ** https://github.com/googleapis/gapic-generator-typescript **
 // ** All changes to this file may be overwritten. **
 
-
-export {SqlBackupRunsServiceClient} from './sql_backup_runs_service_client';
-export {SqlBackupsServiceClient} from './sql_backups_service_client';
-export {SqlConnectServiceClient} from './sql_connect_service_client';
-export {SqlDatabasesServiceClient} from './sql_databases_service_client';
-
-export {SqlFeatureEligibilityServiceClient} from './sql_feature_eligibility_service_client';
-export {SqlFlagsServiceClient} from './sql_flags_service_client';
-
-
-export {SqlInstancesServiceClient} from './sql_instances_service_client';
-export {SqlOperationsServiceClient} from './sql_operations_service_client';
-
-export {SqlSslCertsServiceClient} from './sql_ssl_certs_service_client';
-export {SqlTiersServiceClient} from './sql_tiers_service_client';
-export {SqlUsersServiceClient} from './sql_users_service_client';
+export { SqlAvailableDatabaseVersionsServiceClient } from './sql_available_database_versions_service_client';
+export { SqlBackupRunsServiceClient } from './sql_backup_runs_service_client';
+export { SqlBackupsServiceClient } from './sql_backups_service_client';
+export { SqlConnectServiceClient } from './sql_connect_service_client';
+export { SqlDatabasesServiceClient } from './sql_databases_service_client';
+export { SqlEventsServiceClient } from './sql_events_service_client';
+export { SqlFeatureEligibilityServiceClient } from './sql_feature_eligibility_service_client';
+export { SqlFlagsServiceClient } from './sql_flags_service_client';
+export { SqlIamPoliciesServiceClient } from './sql_iam_policies_service_client';
+export { SqlInstanceNamesServiceClient } from './sql_instance_names_service_client';
+export { SqlInstancesServiceClient } from './sql_instances_service_client';
+export { SqlOperationsServiceClient } from './sql_operations_service_client';
+export { SqlRegionsServiceClient } from './sql_regions_service_client';
+export { SqlSslCertsServiceClient } from './sql_ssl_certs_service_client';
+export { SqlTiersServiceClient } from './sql_tiers_service_client';
+export { SqlUsersServiceClient } from './sql_users_service_client';
diff --git a/packages/google-cloud-sql/src/v1/sql_backup_runs_service_client.ts b/packages/google-cloud-sql/src/v1/sql_backup_runs_service_client.ts
index e6258c7ae72b..582b1c1f4ae2 100644
--- a/packages/google-cloud-sql/src/v1/sql_backup_runs_service_client.ts
+++ b/packages/google-cloud-sql/src/v1/sql_backup_runs_service_client.ts
@@ -18,11 +18,18 @@
 
 /* global window */
 import type * as gax from 'google-gax';
-import type {Callback, CallOptions, Descriptors, ClientOptions, LocationsClient, LocationProtos} from 'google-gax';
+import type {
+  Callback,
+  CallOptions,
+  Descriptors,
+  ClientOptions,
+  LocationsClient,
+  LocationProtos,
+} from 'google-gax';
 
 import * as protos from '../../protos/protos';
 import jsonProtos = require('../../protos/protos.json');
-import {loggingUtils as logging, decodeAnyProtosInArray} from 'google-gax';
+import { loggingUtils as logging, decodeAnyProtosInArray } from 'google-gax';
 
 /**
  * Client JSON configuration object, loaded from
@@ -44,7 +51,7 @@ export class SqlBackupRunsServiceClient {
   private _gaxModule: typeof gax | typeof gax.fallback;
   private _gaxGrpc: gax.GrpcClient | gax.fallback.GrpcClient;
   private _protos: {};
-  private _defaults: {[method: string]: gax.CallSettings};
+  private _defaults: { [method: string]: gax.CallSettings };
   private _universeDomain: string;
   private _servicePath: string;
   private _log = logging.log('sql');
@@ -57,10 +64,10 @@ export class SqlBackupRunsServiceClient {
     batching: {},
   };
   warn: (code: string, message: string, warnType?: string) => void;
-  innerApiCalls: {[name: string]: Function};
+  innerApiCalls: { [name: string]: Function };
   locationsClient: LocationsClient;
-  pathTemplates: {[name: string]: gax.PathTemplate};
-  sqlBackupRunsServiceStub?: Promise<{[name: string]: Function}>;
+  pathTemplates: { [name: string]: gax.PathTemplate };
+  sqlBackupRunsServiceStub?: Promise<{ [name: string]: Function }>;
 
   /**
    * Construct an instance of SqlBackupRunsServiceClient.
@@ -101,21 +108,42 @@ export class SqlBackupRunsServiceClient {
    *     const client = new SqlBackupRunsServiceClient({fallback: true}, gax);
    *     ```
    */
-  constructor(opts?: ClientOptions, gaxInstance?: typeof gax | typeof gax.fallback) {
+  constructor(
+    opts?: ClientOptions,
+    gaxInstance?: typeof gax | typeof gax.fallback,
+  ) {
     // Ensure that options include all the required fields.
     const staticMembers = this.constructor as typeof SqlBackupRunsServiceClient;
-    if (opts?.universe_domain && opts?.universeDomain && opts?.universe_domain !== opts?.universeDomain) {
-      throw new Error('Please set either universe_domain or universeDomain, but not both.');
+    if (
+      opts?.universe_domain &&
+      opts?.universeDomain &&
+      opts?.universe_domain !== opts?.universeDomain
+    ) {
+      throw new Error(
+        'Please set either universe_domain or universeDomain, but not both.',
+      );
     }
-    const universeDomainEnvVar = (typeof process === 'object' && typeof process.env === 'object') ? process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] : undefined;
-    this._universeDomain = opts?.universeDomain ?? opts?.universe_domain ?? universeDomainEnvVar ?? 'googleapis.com';
+    const universeDomainEnvVar =
+      typeof process === 'object' && typeof process.env === 'object'
+        ? process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN']
+        : undefined;
+    this._universeDomain =
+      opts?.universeDomain ??
+      opts?.universe_domain ??
+      universeDomainEnvVar ??
+      'googleapis.com';
     this._servicePath = 'sqladmin.' + this._universeDomain;
-    const servicePath = opts?.servicePath || opts?.apiEndpoint || this._servicePath;
-    this._providedCustomServicePath = !!(opts?.servicePath || opts?.apiEndpoint);
+    const servicePath =
+      opts?.servicePath || opts?.apiEndpoint || this._servicePath;
+    this._providedCustomServicePath = !!(
+      opts?.servicePath || opts?.apiEndpoint
+    );
     const port = opts?.port || staticMembers.port;
     const clientConfig = opts?.clientConfig ?? {};
-    const fallback = opts?.fallback ?? (typeof window !== 'undefined' && typeof window?.fetch === 'function');
-    opts = Object.assign({servicePath, port, clientConfig, fallback}, opts);
+    const fallback =
+      opts?.fallback ??
+      (typeof window !== 'undefined' && typeof window?.fetch === 'function');
+    opts = Object.assign({ servicePath, port, clientConfig, fallback }, opts);
 
     // Request numeric enum values if REST transport is used.
     opts.numericEnums = true;
@@ -140,7 +168,7 @@ export class SqlBackupRunsServiceClient {
     this._opts = opts;
 
     // Save the auth object to the client, for use by other methods.
-    this.auth = (this._gaxGrpc.auth as gax.GoogleAuth);
+    this.auth = this._gaxGrpc.auth as gax.GoogleAuth;
 
     // Set useJWTAccessWithScope on the auth object.
     this.auth.useJWTAccessWithScope = true;
@@ -154,15 +182,11 @@ export class SqlBackupRunsServiceClient {
     }
     this.locationsClient = new this._gaxModule.LocationsClient(
       this._gaxGrpc,
-      opts
+      opts,
     );
-  
 
     // Determine the client header string.
-    const clientHeader = [
-      `gax/${this._gaxModule.version}`,
-      `gapic/${version}`,
-    ];
+    const clientHeader = [`gax/${this._gaxModule.version}`, `gapic/${version}`];
     if (typeof process === 'object' && 'versions' in process) {
       clientHeader.push(`gl-node/${process.versions.node}`);
     } else {
@@ -184,14 +208,17 @@ export class SqlBackupRunsServiceClient {
     // Create useful helper objects for these.
     this.pathTemplates = {
       backupPathTemplate: new this._gaxModule.PathTemplate(
-        'projects/{project}/backups/{backup}'
+        'projects/{project}/backups/{backup}',
       ),
     };
 
     // Put together the default options sent with requests.
     this._defaults = this._gaxGrpc.constructSettings(
-        'google.cloud.sql.v1.SqlBackupRunsService', gapicConfig as gax.ClientConfig,
-        opts.clientConfig || {}, {'x-goog-api-client': clientHeader.join(' ')});
+      'google.cloud.sql.v1.SqlBackupRunsService',
+      gapicConfig as gax.ClientConfig,
+      opts.clientConfig || {},
+      { 'x-goog-api-client': clientHeader.join(' ') },
+    );
 
     // Set up a dictionary of "inner API calls"; the core implementation
     // of calling the API is handled in `google-gax`, with this code
@@ -222,36 +249,40 @@ export class SqlBackupRunsServiceClient {
     // Put together the "service stub" for
     // google.cloud.sql.v1.SqlBackupRunsService.
     this.sqlBackupRunsServiceStub = this._gaxGrpc.createStub(
-        this._opts.fallback ?
-          (this._protos as protobuf.Root).lookupService('google.cloud.sql.v1.SqlBackupRunsService') :
-          // eslint-disable-next-line @typescript-eslint/no-explicit-any
+      this._opts.fallback
+        ? (this._protos as protobuf.Root).lookupService(
+            'google.cloud.sql.v1.SqlBackupRunsService',
+          )
+        : // eslint-disable-next-line @typescript-eslint/no-explicit-any
           (this._protos as any).google.cloud.sql.v1.SqlBackupRunsService,
-        this._opts, this._providedCustomServicePath) as Promise<{[method: string]: Function}>;
+      this._opts,
+      this._providedCustomServicePath,
+    ) as Promise<{ [method: string]: Function }>;
 
     // Iterate over each of the methods that the service provides
     // and create an API call method for each.
-    const sqlBackupRunsServiceStubMethods =
-        ['delete', 'get', 'insert', 'list'];
+    const sqlBackupRunsServiceStubMethods = ['delete', 'get', 'insert', 'list'];
     for (const methodName of sqlBackupRunsServiceStubMethods) {
       const callPromise = this.sqlBackupRunsServiceStub.then(
-        stub => (...args: Array<{}>) => {
-          if (this._terminated) {
-            return Promise.reject('The client has already been closed.');
-          }
-          const func = stub[methodName];
-          return func.apply(stub, args);
-        },
-        (err: Error|null|undefined) => () => {
+        (stub) =>
+          (...args: Array<{}>) => {
+            if (this._terminated) {
+              return Promise.reject('The client has already been closed.');
+            }
+            const func = stub[methodName];
+            return func.apply(stub, args);
+          },
+        (err: Error | null | undefined) => () => {
           throw err;
-        });
+        },
+      );
 
-      const descriptor =
-        undefined;
+      const descriptor = undefined;
       const apiCall = this._gaxModule.createApiCall(
         callPromise,
         this._defaults[methodName],
         descriptor,
-        this._opts.fallback
+        this._opts.fallback,
       );
 
       this.innerApiCalls[methodName] = apiCall;
@@ -266,8 +297,14 @@ export class SqlBackupRunsServiceClient {
    * @returns {string} The DNS address for this service.
    */
   static get servicePath() {
-    if (typeof process === 'object' && typeof process.emitWarning === 'function') {
-      process.emitWarning('Static servicePath is deprecated, please use the instance method instead.', 'DeprecationWarning');
+    if (
+      typeof process === 'object' &&
+      typeof process.emitWarning === 'function'
+    ) {
+      process.emitWarning(
+        'Static servicePath is deprecated, please use the instance method instead.',
+        'DeprecationWarning',
+      );
     }
     return 'sqladmin.googleapis.com';
   }
@@ -278,8 +315,14 @@ export class SqlBackupRunsServiceClient {
    * @returns {string} The DNS address for this service.
    */
   static get apiEndpoint() {
-    if (typeof process === 'object' && typeof process.emitWarning === 'function') {
-      process.emitWarning('Static apiEndpoint is deprecated, please use the instance method instead.', 'DeprecationWarning');
+    if (
+      typeof process === 'object' &&
+      typeof process.emitWarning === 'function'
+    ) {
+      process.emitWarning(
+        'Static apiEndpoint is deprecated, please use the instance method instead.',
+        'DeprecationWarning',
+      );
     }
     return 'sqladmin.googleapis.com';
   }
@@ -312,7 +355,7 @@ export class SqlBackupRunsServiceClient {
   static get scopes() {
     return [
       'https://www.googleapis.com/auth/cloud-platform',
-      'https://www.googleapis.com/auth/sqlservice.admin'
+      'https://www.googleapis.com/auth/sqlservice.admin',
     ];
   }
 
@@ -322,8 +365,9 @@ export class SqlBackupRunsServiceClient {
    * Return the project ID used by this class.
    * @returns {Promise} A promise that resolves to string containing the project ID.
    */
-  getProjectId(callback?: Callback<string, undefined, undefined>):
-      Promise<string>|void {
+  getProjectId(
+    callback?: Callback<string, undefined, undefined>,
+  ): Promise<string> | void {
     if (callback) {
       this.auth.getProjectId(callback);
       return;
@@ -334,413 +378,549 @@ export class SqlBackupRunsServiceClient {
   // -------------------
   // -- Service calls --
   // -------------------
-/**
- * Deletes the backup taken by a backup run.
- *
- * @param {Object} request
- *   The request object that will be sent.
- * @param {number} request.id
- *   The ID of the backup run to delete. To find a backup run ID, use the
- *   [list](https://cloud.google.com/sql/docs/mysql/admin-api/rest/v1/backupRuns/list)
- *   method.
- * @param {string} request.instance
- *   Cloud SQL instance ID. This does not include the project ID.
- * @param {string} request.project
- *   Project ID of the project that contains the instance.
- * @param {object} [options]
- *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
- * @returns {Promise} - The promise which resolves to an array.
- *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1.Operation|Operation}.
- *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
- *   for more details and examples.
- * @example <caption>include:samples/generated/v1/sql_backup_runs_service.delete.js</caption>
- * region_tag:sqladmin_v1_generated_SqlBackupRunsService_Delete_async
- */
+  /**
+   * Deletes the backup taken by a backup run.
+   *
+   * @param {Object} request
+   *   The request object that will be sent.
+   * @param {number} request.id
+   *   The ID of the backup run to delete. To find a backup run ID, use the
+   *   [list](https://cloud.google.com/sql/docs/mysql/admin-api/rest/v1/backupRuns/list)
+   *   method.
+   * @param {string} request.instance
+   *   Cloud SQL instance ID. This does not include the project ID.
+   * @param {string} request.project
+   *   Project ID of the project that contains the instance.
+   * @param {object} [options]
+   *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+   * @returns {Promise} - The promise which resolves to an array.
+   *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1.Operation|Operation}.
+   *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
+   *   for more details and examples.
+   * @example <caption>include:samples/generated/v1/sql_backup_runs_service.delete.js</caption>
+   * region_tag:sqladmin_v1_generated_SqlBackupRunsService_Delete_async
+   */
   delete(
-      request?: protos.google.cloud.sql.v1.ISqlBackupRunsDeleteRequest,
-      options?: CallOptions):
-      Promise<[
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlBackupRunsDeleteRequest|undefined, {}|undefined
-      ]>;
+    request?: protos.google.cloud.sql.v1.ISqlBackupRunsDeleteRequest,
+    options?: CallOptions,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1.IOperation,
+      protos.google.cloud.sql.v1.ISqlBackupRunsDeleteRequest | undefined,
+      {} | undefined,
+    ]
+  >;
   delete(
-      request: protos.google.cloud.sql.v1.ISqlBackupRunsDeleteRequest,
-      options: CallOptions,
-      callback: Callback<
-          protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlBackupRunsDeleteRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1.ISqlBackupRunsDeleteRequest,
+    options: CallOptions,
+    callback: Callback<
+      protos.google.cloud.sql.v1.IOperation,
+      protos.google.cloud.sql.v1.ISqlBackupRunsDeleteRequest | null | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   delete(
-      request: protos.google.cloud.sql.v1.ISqlBackupRunsDeleteRequest,
-      callback: Callback<
-          protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlBackupRunsDeleteRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1.ISqlBackupRunsDeleteRequest,
+    callback: Callback<
+      protos.google.cloud.sql.v1.IOperation,
+      protos.google.cloud.sql.v1.ISqlBackupRunsDeleteRequest | null | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   delete(
-      request?: protos.google.cloud.sql.v1.ISqlBackupRunsDeleteRequest,
-      optionsOrCallback?: CallOptions|Callback<
-          protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlBackupRunsDeleteRequest|null|undefined,
-          {}|null|undefined>,
-      callback?: Callback<
+    request?: protos.google.cloud.sql.v1.ISqlBackupRunsDeleteRequest,
+    optionsOrCallback?:
+      | CallOptions
+      | Callback<
           protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlBackupRunsDeleteRequest|null|undefined,
-          {}|null|undefined>):
-      Promise<[
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlBackupRunsDeleteRequest|undefined, {}|undefined
-      ]>|void {
+          | protos.google.cloud.sql.v1.ISqlBackupRunsDeleteRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >,
+    callback?: Callback<
+      protos.google.cloud.sql.v1.IOperation,
+      protos.google.cloud.sql.v1.ISqlBackupRunsDeleteRequest | null | undefined,
+      {} | null | undefined
+    >,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1.IOperation,
+      protos.google.cloud.sql.v1.ISqlBackupRunsDeleteRequest | undefined,
+      {} | undefined,
+    ]
+  > | void {
     request = request || {};
     let options: CallOptions;
     if (typeof optionsOrCallback === 'function' && callback === undefined) {
       callback = optionsOrCallback;
       options = {};
-    }
-    else {
+    } else {
       options = optionsOrCallback as CallOptions;
     }
     options = options || {};
     options.otherArgs = options.otherArgs || {};
     options.otherArgs.headers = options.otherArgs.headers || {};
-    options.otherArgs.headers[
-      'x-goog-request-params'
-    ] = this._gaxModule.routingHeader.fromParams({
-      'project': request.project ?? '',
-      'instance': request.instance ?? '',
-      'id': request.id?.toString() ?? '',
+    options.otherArgs.headers['x-goog-request-params'] =
+      this._gaxModule.routingHeader.fromParams({
+        project: request.project ?? '',
+        instance: request.instance ?? '',
+        id: request.id?.toString() ?? '',
+      });
+    this.initialize().catch((err) => {
+      throw err;
     });
-    this.initialize().catch(err => {throw err});
     this._log.info('delete request %j', request);
-    const wrappedCallback: Callback<
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlBackupRunsDeleteRequest|null|undefined,
-        {}|null|undefined>|undefined = callback
+    const wrappedCallback:
+      | Callback<
+          protos.google.cloud.sql.v1.IOperation,
+          | protos.google.cloud.sql.v1.ISqlBackupRunsDeleteRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >
+      | undefined = callback
       ? (error, response, options, rawResponse) => {
           this._log.info('delete response %j', response);
           callback!(error, response, options, rawResponse); // We verified callback above.
         }
       : undefined;
-    return this.innerApiCalls.delete(request, options, wrappedCallback)
-      ?.then(([response, options, rawResponse]: [
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlBackupRunsDeleteRequest|undefined,
-        {}|undefined
-      ]) => {
-        this._log.info('delete response %j', response);
-        return [response, options, rawResponse];
-      }).catch((error: any) => {
-        if (error && 'statusDetails' in error && error.statusDetails instanceof Array) {
-          const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type;
-          error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos);
+    return this.innerApiCalls
+      .delete(request, options, wrappedCallback)
+      ?.then(
+        ([response, options, rawResponse]: [
+          protos.google.cloud.sql.v1.IOperation,
+          protos.google.cloud.sql.v1.ISqlBackupRunsDeleteRequest | undefined,
+          {} | undefined,
+        ]) => {
+          this._log.info('delete response %j', response);
+          return [response, options, rawResponse];
+        },
+      )
+      .catch((error: any) => {
+        if (
+          error &&
+          'statusDetails' in error &&
+          error.statusDetails instanceof Array
+        ) {
+          const protos = this._gaxModule.protobuf.Root.fromJSON(
+            jsonProtos,
+          ) as unknown as gax.protobuf.Type;
+          error.statusDetails = decodeAnyProtosInArray(
+            error.statusDetails,
+            protos,
+          );
         }
         throw error;
       });
   }
-/**
- * Retrieves a resource containing information about a backup run.
- *
- * @param {Object} request
- *   The request object that will be sent.
- * @param {number} request.id
- *   The ID of this backup run.
- * @param {string} request.instance
- *   Cloud SQL instance ID. This does not include the project ID.
- * @param {string} request.project
- *   Project ID of the project that contains the instance.
- * @param {object} [options]
- *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
- * @returns {Promise} - The promise which resolves to an array.
- *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1.BackupRun|BackupRun}.
- *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
- *   for more details and examples.
- * @example <caption>include:samples/generated/v1/sql_backup_runs_service.get.js</caption>
- * region_tag:sqladmin_v1_generated_SqlBackupRunsService_Get_async
- */
+  /**
+   * Retrieves a resource containing information about a backup run.
+   *
+   * @param {Object} request
+   *   The request object that will be sent.
+   * @param {number} request.id
+   *   The ID of this backup run.
+   * @param {string} request.instance
+   *   Cloud SQL instance ID. This does not include the project ID.
+   * @param {string} request.project
+   *   Project ID of the project that contains the instance.
+   * @param {object} [options]
+   *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+   * @returns {Promise} - The promise which resolves to an array.
+   *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1.BackupRun|BackupRun}.
+   *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
+   *   for more details and examples.
+   * @example <caption>include:samples/generated/v1/sql_backup_runs_service.get.js</caption>
+   * region_tag:sqladmin_v1_generated_SqlBackupRunsService_Get_async
+   */
   get(
-      request?: protos.google.cloud.sql.v1.ISqlBackupRunsGetRequest,
-      options?: CallOptions):
-      Promise<[
-        protos.google.cloud.sql.v1.IBackupRun,
-        protos.google.cloud.sql.v1.ISqlBackupRunsGetRequest|undefined, {}|undefined
-      ]>;
+    request?: protos.google.cloud.sql.v1.ISqlBackupRunsGetRequest,
+    options?: CallOptions,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1.IBackupRun,
+      protos.google.cloud.sql.v1.ISqlBackupRunsGetRequest | undefined,
+      {} | undefined,
+    ]
+  >;
   get(
-      request: protos.google.cloud.sql.v1.ISqlBackupRunsGetRequest,
-      options: CallOptions,
-      callback: Callback<
-          protos.google.cloud.sql.v1.IBackupRun,
-          protos.google.cloud.sql.v1.ISqlBackupRunsGetRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1.ISqlBackupRunsGetRequest,
+    options: CallOptions,
+    callback: Callback<
+      protos.google.cloud.sql.v1.IBackupRun,
+      protos.google.cloud.sql.v1.ISqlBackupRunsGetRequest | null | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   get(
-      request: protos.google.cloud.sql.v1.ISqlBackupRunsGetRequest,
-      callback: Callback<
-          protos.google.cloud.sql.v1.IBackupRun,
-          protos.google.cloud.sql.v1.ISqlBackupRunsGetRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1.ISqlBackupRunsGetRequest,
+    callback: Callback<
+      protos.google.cloud.sql.v1.IBackupRun,
+      protos.google.cloud.sql.v1.ISqlBackupRunsGetRequest | null | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   get(
-      request?: protos.google.cloud.sql.v1.ISqlBackupRunsGetRequest,
-      optionsOrCallback?: CallOptions|Callback<
-          protos.google.cloud.sql.v1.IBackupRun,
-          protos.google.cloud.sql.v1.ISqlBackupRunsGetRequest|null|undefined,
-          {}|null|undefined>,
-      callback?: Callback<
+    request?: protos.google.cloud.sql.v1.ISqlBackupRunsGetRequest,
+    optionsOrCallback?:
+      | CallOptions
+      | Callback<
           protos.google.cloud.sql.v1.IBackupRun,
-          protos.google.cloud.sql.v1.ISqlBackupRunsGetRequest|null|undefined,
-          {}|null|undefined>):
-      Promise<[
-        protos.google.cloud.sql.v1.IBackupRun,
-        protos.google.cloud.sql.v1.ISqlBackupRunsGetRequest|undefined, {}|undefined
-      ]>|void {
+          | protos.google.cloud.sql.v1.ISqlBackupRunsGetRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >,
+    callback?: Callback<
+      protos.google.cloud.sql.v1.IBackupRun,
+      protos.google.cloud.sql.v1.ISqlBackupRunsGetRequest | null | undefined,
+      {} | null | undefined
+    >,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1.IBackupRun,
+      protos.google.cloud.sql.v1.ISqlBackupRunsGetRequest | undefined,
+      {} | undefined,
+    ]
+  > | void {
     request = request || {};
     let options: CallOptions;
     if (typeof optionsOrCallback === 'function' && callback === undefined) {
       callback = optionsOrCallback;
       options = {};
-    }
-    else {
+    } else {
       options = optionsOrCallback as CallOptions;
     }
     options = options || {};
     options.otherArgs = options.otherArgs || {};
     options.otherArgs.headers = options.otherArgs.headers || {};
-    options.otherArgs.headers[
-      'x-goog-request-params'
-    ] = this._gaxModule.routingHeader.fromParams({
-      'project': request.project ?? '',
-      'instance': request.instance ?? '',
-      'id': request.id?.toString() ?? '',
+    options.otherArgs.headers['x-goog-request-params'] =
+      this._gaxModule.routingHeader.fromParams({
+        project: request.project ?? '',
+        instance: request.instance ?? '',
+        id: request.id?.toString() ?? '',
+      });
+    this.initialize().catch((err) => {
+      throw err;
     });
-    this.initialize().catch(err => {throw err});
     this._log.info('get request %j', request);
-    const wrappedCallback: Callback<
-        protos.google.cloud.sql.v1.IBackupRun,
-        protos.google.cloud.sql.v1.ISqlBackupRunsGetRequest|null|undefined,
-        {}|null|undefined>|undefined = callback
+    const wrappedCallback:
+      | Callback<
+          protos.google.cloud.sql.v1.IBackupRun,
+          | protos.google.cloud.sql.v1.ISqlBackupRunsGetRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >
+      | undefined = callback
       ? (error, response, options, rawResponse) => {
           this._log.info('get response %j', response);
           callback!(error, response, options, rawResponse); // We verified callback above.
         }
       : undefined;
-    return this.innerApiCalls.get(request, options, wrappedCallback)
-      ?.then(([response, options, rawResponse]: [
-        protos.google.cloud.sql.v1.IBackupRun,
-        protos.google.cloud.sql.v1.ISqlBackupRunsGetRequest|undefined,
-        {}|undefined
-      ]) => {
-        this._log.info('get response %j', response);
-        return [response, options, rawResponse];
-      }).catch((error: any) => {
-        if (error && 'statusDetails' in error && error.statusDetails instanceof Array) {
-          const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type;
-          error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos);
+    return this.innerApiCalls
+      .get(request, options, wrappedCallback)
+      ?.then(
+        ([response, options, rawResponse]: [
+          protos.google.cloud.sql.v1.IBackupRun,
+          protos.google.cloud.sql.v1.ISqlBackupRunsGetRequest | undefined,
+          {} | undefined,
+        ]) => {
+          this._log.info('get response %j', response);
+          return [response, options, rawResponse];
+        },
+      )
+      .catch((error: any) => {
+        if (
+          error &&
+          'statusDetails' in error &&
+          error.statusDetails instanceof Array
+        ) {
+          const protos = this._gaxModule.protobuf.Root.fromJSON(
+            jsonProtos,
+          ) as unknown as gax.protobuf.Type;
+          error.statusDetails = decodeAnyProtosInArray(
+            error.statusDetails,
+            protos,
+          );
         }
         throw error;
       });
   }
-/**
- * Creates a new backup run on demand.
- *
- * @param {Object} request
- *   The request object that will be sent.
- * @param {string} request.instance
- *   Cloud SQL instance ID. This does not include the project ID.
- * @param {string} request.project
- *   Project ID of the project that contains the instance.
- * @param {google.cloud.sql.v1.BackupRun} request.body
- * @param {object} [options]
- *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
- * @returns {Promise} - The promise which resolves to an array.
- *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1.Operation|Operation}.
- *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
- *   for more details and examples.
- * @example <caption>include:samples/generated/v1/sql_backup_runs_service.insert.js</caption>
- * region_tag:sqladmin_v1_generated_SqlBackupRunsService_Insert_async
- */
+  /**
+   * Creates a new backup run on demand.
+   *
+   * @param {Object} request
+   *   The request object that will be sent.
+   * @param {string} request.instance
+   *   Cloud SQL instance ID. This does not include the project ID.
+   * @param {string} request.project
+   *   Project ID of the project that contains the instance.
+   * @param {google.cloud.sql.v1.BackupRun} request.body
+   * @param {object} [options]
+   *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+   * @returns {Promise} - The promise which resolves to an array.
+   *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1.Operation|Operation}.
+   *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
+   *   for more details and examples.
+   * @example <caption>include:samples/generated/v1/sql_backup_runs_service.insert.js</caption>
+   * region_tag:sqladmin_v1_generated_SqlBackupRunsService_Insert_async
+   */
   insert(
-      request?: protos.google.cloud.sql.v1.ISqlBackupRunsInsertRequest,
-      options?: CallOptions):
-      Promise<[
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlBackupRunsInsertRequest|undefined, {}|undefined
-      ]>;
+    request?: protos.google.cloud.sql.v1.ISqlBackupRunsInsertRequest,
+    options?: CallOptions,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1.IOperation,
+      protos.google.cloud.sql.v1.ISqlBackupRunsInsertRequest | undefined,
+      {} | undefined,
+    ]
+  >;
   insert(
-      request: protos.google.cloud.sql.v1.ISqlBackupRunsInsertRequest,
-      options: CallOptions,
-      callback: Callback<
-          protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlBackupRunsInsertRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1.ISqlBackupRunsInsertRequest,
+    options: CallOptions,
+    callback: Callback<
+      protos.google.cloud.sql.v1.IOperation,
+      protos.google.cloud.sql.v1.ISqlBackupRunsInsertRequest | null | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   insert(
-      request: protos.google.cloud.sql.v1.ISqlBackupRunsInsertRequest,
-      callback: Callback<
-          protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlBackupRunsInsertRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1.ISqlBackupRunsInsertRequest,
+    callback: Callback<
+      protos.google.cloud.sql.v1.IOperation,
+      protos.google.cloud.sql.v1.ISqlBackupRunsInsertRequest | null | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   insert(
-      request?: protos.google.cloud.sql.v1.ISqlBackupRunsInsertRequest,
-      optionsOrCallback?: CallOptions|Callback<
-          protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlBackupRunsInsertRequest|null|undefined,
-          {}|null|undefined>,
-      callback?: Callback<
+    request?: protos.google.cloud.sql.v1.ISqlBackupRunsInsertRequest,
+    optionsOrCallback?:
+      | CallOptions
+      | Callback<
           protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlBackupRunsInsertRequest|null|undefined,
-          {}|null|undefined>):
-      Promise<[
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlBackupRunsInsertRequest|undefined, {}|undefined
-      ]>|void {
+          | protos.google.cloud.sql.v1.ISqlBackupRunsInsertRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >,
+    callback?: Callback<
+      protos.google.cloud.sql.v1.IOperation,
+      protos.google.cloud.sql.v1.ISqlBackupRunsInsertRequest | null | undefined,
+      {} | null | undefined
+    >,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1.IOperation,
+      protos.google.cloud.sql.v1.ISqlBackupRunsInsertRequest | undefined,
+      {} | undefined,
+    ]
+  > | void {
     request = request || {};
     let options: CallOptions;
     if (typeof optionsOrCallback === 'function' && callback === undefined) {
       callback = optionsOrCallback;
       options = {};
-    }
-    else {
+    } else {
       options = optionsOrCallback as CallOptions;
     }
     options = options || {};
     options.otherArgs = options.otherArgs || {};
     options.otherArgs.headers = options.otherArgs.headers || {};
-    options.otherArgs.headers[
-      'x-goog-request-params'
-    ] = this._gaxModule.routingHeader.fromParams({
-      'project': request.project ?? '',
-      'instance': request.instance ?? '',
+    options.otherArgs.headers['x-goog-request-params'] =
+      this._gaxModule.routingHeader.fromParams({
+        project: request.project ?? '',
+        instance: request.instance ?? '',
+      });
+    this.initialize().catch((err) => {
+      throw err;
     });
-    this.initialize().catch(err => {throw err});
     this._log.info('insert request %j', request);
-    const wrappedCallback: Callback<
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlBackupRunsInsertRequest|null|undefined,
-        {}|null|undefined>|undefined = callback
+    const wrappedCallback:
+      | Callback<
+          protos.google.cloud.sql.v1.IOperation,
+          | protos.google.cloud.sql.v1.ISqlBackupRunsInsertRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >
+      | undefined = callback
       ? (error, response, options, rawResponse) => {
           this._log.info('insert response %j', response);
           callback!(error, response, options, rawResponse); // We verified callback above.
         }
       : undefined;
-    return this.innerApiCalls.insert(request, options, wrappedCallback)
-      ?.then(([response, options, rawResponse]: [
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlBackupRunsInsertRequest|undefined,
-        {}|undefined
-      ]) => {
-        this._log.info('insert response %j', response);
-        return [response, options, rawResponse];
-      }).catch((error: any) => {
-        if (error && 'statusDetails' in error && error.statusDetails instanceof Array) {
-          const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type;
-          error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos);
+    return this.innerApiCalls
+      .insert(request, options, wrappedCallback)
+      ?.then(
+        ([response, options, rawResponse]: [
+          protos.google.cloud.sql.v1.IOperation,
+          protos.google.cloud.sql.v1.ISqlBackupRunsInsertRequest | undefined,
+          {} | undefined,
+        ]) => {
+          this._log.info('insert response %j', response);
+          return [response, options, rawResponse];
+        },
+      )
+      .catch((error: any) => {
+        if (
+          error &&
+          'statusDetails' in error &&
+          error.statusDetails instanceof Array
+        ) {
+          const protos = this._gaxModule.protobuf.Root.fromJSON(
+            jsonProtos,
+          ) as unknown as gax.protobuf.Type;
+          error.statusDetails = decodeAnyProtosInArray(
+            error.statusDetails,
+            protos,
+          );
         }
         throw error;
       });
   }
-/**
- * Lists all backup runs associated with the project or a given instance
- * and configuration in the reverse chronological order of the backup
- * initiation time.
- *
- * @param {Object} request
- *   The request object that will be sent.
- * @param {string} request.instance
- *   Cloud SQL instance ID, or "-" for all instances. This does not include
- *   the project ID.
- * @param {number} request.maxResults
- *   Maximum number of backup runs per response.
- * @param {string} request.pageToken
- *   A previously-returned page token representing part of the larger set of
- *   results to view.
- * @param {string} request.project
- *   Project ID of the project that contains the instance.
- * @param {object} [options]
- *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
- * @returns {Promise} - The promise which resolves to an array.
- *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1.BackupRunsListResponse|BackupRunsListResponse}.
- *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
- *   for more details and examples.
- * @example <caption>include:samples/generated/v1/sql_backup_runs_service.list.js</caption>
- * region_tag:sqladmin_v1_generated_SqlBackupRunsService_List_async
- */
+  /**
+   * Lists all backup runs associated with the project or a given instance
+   * and configuration in the reverse chronological order of the backup
+   * initiation time.
+   *
+   * @param {Object} request
+   *   The request object that will be sent.
+   * @param {string} request.instance
+   *   Cloud SQL instance ID, or "-" for all instances. This does not include
+   *   the project ID.
+   * @param {number} request.maxResults
+   *   Maximum number of backup runs per response.
+   * @param {string} request.pageToken
+   *   A previously-returned page token representing part of the larger set of
+   *   results to view.
+   * @param {string} request.project
+   *   Project ID of the project that contains the instance.
+   * @param {object} [options]
+   *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+   * @returns {Promise} - The promise which resolves to an array.
+   *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1.BackupRunsListResponse|BackupRunsListResponse}.
+   *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
+   *   for more details and examples.
+   * @example <caption>include:samples/generated/v1/sql_backup_runs_service.list.js</caption>
+   * region_tag:sqladmin_v1_generated_SqlBackupRunsService_List_async
+   */
   list(
-      request?: protos.google.cloud.sql.v1.ISqlBackupRunsListRequest,
-      options?: CallOptions):
-      Promise<[
-        protos.google.cloud.sql.v1.IBackupRunsListResponse,
-        protos.google.cloud.sql.v1.ISqlBackupRunsListRequest|undefined, {}|undefined
-      ]>;
+    request?: protos.google.cloud.sql.v1.ISqlBackupRunsListRequest,
+    options?: CallOptions,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1.IBackupRunsListResponse,
+      protos.google.cloud.sql.v1.ISqlBackupRunsListRequest | undefined,
+      {} | undefined,
+    ]
+  >;
   list(
-      request: protos.google.cloud.sql.v1.ISqlBackupRunsListRequest,
-      options: CallOptions,
-      callback: Callback<
-          protos.google.cloud.sql.v1.IBackupRunsListResponse,
-          protos.google.cloud.sql.v1.ISqlBackupRunsListRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1.ISqlBackupRunsListRequest,
+    options: CallOptions,
+    callback: Callback<
+      protos.google.cloud.sql.v1.IBackupRunsListResponse,
+      protos.google.cloud.sql.v1.ISqlBackupRunsListRequest | null | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   list(
-      request: protos.google.cloud.sql.v1.ISqlBackupRunsListRequest,
-      callback: Callback<
-          protos.google.cloud.sql.v1.IBackupRunsListResponse,
-          protos.google.cloud.sql.v1.ISqlBackupRunsListRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1.ISqlBackupRunsListRequest,
+    callback: Callback<
+      protos.google.cloud.sql.v1.IBackupRunsListResponse,
+      protos.google.cloud.sql.v1.ISqlBackupRunsListRequest | null | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   list(
-      request?: protos.google.cloud.sql.v1.ISqlBackupRunsListRequest,
-      optionsOrCallback?: CallOptions|Callback<
-          protos.google.cloud.sql.v1.IBackupRunsListResponse,
-          protos.google.cloud.sql.v1.ISqlBackupRunsListRequest|null|undefined,
-          {}|null|undefined>,
-      callback?: Callback<
+    request?: protos.google.cloud.sql.v1.ISqlBackupRunsListRequest,
+    optionsOrCallback?:
+      | CallOptions
+      | Callback<
           protos.google.cloud.sql.v1.IBackupRunsListResponse,
-          protos.google.cloud.sql.v1.ISqlBackupRunsListRequest|null|undefined,
-          {}|null|undefined>):
-      Promise<[
-        protos.google.cloud.sql.v1.IBackupRunsListResponse,
-        protos.google.cloud.sql.v1.ISqlBackupRunsListRequest|undefined, {}|undefined
-      ]>|void {
+          | protos.google.cloud.sql.v1.ISqlBackupRunsListRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >,
+    callback?: Callback<
+      protos.google.cloud.sql.v1.IBackupRunsListResponse,
+      protos.google.cloud.sql.v1.ISqlBackupRunsListRequest | null | undefined,
+      {} | null | undefined
+    >,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1.IBackupRunsListResponse,
+      protos.google.cloud.sql.v1.ISqlBackupRunsListRequest | undefined,
+      {} | undefined,
+    ]
+  > | void {
     request = request || {};
     let options: CallOptions;
     if (typeof optionsOrCallback === 'function' && callback === undefined) {
       callback = optionsOrCallback;
       options = {};
-    }
-    else {
+    } else {
       options = optionsOrCallback as CallOptions;
     }
     options = options || {};
     options.otherArgs = options.otherArgs || {};
     options.otherArgs.headers = options.otherArgs.headers || {};
-    options.otherArgs.headers[
-      'x-goog-request-params'
-    ] = this._gaxModule.routingHeader.fromParams({
-      'project': request.project ?? '',
-      'instance': request.instance ?? '',
+    options.otherArgs.headers['x-goog-request-params'] =
+      this._gaxModule.routingHeader.fromParams({
+        project: request.project ?? '',
+        instance: request.instance ?? '',
+      });
+    this.initialize().catch((err) => {
+      throw err;
     });
-    this.initialize().catch(err => {throw err});
     this._log.info('list request %j', request);
-    const wrappedCallback: Callback<
-        protos.google.cloud.sql.v1.IBackupRunsListResponse,
-        protos.google.cloud.sql.v1.ISqlBackupRunsListRequest|null|undefined,
-        {}|null|undefined>|undefined = callback
+    const wrappedCallback:
+      | Callback<
+          protos.google.cloud.sql.v1.IBackupRunsListResponse,
+          | protos.google.cloud.sql.v1.ISqlBackupRunsListRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >
+      | undefined = callback
       ? (error, response, options, rawResponse) => {
           this._log.info('list response %j', response);
           callback!(error, response, options, rawResponse); // We verified callback above.
         }
       : undefined;
-    return this.innerApiCalls.list(request, options, wrappedCallback)
-      ?.then(([response, options, rawResponse]: [
-        protos.google.cloud.sql.v1.IBackupRunsListResponse,
-        protos.google.cloud.sql.v1.ISqlBackupRunsListRequest|undefined,
-        {}|undefined
-      ]) => {
-        this._log.info('list response %j', response);
-        return [response, options, rawResponse];
-      }).catch((error: any) => {
-        if (error && 'statusDetails' in error && error.statusDetails instanceof Array) {
-          const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type;
-          error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos);
+    return this.innerApiCalls
+      .list(request, options, wrappedCallback)
+      ?.then(
+        ([response, options, rawResponse]: [
+          protos.google.cloud.sql.v1.IBackupRunsListResponse,
+          protos.google.cloud.sql.v1.ISqlBackupRunsListRequest | undefined,
+          {} | undefined,
+        ]) => {
+          this._log.info('list response %j', response);
+          return [response, options, rawResponse];
+        },
+      )
+      .catch((error: any) => {
+        if (
+          error &&
+          'statusDetails' in error &&
+          error.statusDetails instanceof Array
+        ) {
+          const protos = this._gaxModule.protobuf.Root.fromJSON(
+            jsonProtos,
+          ) as unknown as gax.protobuf.Type;
+          error.statusDetails = decodeAnyProtosInArray(
+            error.statusDetails,
+            protos,
+          );
         }
         throw error;
       });
   }
 
-/**
+  /**
    * Gets information about a location.
    *
    * @param {Object} request
@@ -775,12 +955,11 @@ export class SqlBackupRunsServiceClient {
       | null
       | undefined,
       {} | null | undefined
-    >
+    >,
   ): Promise<LocationProtos.google.cloud.location.ILocation> {
     return this.locationsClient.getLocation(request, options, callback);
   }
-
-/**
+  /**
    * Lists information about the supported locations for this service. Returns an iterable object.
    *
    * `for`-`await`-`of` syntax is used with the iterable to get response elements on-demand.
@@ -813,7 +992,7 @@ export class SqlBackupRunsServiceClient {
    */
   listLocationsAsync(
     request: LocationProtos.google.cloud.location.IListLocationsRequest,
-    options?: CallOptions
+    options?: CallOptions,
   ): AsyncIterable<LocationProtos.google.cloud.location.ILocation> {
     return this.locationsClient.listLocationsAsync(request, options);
   }
@@ -829,7 +1008,7 @@ export class SqlBackupRunsServiceClient {
    * @param {string} backup
    * @returns {string} Resource name string.
    */
-  backupPath(project:string,backup:string) {
+  backupPath(project: string, backup: string) {
     return this.pathTemplates.backupPathTemplate.render({
       project: project,
       backup: backup,
@@ -866,13 +1045,15 @@ export class SqlBackupRunsServiceClient {
    */
   close(): Promise<void> {
     if (this.sqlBackupRunsServiceStub && !this._terminated) {
-      return this.sqlBackupRunsServiceStub.then(stub => {
+      return this.sqlBackupRunsServiceStub.then((stub) => {
         this._log.info('ending gRPC channel');
         this._terminated = true;
         stub.close();
-        this.locationsClient.close().catch(err => {throw err});
+        this.locationsClient.close().catch((err) => {
+          throw err;
+        });
       });
     }
     return Promise.resolve();
   }
-}
\ No newline at end of file
+}
diff --git a/packages/google-cloud-sql/src/v1/sql_backups_service_client.ts b/packages/google-cloud-sql/src/v1/sql_backups_service_client.ts
index e564a09bad51..1931f7ec4f63 100644
--- a/packages/google-cloud-sql/src/v1/sql_backups_service_client.ts
+++ b/packages/google-cloud-sql/src/v1/sql_backups_service_client.ts
@@ -18,11 +18,20 @@
 
 /* global window */
 import type * as gax from 'google-gax';
-import type {Callback, CallOptions, Descriptors, ClientOptions, PaginationCallback, GaxCall, LocationsClient, LocationProtos} from 'google-gax';
-import {Transform} from 'stream';
+import type {
+  Callback,
+  CallOptions,
+  Descriptors,
+  ClientOptions,
+  PaginationCallback,
+  GaxCall,
+  LocationsClient,
+  LocationProtos,
+} from 'google-gax';
+import { Transform } from 'stream';
 import * as protos from '../../protos/protos';
 import jsonProtos = require('../../protos/protos.json');
-import {loggingUtils as logging, decodeAnyProtosInArray} from 'google-gax';
+import { loggingUtils as logging, decodeAnyProtosInArray } from 'google-gax';
 
 /**
  * Client JSON configuration object, loaded from
@@ -43,7 +52,7 @@ export class SqlBackupsServiceClient {
   private _gaxModule: typeof gax | typeof gax.fallback;
   private _gaxGrpc: gax.GrpcClient | gax.fallback.GrpcClient;
   private _protos: {};
-  private _defaults: {[method: string]: gax.CallSettings};
+  private _defaults: { [method: string]: gax.CallSettings };
   private _universeDomain: string;
   private _servicePath: string;
   private _log = logging.log('sql');
@@ -56,10 +65,10 @@ export class SqlBackupsServiceClient {
     batching: {},
   };
   warn: (code: string, message: string, warnType?: string) => void;
-  innerApiCalls: {[name: string]: Function};
+  innerApiCalls: { [name: string]: Function };
   locationsClient: LocationsClient;
-  pathTemplates: {[name: string]: gax.PathTemplate};
-  sqlBackupsServiceStub?: Promise<{[name: string]: Function}>;
+  pathTemplates: { [name: string]: gax.PathTemplate };
+  sqlBackupsServiceStub?: Promise<{ [name: string]: Function }>;
 
   /**
    * Construct an instance of SqlBackupsServiceClient.
@@ -100,21 +109,42 @@ export class SqlBackupsServiceClient {
    *     const client = new SqlBackupsServiceClient({fallback: true}, gax);
    *     ```
    */
-  constructor(opts?: ClientOptions, gaxInstance?: typeof gax | typeof gax.fallback) {
+  constructor(
+    opts?: ClientOptions,
+    gaxInstance?: typeof gax | typeof gax.fallback,
+  ) {
     // Ensure that options include all the required fields.
     const staticMembers = this.constructor as typeof SqlBackupsServiceClient;
-    if (opts?.universe_domain && opts?.universeDomain && opts?.universe_domain !== opts?.universeDomain) {
-      throw new Error('Please set either universe_domain or universeDomain, but not both.');
+    if (
+      opts?.universe_domain &&
+      opts?.universeDomain &&
+      opts?.universe_domain !== opts?.universeDomain
+    ) {
+      throw new Error(
+        'Please set either universe_domain or universeDomain, but not both.',
+      );
     }
-    const universeDomainEnvVar = (typeof process === 'object' && typeof process.env === 'object') ? process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] : undefined;
-    this._universeDomain = opts?.universeDomain ?? opts?.universe_domain ?? universeDomainEnvVar ?? 'googleapis.com';
+    const universeDomainEnvVar =
+      typeof process === 'object' && typeof process.env === 'object'
+        ? process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN']
+        : undefined;
+    this._universeDomain =
+      opts?.universeDomain ??
+      opts?.universe_domain ??
+      universeDomainEnvVar ??
+      'googleapis.com';
     this._servicePath = 'sqladmin.' + this._universeDomain;
-    const servicePath = opts?.servicePath || opts?.apiEndpoint || this._servicePath;
-    this._providedCustomServicePath = !!(opts?.servicePath || opts?.apiEndpoint);
+    const servicePath =
+      opts?.servicePath || opts?.apiEndpoint || this._servicePath;
+    this._providedCustomServicePath = !!(
+      opts?.servicePath || opts?.apiEndpoint
+    );
     const port = opts?.port || staticMembers.port;
     const clientConfig = opts?.clientConfig ?? {};
-    const fallback = opts?.fallback ?? (typeof window !== 'undefined' && typeof window?.fetch === 'function');
-    opts = Object.assign({servicePath, port, clientConfig, fallback}, opts);
+    const fallback =
+      opts?.fallback ??
+      (typeof window !== 'undefined' && typeof window?.fetch === 'function');
+    opts = Object.assign({ servicePath, port, clientConfig, fallback }, opts);
 
     // Request numeric enum values if REST transport is used.
     opts.numericEnums = true;
@@ -139,7 +169,7 @@ export class SqlBackupsServiceClient {
     this._opts = opts;
 
     // Save the auth object to the client, for use by other methods.
-    this.auth = (this._gaxGrpc.auth as gax.GoogleAuth);
+    this.auth = this._gaxGrpc.auth as gax.GoogleAuth;
 
     // Set useJWTAccessWithScope on the auth object.
     this.auth.useJWTAccessWithScope = true;
@@ -153,15 +183,11 @@ export class SqlBackupsServiceClient {
     }
     this.locationsClient = new this._gaxModule.LocationsClient(
       this._gaxGrpc,
-      opts
+      opts,
     );
-  
 
     // Determine the client header string.
-    const clientHeader = [
-      `gax/${this._gaxModule.version}`,
-      `gapic/${version}`,
-    ];
+    const clientHeader = [`gax/${this._gaxModule.version}`, `gapic/${version}`];
     if (typeof process === 'object' && 'versions' in process) {
       clientHeader.push(`gl-node/${process.versions.node}`);
     } else {
@@ -183,10 +209,10 @@ export class SqlBackupsServiceClient {
     // Create useful helper objects for these.
     this.pathTemplates = {
       backupPathTemplate: new this._gaxModule.PathTemplate(
-        'projects/{project}/backups/{backup}'
+        'projects/{project}/backups/{backup}',
       ),
       projectPathTemplate: new this._gaxModule.PathTemplate(
-        'projects/{project}'
+        'projects/{project}',
       ),
     };
 
@@ -194,14 +220,20 @@ export class SqlBackupsServiceClient {
     // (e.g. 50 results at a time, with tokens to get subsequent
     // pages). Denote the keys used for pagination and results.
     this.descriptors.page = {
-      listBackups:
-          new this._gaxModule.PageDescriptor('pageToken', 'nextPageToken', 'backups')
+      listBackups: new this._gaxModule.PageDescriptor(
+        'pageToken',
+        'nextPageToken',
+        'backups',
+      ),
     };
 
     // Put together the default options sent with requests.
     this._defaults = this._gaxGrpc.constructSettings(
-        'google.cloud.sql.v1.SqlBackupsService', gapicConfig as gax.ClientConfig,
-        opts.clientConfig || {}, {'x-goog-api-client': clientHeader.join(' ')});
+      'google.cloud.sql.v1.SqlBackupsService',
+      gapicConfig as gax.ClientConfig,
+      opts.clientConfig || {},
+      { 'x-goog-api-client': clientHeader.join(' ') },
+    );
 
     // Set up a dictionary of "inner API calls"; the core implementation
     // of calling the API is handled in `google-gax`, with this code
@@ -232,37 +264,46 @@ export class SqlBackupsServiceClient {
     // Put together the "service stub" for
     // google.cloud.sql.v1.SqlBackupsService.
     this.sqlBackupsServiceStub = this._gaxGrpc.createStub(
-        this._opts.fallback ?
-          (this._protos as protobuf.Root).lookupService('google.cloud.sql.v1.SqlBackupsService') :
-          // eslint-disable-next-line @typescript-eslint/no-explicit-any
+      this._opts.fallback
+        ? (this._protos as protobuf.Root).lookupService(
+            'google.cloud.sql.v1.SqlBackupsService',
+          )
+        : // eslint-disable-next-line @typescript-eslint/no-explicit-any
           (this._protos as any).google.cloud.sql.v1.SqlBackupsService,
-        this._opts, this._providedCustomServicePath) as Promise<{[method: string]: Function}>;
+      this._opts,
+      this._providedCustomServicePath,
+    ) as Promise<{ [method: string]: Function }>;
 
     // Iterate over each of the methods that the service provides
     // and create an API call method for each.
-    const sqlBackupsServiceStubMethods =
-        ['createBackup', 'getBackup', 'listBackups', 'updateBackup', 'deleteBackup'];
+    const sqlBackupsServiceStubMethods = [
+      'createBackup',
+      'getBackup',
+      'listBackups',
+      'updateBackup',
+      'deleteBackup',
+    ];
     for (const methodName of sqlBackupsServiceStubMethods) {
       const callPromise = this.sqlBackupsServiceStub.then(
-        stub => (...args: Array<{}>) => {
-          if (this._terminated) {
-            return Promise.reject('The client has already been closed.');
-          }
-          const func = stub[methodName];
-          return func.apply(stub, args);
-        },
-        (err: Error|null|undefined) => () => {
+        (stub) =>
+          (...args: Array<{}>) => {
+            if (this._terminated) {
+              return Promise.reject('The client has already been closed.');
+            }
+            const func = stub[methodName];
+            return func.apply(stub, args);
+          },
+        (err: Error | null | undefined) => () => {
           throw err;
-        });
+        },
+      );
 
-      const descriptor =
-        this.descriptors.page[methodName] ||
-        undefined;
+      const descriptor = this.descriptors.page[methodName] || undefined;
       const apiCall = this._gaxModule.createApiCall(
         callPromise,
         this._defaults[methodName],
         descriptor,
-        this._opts.fallback
+        this._opts.fallback,
       );
 
       this.innerApiCalls[methodName] = apiCall;
@@ -277,8 +318,14 @@ export class SqlBackupsServiceClient {
    * @returns {string} The DNS address for this service.
    */
   static get servicePath() {
-    if (typeof process === 'object' && typeof process.emitWarning === 'function') {
-      process.emitWarning('Static servicePath is deprecated, please use the instance method instead.', 'DeprecationWarning');
+    if (
+      typeof process === 'object' &&
+      typeof process.emitWarning === 'function'
+    ) {
+      process.emitWarning(
+        'Static servicePath is deprecated, please use the instance method instead.',
+        'DeprecationWarning',
+      );
     }
     return 'sqladmin.googleapis.com';
   }
@@ -289,8 +336,14 @@ export class SqlBackupsServiceClient {
    * @returns {string} The DNS address for this service.
    */
   static get apiEndpoint() {
-    if (typeof process === 'object' && typeof process.emitWarning === 'function') {
-      process.emitWarning('Static apiEndpoint is deprecated, please use the instance method instead.', 'DeprecationWarning');
+    if (
+      typeof process === 'object' &&
+      typeof process.emitWarning === 'function'
+    ) {
+      process.emitWarning(
+        'Static apiEndpoint is deprecated, please use the instance method instead.',
+        'DeprecationWarning',
+      );
     }
     return 'sqladmin.googleapis.com';
   }
@@ -323,7 +376,7 @@ export class SqlBackupsServiceClient {
   static get scopes() {
     return [
       'https://www.googleapis.com/auth/cloud-platform',
-      'https://www.googleapis.com/auth/sqlservice.admin'
+      'https://www.googleapis.com/auth/sqlservice.admin',
     ];
   }
 
@@ -333,8 +386,9 @@ export class SqlBackupsServiceClient {
    * Return the project ID used by this class.
    * @returns {Promise} A promise that resolves to string containing the project ID.
    */
-  getProjectId(callback?: Callback<string, undefined, undefined>):
-      Promise<string>|void {
+  getProjectId(
+    callback?: Callback<string, undefined, undefined>,
+  ): Promise<string> | void {
     if (callback) {
       this.auth.getProjectId(callback);
       return;
@@ -345,490 +399,625 @@ export class SqlBackupsServiceClient {
   // -------------------
   // -- Service calls --
   // -------------------
-/**
- * Creates a backup for a Cloud SQL instance. This API can be used only to
- * create on-demand backups.
- *
- * @param {Object} request
- *   The request object that will be sent.
- * @param {string} request.parent
- *   Required. The parent resource where this backup is created.
- *   Format: projects/{project}
- * @param {google.cloud.sql.v1.Backup} request.backup
- *   Required. The Backup to create.
- * @param {object} [options]
- *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
- * @returns {Promise} - The promise which resolves to an array.
- *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1.Operation|Operation}.
- *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
- *   for more details and examples.
- * @example <caption>include:samples/generated/v1/sql_backups_service.create_backup.js</caption>
- * region_tag:sqladmin_v1_generated_SqlBackupsService_CreateBackup_async
- */
+  /**
+   * Creates a backup for a Cloud SQL instance. This API can be used only to
+   * create on-demand backups.
+   *
+   * @param {Object} request
+   *   The request object that will be sent.
+   * @param {string} request.parent
+   *   Required. The parent resource where this backup is created.
+   *   Format: projects/{project}
+   * @param {google.cloud.sql.v1.Backup} request.backup
+   *   Required. The Backup to create.
+   * @param {object} [options]
+   *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+   * @returns {Promise} - The promise which resolves to an array.
+   *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1.Operation|Operation}.
+   *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
+   *   for more details and examples.
+   * @example <caption>include:samples/generated/v1/sql_backups_service.create_backup.js</caption>
+   * region_tag:sqladmin_v1_generated_SqlBackupsService_CreateBackup_async
+   */
   createBackup(
-      request?: protos.google.cloud.sql.v1.ICreateBackupRequest,
-      options?: CallOptions):
-      Promise<[
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ICreateBackupRequest|undefined, {}|undefined
-      ]>;
+    request?: protos.google.cloud.sql.v1.ICreateBackupRequest,
+    options?: CallOptions,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1.IOperation,
+      protos.google.cloud.sql.v1.ICreateBackupRequest | undefined,
+      {} | undefined,
+    ]
+  >;
   createBackup(
-      request: protos.google.cloud.sql.v1.ICreateBackupRequest,
-      options: CallOptions,
-      callback: Callback<
-          protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ICreateBackupRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1.ICreateBackupRequest,
+    options: CallOptions,
+    callback: Callback<
+      protos.google.cloud.sql.v1.IOperation,
+      protos.google.cloud.sql.v1.ICreateBackupRequest | null | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   createBackup(
-      request: protos.google.cloud.sql.v1.ICreateBackupRequest,
-      callback: Callback<
-          protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ICreateBackupRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1.ICreateBackupRequest,
+    callback: Callback<
+      protos.google.cloud.sql.v1.IOperation,
+      protos.google.cloud.sql.v1.ICreateBackupRequest | null | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   createBackup(
-      request?: protos.google.cloud.sql.v1.ICreateBackupRequest,
-      optionsOrCallback?: CallOptions|Callback<
-          protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ICreateBackupRequest|null|undefined,
-          {}|null|undefined>,
-      callback?: Callback<
+    request?: protos.google.cloud.sql.v1.ICreateBackupRequest,
+    optionsOrCallback?:
+      | CallOptions
+      | Callback<
           protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ICreateBackupRequest|null|undefined,
-          {}|null|undefined>):
-      Promise<[
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ICreateBackupRequest|undefined, {}|undefined
-      ]>|void {
+          protos.google.cloud.sql.v1.ICreateBackupRequest | null | undefined,
+          {} | null | undefined
+        >,
+    callback?: Callback<
+      protos.google.cloud.sql.v1.IOperation,
+      protos.google.cloud.sql.v1.ICreateBackupRequest | null | undefined,
+      {} | null | undefined
+    >,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1.IOperation,
+      protos.google.cloud.sql.v1.ICreateBackupRequest | undefined,
+      {} | undefined,
+    ]
+  > | void {
     request = request || {};
     let options: CallOptions;
     if (typeof optionsOrCallback === 'function' && callback === undefined) {
       callback = optionsOrCallback;
       options = {};
-    }
-    else {
+    } else {
       options = optionsOrCallback as CallOptions;
     }
     options = options || {};
     options.otherArgs = options.otherArgs || {};
     options.otherArgs.headers = options.otherArgs.headers || {};
-    options.otherArgs.headers[
-      'x-goog-request-params'
-    ] = this._gaxModule.routingHeader.fromParams({
-      'parent': request.parent ?? '',
+    options.otherArgs.headers['x-goog-request-params'] =
+      this._gaxModule.routingHeader.fromParams({
+        parent: request.parent ?? '',
+      });
+    this.initialize().catch((err) => {
+      throw err;
     });
-    this.initialize().catch(err => {throw err});
     this._log.info('createBackup request %j', request);
-    const wrappedCallback: Callback<
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ICreateBackupRequest|null|undefined,
-        {}|null|undefined>|undefined = callback
+    const wrappedCallback:
+      | Callback<
+          protos.google.cloud.sql.v1.IOperation,
+          protos.google.cloud.sql.v1.ICreateBackupRequest | null | undefined,
+          {} | null | undefined
+        >
+      | undefined = callback
       ? (error, response, options, rawResponse) => {
           this._log.info('createBackup response %j', response);
           callback!(error, response, options, rawResponse); // We verified callback above.
         }
       : undefined;
-    return this.innerApiCalls.createBackup(request, options, wrappedCallback)
-      ?.then(([response, options, rawResponse]: [
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ICreateBackupRequest|undefined,
-        {}|undefined
-      ]) => {
-        this._log.info('createBackup response %j', response);
-        return [response, options, rawResponse];
-      }).catch((error: any) => {
-        if (error && 'statusDetails' in error && error.statusDetails instanceof Array) {
-          const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type;
-          error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos);
+    return this.innerApiCalls
+      .createBackup(request, options, wrappedCallback)
+      ?.then(
+        ([response, options, rawResponse]: [
+          protos.google.cloud.sql.v1.IOperation,
+          protos.google.cloud.sql.v1.ICreateBackupRequest | undefined,
+          {} | undefined,
+        ]) => {
+          this._log.info('createBackup response %j', response);
+          return [response, options, rawResponse];
+        },
+      )
+      .catch((error: any) => {
+        if (
+          error &&
+          'statusDetails' in error &&
+          error.statusDetails instanceof Array
+        ) {
+          const protos = this._gaxModule.protobuf.Root.fromJSON(
+            jsonProtos,
+          ) as unknown as gax.protobuf.Type;
+          error.statusDetails = decodeAnyProtosInArray(
+            error.statusDetails,
+            protos,
+          );
         }
         throw error;
       });
   }
-/**
- * Retrieves a resource containing information about a backup.
- *
- * @param {Object} request
- *   The request object that will be sent.
- * @param {string} request.name
- *   Required. The name of the backup to retrieve.
- *   Format: projects/{project}/backups/{backup}
- * @param {object} [options]
- *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
- * @returns {Promise} - The promise which resolves to an array.
- *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1.Backup|Backup}.
- *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
- *   for more details and examples.
- * @example <caption>include:samples/generated/v1/sql_backups_service.get_backup.js</caption>
- * region_tag:sqladmin_v1_generated_SqlBackupsService_GetBackup_async
- */
+  /**
+   * Retrieves a resource containing information about a backup.
+   *
+   * @param {Object} request
+   *   The request object that will be sent.
+   * @param {string} request.name
+   *   Required. The name of the backup to retrieve.
+   *   Format: projects/{project}/backups/{backup}
+   * @param {object} [options]
+   *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+   * @returns {Promise} - The promise which resolves to an array.
+   *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1.Backup|Backup}.
+   *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
+   *   for more details and examples.
+   * @example <caption>include:samples/generated/v1/sql_backups_service.get_backup.js</caption>
+   * region_tag:sqladmin_v1_generated_SqlBackupsService_GetBackup_async
+   */
   getBackup(
-      request?: protos.google.cloud.sql.v1.IGetBackupRequest,
-      options?: CallOptions):
-      Promise<[
-        protos.google.cloud.sql.v1.IBackup,
-        protos.google.cloud.sql.v1.IGetBackupRequest|undefined, {}|undefined
-      ]>;
+    request?: protos.google.cloud.sql.v1.IGetBackupRequest,
+    options?: CallOptions,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1.IBackup,
+      protos.google.cloud.sql.v1.IGetBackupRequest | undefined,
+      {} | undefined,
+    ]
+  >;
   getBackup(
-      request: protos.google.cloud.sql.v1.IGetBackupRequest,
-      options: CallOptions,
-      callback: Callback<
-          protos.google.cloud.sql.v1.IBackup,
-          protos.google.cloud.sql.v1.IGetBackupRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1.IGetBackupRequest,
+    options: CallOptions,
+    callback: Callback<
+      protos.google.cloud.sql.v1.IBackup,
+      protos.google.cloud.sql.v1.IGetBackupRequest | null | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   getBackup(
-      request: protos.google.cloud.sql.v1.IGetBackupRequest,
-      callback: Callback<
-          protos.google.cloud.sql.v1.IBackup,
-          protos.google.cloud.sql.v1.IGetBackupRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1.IGetBackupRequest,
+    callback: Callback<
+      protos.google.cloud.sql.v1.IBackup,
+      protos.google.cloud.sql.v1.IGetBackupRequest | null | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   getBackup(
-      request?: protos.google.cloud.sql.v1.IGetBackupRequest,
-      optionsOrCallback?: CallOptions|Callback<
-          protos.google.cloud.sql.v1.IBackup,
-          protos.google.cloud.sql.v1.IGetBackupRequest|null|undefined,
-          {}|null|undefined>,
-      callback?: Callback<
+    request?: protos.google.cloud.sql.v1.IGetBackupRequest,
+    optionsOrCallback?:
+      | CallOptions
+      | Callback<
           protos.google.cloud.sql.v1.IBackup,
-          protos.google.cloud.sql.v1.IGetBackupRequest|null|undefined,
-          {}|null|undefined>):
-      Promise<[
-        protos.google.cloud.sql.v1.IBackup,
-        protos.google.cloud.sql.v1.IGetBackupRequest|undefined, {}|undefined
-      ]>|void {
+          protos.google.cloud.sql.v1.IGetBackupRequest | null | undefined,
+          {} | null | undefined
+        >,
+    callback?: Callback<
+      protos.google.cloud.sql.v1.IBackup,
+      protos.google.cloud.sql.v1.IGetBackupRequest | null | undefined,
+      {} | null | undefined
+    >,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1.IBackup,
+      protos.google.cloud.sql.v1.IGetBackupRequest | undefined,
+      {} | undefined,
+    ]
+  > | void {
     request = request || {};
     let options: CallOptions;
     if (typeof optionsOrCallback === 'function' && callback === undefined) {
       callback = optionsOrCallback;
       options = {};
-    }
-    else {
+    } else {
       options = optionsOrCallback as CallOptions;
     }
     options = options || {};
     options.otherArgs = options.otherArgs || {};
     options.otherArgs.headers = options.otherArgs.headers || {};
-    options.otherArgs.headers[
-      'x-goog-request-params'
-    ] = this._gaxModule.routingHeader.fromParams({
-      'name': request.name ?? '',
+    options.otherArgs.headers['x-goog-request-params'] =
+      this._gaxModule.routingHeader.fromParams({
+        name: request.name ?? '',
+      });
+    this.initialize().catch((err) => {
+      throw err;
     });
-    this.initialize().catch(err => {throw err});
     this._log.info('getBackup request %j', request);
-    const wrappedCallback: Callback<
-        protos.google.cloud.sql.v1.IBackup,
-        protos.google.cloud.sql.v1.IGetBackupRequest|null|undefined,
-        {}|null|undefined>|undefined = callback
+    const wrappedCallback:
+      | Callback<
+          protos.google.cloud.sql.v1.IBackup,
+          protos.google.cloud.sql.v1.IGetBackupRequest | null | undefined,
+          {} | null | undefined
+        >
+      | undefined = callback
       ? (error, response, options, rawResponse) => {
           this._log.info('getBackup response %j', response);
           callback!(error, response, options, rawResponse); // We verified callback above.
         }
       : undefined;
-    return this.innerApiCalls.getBackup(request, options, wrappedCallback)
-      ?.then(([response, options, rawResponse]: [
-        protos.google.cloud.sql.v1.IBackup,
-        protos.google.cloud.sql.v1.IGetBackupRequest|undefined,
-        {}|undefined
-      ]) => {
-        this._log.info('getBackup response %j', response);
-        return [response, options, rawResponse];
-      }).catch((error: any) => {
-        if (error && 'statusDetails' in error && error.statusDetails instanceof Array) {
-          const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type;
-          error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos);
+    return this.innerApiCalls
+      .getBackup(request, options, wrappedCallback)
+      ?.then(
+        ([response, options, rawResponse]: [
+          protos.google.cloud.sql.v1.IBackup,
+          protos.google.cloud.sql.v1.IGetBackupRequest | undefined,
+          {} | undefined,
+        ]) => {
+          this._log.info('getBackup response %j', response);
+          return [response, options, rawResponse];
+        },
+      )
+      .catch((error: any) => {
+        if (
+          error &&
+          'statusDetails' in error &&
+          error.statusDetails instanceof Array
+        ) {
+          const protos = this._gaxModule.protobuf.Root.fromJSON(
+            jsonProtos,
+          ) as unknown as gax.protobuf.Type;
+          error.statusDetails = decodeAnyProtosInArray(
+            error.statusDetails,
+            protos,
+          );
         }
         throw error;
       });
   }
-/**
- * Updates the retention period and description of the backup. You can use
- * this API to update final backups only.
- *
- * @param {Object} request
- *   The request object that will be sent.
- * @param {google.cloud.sql.v1.Backup} request.backup
- *   Required. The backup to update.
- *   The backup’s `name` field is used to identify the backup to update.
- *   Format: projects/{project}/backups/{backup}
- * @param {google.protobuf.FieldMask} request.updateMask
- *   The list of fields that you can update. You can update only the description
- *   and retention period of the final backup.
- * @param {object} [options]
- *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
- * @returns {Promise} - The promise which resolves to an array.
- *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1.Operation|Operation}.
- *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
- *   for more details and examples.
- * @example <caption>include:samples/generated/v1/sql_backups_service.update_backup.js</caption>
- * region_tag:sqladmin_v1_generated_SqlBackupsService_UpdateBackup_async
- */
+  /**
+   * Updates the retention period and description of the backup. You can use
+   * this API to update final backups only.
+   *
+   * @param {Object} request
+   *   The request object that will be sent.
+   * @param {google.cloud.sql.v1.Backup} request.backup
+   *   Required. The backup to update.
+   *   The backup’s `name` field is used to identify the backup to update.
+   *   Format: projects/{project}/backups/{backup}
+   * @param {google.protobuf.FieldMask} request.updateMask
+   *   The list of fields that you can update. You can update only the description
+   *   and retention period of the final backup.
+   * @param {object} [options]
+   *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+   * @returns {Promise} - The promise which resolves to an array.
+   *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1.Operation|Operation}.
+   *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
+   *   for more details and examples.
+   * @example <caption>include:samples/generated/v1/sql_backups_service.update_backup.js</caption>
+   * region_tag:sqladmin_v1_generated_SqlBackupsService_UpdateBackup_async
+   */
   updateBackup(
-      request?: protos.google.cloud.sql.v1.IUpdateBackupRequest,
-      options?: CallOptions):
-      Promise<[
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.IUpdateBackupRequest|undefined, {}|undefined
-      ]>;
+    request?: protos.google.cloud.sql.v1.IUpdateBackupRequest,
+    options?: CallOptions,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1.IOperation,
+      protos.google.cloud.sql.v1.IUpdateBackupRequest | undefined,
+      {} | undefined,
+    ]
+  >;
   updateBackup(
-      request: protos.google.cloud.sql.v1.IUpdateBackupRequest,
-      options: CallOptions,
-      callback: Callback<
-          protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.IUpdateBackupRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1.IUpdateBackupRequest,
+    options: CallOptions,
+    callback: Callback<
+      protos.google.cloud.sql.v1.IOperation,
+      protos.google.cloud.sql.v1.IUpdateBackupRequest | null | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   updateBackup(
-      request: protos.google.cloud.sql.v1.IUpdateBackupRequest,
-      callback: Callback<
-          protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.IUpdateBackupRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1.IUpdateBackupRequest,
+    callback: Callback<
+      protos.google.cloud.sql.v1.IOperation,
+      protos.google.cloud.sql.v1.IUpdateBackupRequest | null | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   updateBackup(
-      request?: protos.google.cloud.sql.v1.IUpdateBackupRequest,
-      optionsOrCallback?: CallOptions|Callback<
-          protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.IUpdateBackupRequest|null|undefined,
-          {}|null|undefined>,
-      callback?: Callback<
+    request?: protos.google.cloud.sql.v1.IUpdateBackupRequest,
+    optionsOrCallback?:
+      | CallOptions
+      | Callback<
           protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.IUpdateBackupRequest|null|undefined,
-          {}|null|undefined>):
-      Promise<[
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.IUpdateBackupRequest|undefined, {}|undefined
-      ]>|void {
+          protos.google.cloud.sql.v1.IUpdateBackupRequest | null | undefined,
+          {} | null | undefined
+        >,
+    callback?: Callback<
+      protos.google.cloud.sql.v1.IOperation,
+      protos.google.cloud.sql.v1.IUpdateBackupRequest | null | undefined,
+      {} | null | undefined
+    >,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1.IOperation,
+      protos.google.cloud.sql.v1.IUpdateBackupRequest | undefined,
+      {} | undefined,
+    ]
+  > | void {
     request = request || {};
     let options: CallOptions;
     if (typeof optionsOrCallback === 'function' && callback === undefined) {
       callback = optionsOrCallback;
       options = {};
-    }
-    else {
+    } else {
       options = optionsOrCallback as CallOptions;
     }
     options = options || {};
     options.otherArgs = options.otherArgs || {};
     options.otherArgs.headers = options.otherArgs.headers || {};
-    options.otherArgs.headers[
-      'x-goog-request-params'
-    ] = this._gaxModule.routingHeader.fromParams({
-      'backup.name': request.backup!.name ?? '',
+    options.otherArgs.headers['x-goog-request-params'] =
+      this._gaxModule.routingHeader.fromParams({
+        'backup.name': request.backup!.name ?? '',
+      });
+    this.initialize().catch((err) => {
+      throw err;
     });
-    this.initialize().catch(err => {throw err});
     this._log.info('updateBackup request %j', request);
-    const wrappedCallback: Callback<
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.IUpdateBackupRequest|null|undefined,
-        {}|null|undefined>|undefined = callback
+    const wrappedCallback:
+      | Callback<
+          protos.google.cloud.sql.v1.IOperation,
+          protos.google.cloud.sql.v1.IUpdateBackupRequest | null | undefined,
+          {} | null | undefined
+        >
+      | undefined = callback
       ? (error, response, options, rawResponse) => {
           this._log.info('updateBackup response %j', response);
           callback!(error, response, options, rawResponse); // We verified callback above.
         }
       : undefined;
-    return this.innerApiCalls.updateBackup(request, options, wrappedCallback)
-      ?.then(([response, options, rawResponse]: [
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.IUpdateBackupRequest|undefined,
-        {}|undefined
-      ]) => {
-        this._log.info('updateBackup response %j', response);
-        return [response, options, rawResponse];
-      }).catch((error: any) => {
-        if (error && 'statusDetails' in error && error.statusDetails instanceof Array) {
-          const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type;
-          error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos);
+    return this.innerApiCalls
+      .updateBackup(request, options, wrappedCallback)
+      ?.then(
+        ([response, options, rawResponse]: [
+          protos.google.cloud.sql.v1.IOperation,
+          protos.google.cloud.sql.v1.IUpdateBackupRequest | undefined,
+          {} | undefined,
+        ]) => {
+          this._log.info('updateBackup response %j', response);
+          return [response, options, rawResponse];
+        },
+      )
+      .catch((error: any) => {
+        if (
+          error &&
+          'statusDetails' in error &&
+          error.statusDetails instanceof Array
+        ) {
+          const protos = this._gaxModule.protobuf.Root.fromJSON(
+            jsonProtos,
+          ) as unknown as gax.protobuf.Type;
+          error.statusDetails = decodeAnyProtosInArray(
+            error.statusDetails,
+            protos,
+          );
         }
         throw error;
       });
   }
-/**
- * Deletes the backup.
- *
- * @param {Object} request
- *   The request object that will be sent.
- * @param {string} request.name
- *   Required. The name of the backup to delete.
- *   Format: projects/{project}/backups/{backup}
- * @param {object} [options]
- *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
- * @returns {Promise} - The promise which resolves to an array.
- *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1.Operation|Operation}.
- *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
- *   for more details and examples.
- * @example <caption>include:samples/generated/v1/sql_backups_service.delete_backup.js</caption>
- * region_tag:sqladmin_v1_generated_SqlBackupsService_DeleteBackup_async
- */
+  /**
+   * Deletes the backup.
+   *
+   * @param {Object} request
+   *   The request object that will be sent.
+   * @param {string} request.name
+   *   Required. The name of the backup to delete.
+   *   Format: projects/{project}/backups/{backup}
+   * @param {object} [options]
+   *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+   * @returns {Promise} - The promise which resolves to an array.
+   *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1.Operation|Operation}.
+   *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
+   *   for more details and examples.
+   * @example <caption>include:samples/generated/v1/sql_backups_service.delete_backup.js</caption>
+   * region_tag:sqladmin_v1_generated_SqlBackupsService_DeleteBackup_async
+   */
   deleteBackup(
-      request?: protos.google.cloud.sql.v1.IDeleteBackupRequest,
-      options?: CallOptions):
-      Promise<[
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.IDeleteBackupRequest|undefined, {}|undefined
-      ]>;
+    request?: protos.google.cloud.sql.v1.IDeleteBackupRequest,
+    options?: CallOptions,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1.IOperation,
+      protos.google.cloud.sql.v1.IDeleteBackupRequest | undefined,
+      {} | undefined,
+    ]
+  >;
   deleteBackup(
-      request: protos.google.cloud.sql.v1.IDeleteBackupRequest,
-      options: CallOptions,
-      callback: Callback<
-          protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.IDeleteBackupRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1.IDeleteBackupRequest,
+    options: CallOptions,
+    callback: Callback<
+      protos.google.cloud.sql.v1.IOperation,
+      protos.google.cloud.sql.v1.IDeleteBackupRequest | null | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   deleteBackup(
-      request: protos.google.cloud.sql.v1.IDeleteBackupRequest,
-      callback: Callback<
-          protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.IDeleteBackupRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1.IDeleteBackupRequest,
+    callback: Callback<
+      protos.google.cloud.sql.v1.IOperation,
+      protos.google.cloud.sql.v1.IDeleteBackupRequest | null | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   deleteBackup(
-      request?: protos.google.cloud.sql.v1.IDeleteBackupRequest,
-      optionsOrCallback?: CallOptions|Callback<
-          protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.IDeleteBackupRequest|null|undefined,
-          {}|null|undefined>,
-      callback?: Callback<
+    request?: protos.google.cloud.sql.v1.IDeleteBackupRequest,
+    optionsOrCallback?:
+      | CallOptions
+      | Callback<
           protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.IDeleteBackupRequest|null|undefined,
-          {}|null|undefined>):
-      Promise<[
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.IDeleteBackupRequest|undefined, {}|undefined
-      ]>|void {
+          protos.google.cloud.sql.v1.IDeleteBackupRequest | null | undefined,
+          {} | null | undefined
+        >,
+    callback?: Callback<
+      protos.google.cloud.sql.v1.IOperation,
+      protos.google.cloud.sql.v1.IDeleteBackupRequest | null | undefined,
+      {} | null | undefined
+    >,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1.IOperation,
+      protos.google.cloud.sql.v1.IDeleteBackupRequest | undefined,
+      {} | undefined,
+    ]
+  > | void {
     request = request || {};
     let options: CallOptions;
     if (typeof optionsOrCallback === 'function' && callback === undefined) {
       callback = optionsOrCallback;
       options = {};
-    }
-    else {
+    } else {
       options = optionsOrCallback as CallOptions;
     }
     options = options || {};
     options.otherArgs = options.otherArgs || {};
     options.otherArgs.headers = options.otherArgs.headers || {};
-    options.otherArgs.headers[
-      'x-goog-request-params'
-    ] = this._gaxModule.routingHeader.fromParams({
-      'name': request.name ?? '',
+    options.otherArgs.headers['x-goog-request-params'] =
+      this._gaxModule.routingHeader.fromParams({
+        name: request.name ?? '',
+      });
+    this.initialize().catch((err) => {
+      throw err;
     });
-    this.initialize().catch(err => {throw err});
     this._log.info('deleteBackup request %j', request);
-    const wrappedCallback: Callback<
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.IDeleteBackupRequest|null|undefined,
-        {}|null|undefined>|undefined = callback
+    const wrappedCallback:
+      | Callback<
+          protos.google.cloud.sql.v1.IOperation,
+          protos.google.cloud.sql.v1.IDeleteBackupRequest | null | undefined,
+          {} | null | undefined
+        >
+      | undefined = callback
       ? (error, response, options, rawResponse) => {
           this._log.info('deleteBackup response %j', response);
           callback!(error, response, options, rawResponse); // We verified callback above.
         }
       : undefined;
-    return this.innerApiCalls.deleteBackup(request, options, wrappedCallback)
-      ?.then(([response, options, rawResponse]: [
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.IDeleteBackupRequest|undefined,
-        {}|undefined
-      ]) => {
-        this._log.info('deleteBackup response %j', response);
-        return [response, options, rawResponse];
-      }).catch((error: any) => {
-        if (error && 'statusDetails' in error && error.statusDetails instanceof Array) {
-          const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type;
-          error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos);
+    return this.innerApiCalls
+      .deleteBackup(request, options, wrappedCallback)
+      ?.then(
+        ([response, options, rawResponse]: [
+          protos.google.cloud.sql.v1.IOperation,
+          protos.google.cloud.sql.v1.IDeleteBackupRequest | undefined,
+          {} | undefined,
+        ]) => {
+          this._log.info('deleteBackup response %j', response);
+          return [response, options, rawResponse];
+        },
+      )
+      .catch((error: any) => {
+        if (
+          error &&
+          'statusDetails' in error &&
+          error.statusDetails instanceof Array
+        ) {
+          const protos = this._gaxModule.protobuf.Root.fromJSON(
+            jsonProtos,
+          ) as unknown as gax.protobuf.Type;
+          error.statusDetails = decodeAnyProtosInArray(
+            error.statusDetails,
+            protos,
+          );
         }
         throw error;
       });
   }
 
- /**
- * Lists all backups associated with the project.
- *
- * @param {Object} request
- *   The request object that will be sent.
- * @param {string} request.parent
- *   Required. The parent that owns this collection of backups.
- *   Format: projects/{project}
- * @param {number} request.pageSize
- *   The maximum number of backups to return per response. The service might
- *   return fewer backups than this value. If a value for this parameter isn't
- *   specified, then, at most, 500 backups are returned. The maximum value is
- *   2,000. Any values that you set, which are greater than 2,000, are changed
- *   to 2,000.
- * @param {string} request.pageToken
- *   A page token, received from a previous `ListBackups` call.
- *   Provide this to retrieve the subsequent page.
- *
- *   When paginating, all other parameters provided to `ListBackups` must match
- *   the call that provided the page token.
- * @param {string} request.filter
- *   Multiple filter queries are separated by spaces. For example,
- *   'instance:abc AND type:FINAL, 'location:us',
- *   'backupInterval.startTime>=1950-01-01T01:01:25.771Z'. You can filter by
- *   type, instance, backupInterval.startTime (creation time), or location.
- * @param {object} [options]
- *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
- * @returns {Promise} - The promise which resolves to an array.
- *   The first element of the array is Array of {@link protos.google.cloud.sql.v1.Backup|Backup}.
- *   The client library will perform auto-pagination by default: it will call the API as many
- *   times as needed and will merge results from all the pages into this array.
- *   Note that it can affect your quota.
- *   We recommend using `listBackupsAsync()`
- *   method described below for async iteration which you can stop as needed.
- *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation }
- *   for more details and examples.
- */
+  /**
+   * Lists all backups associated with the project.
+   *
+   * @param {Object} request
+   *   The request object that will be sent.
+   * @param {string} request.parent
+   *   Required. The parent that owns this collection of backups.
+   *   Format: projects/{project}
+   * @param {number} request.pageSize
+   *   The maximum number of backups to return per response. The service might
+   *   return fewer backups than this value. If a value for this parameter isn't
+   *   specified, then, at most, 500 backups are returned. The maximum value is
+   *   2,000. Any values that you set, which are greater than 2,000, are changed
+   *   to 2,000.
+   * @param {string} request.pageToken
+   *   A page token, received from a previous `ListBackups` call.
+   *   Provide this to retrieve the subsequent page.
+   *
+   *   When paginating, all other parameters provided to `ListBackups` must match
+   *   the call that provided the page token.
+   * @param {string} request.filter
+   *   Multiple filter queries are separated by spaces. For example,
+   *   'instance:abc AND type:FINAL, 'location:us',
+   *   'backupInterval.startTime>=1950-01-01T01:01:25.771Z'. You can filter by
+   *   type, instance, backupInterval.startTime (creation time), or location.
+   * @param {object} [options]
+   *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+   * @returns {Promise} - The promise which resolves to an array.
+   *   The first element of the array is Array of {@link protos.google.cloud.sql.v1.Backup|Backup}.
+   *   The client library will perform auto-pagination by default: it will call the API as many
+   *   times as needed and will merge results from all the pages into this array.
+   *   Note that it can affect your quota.
+   *   We recommend using `listBackupsAsync()`
+   *   method described below for async iteration which you can stop as needed.
+   *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation }
+   *   for more details and examples.
+   */
   listBackups(
-      request?: protos.google.cloud.sql.v1.IListBackupsRequest,
-      options?: CallOptions):
-      Promise<[
-        protos.google.cloud.sql.v1.IBackup[],
-        protos.google.cloud.sql.v1.IListBackupsRequest|null,
-        protos.google.cloud.sql.v1.IListBackupsResponse
-      ]>;
+    request?: protos.google.cloud.sql.v1.IListBackupsRequest,
+    options?: CallOptions,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1.IBackup[],
+      protos.google.cloud.sql.v1.IListBackupsRequest | null,
+      protos.google.cloud.sql.v1.IListBackupsResponse,
+    ]
+  >;
   listBackups(
-      request: protos.google.cloud.sql.v1.IListBackupsRequest,
-      options: CallOptions,
-      callback: PaginationCallback<
-          protos.google.cloud.sql.v1.IListBackupsRequest,
-          protos.google.cloud.sql.v1.IListBackupsResponse|null|undefined,
-          protos.google.cloud.sql.v1.IBackup>): void;
+    request: protos.google.cloud.sql.v1.IListBackupsRequest,
+    options: CallOptions,
+    callback: PaginationCallback<
+      protos.google.cloud.sql.v1.IListBackupsRequest,
+      protos.google.cloud.sql.v1.IListBackupsResponse | null | undefined,
+      protos.google.cloud.sql.v1.IBackup
+    >,
+  ): void;
   listBackups(
-      request: protos.google.cloud.sql.v1.IListBackupsRequest,
-      callback: PaginationCallback<
-          protos.google.cloud.sql.v1.IListBackupsRequest,
-          protos.google.cloud.sql.v1.IListBackupsResponse|null|undefined,
-          protos.google.cloud.sql.v1.IBackup>): void;
+    request: protos.google.cloud.sql.v1.IListBackupsRequest,
+    callback: PaginationCallback<
+      protos.google.cloud.sql.v1.IListBackupsRequest,
+      protos.google.cloud.sql.v1.IListBackupsResponse | null | undefined,
+      protos.google.cloud.sql.v1.IBackup
+    >,
+  ): void;
   listBackups(
-      request?: protos.google.cloud.sql.v1.IListBackupsRequest,
-      optionsOrCallback?: CallOptions|PaginationCallback<
-          protos.google.cloud.sql.v1.IListBackupsRequest,
-          protos.google.cloud.sql.v1.IListBackupsResponse|null|undefined,
-          protos.google.cloud.sql.v1.IBackup>,
-      callback?: PaginationCallback<
+    request?: protos.google.cloud.sql.v1.IListBackupsRequest,
+    optionsOrCallback?:
+      | CallOptions
+      | PaginationCallback<
           protos.google.cloud.sql.v1.IListBackupsRequest,
-          protos.google.cloud.sql.v1.IListBackupsResponse|null|undefined,
-          protos.google.cloud.sql.v1.IBackup>):
-      Promise<[
-        protos.google.cloud.sql.v1.IBackup[],
-        protos.google.cloud.sql.v1.IListBackupsRequest|null,
-        protos.google.cloud.sql.v1.IListBackupsResponse
-      ]>|void {
+          protos.google.cloud.sql.v1.IListBackupsResponse | null | undefined,
+          protos.google.cloud.sql.v1.IBackup
+        >,
+    callback?: PaginationCallback<
+      protos.google.cloud.sql.v1.IListBackupsRequest,
+      protos.google.cloud.sql.v1.IListBackupsResponse | null | undefined,
+      protos.google.cloud.sql.v1.IBackup
+    >,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1.IBackup[],
+      protos.google.cloud.sql.v1.IListBackupsRequest | null,
+      protos.google.cloud.sql.v1.IListBackupsResponse,
+    ]
+  > | void {
     request = request || {};
     let options: CallOptions;
     if (typeof optionsOrCallback === 'function' && callback === undefined) {
       callback = optionsOrCallback;
       options = {};
-    }
-    else {
+    } else {
       options = optionsOrCallback as CallOptions;
     }
     options = options || {};
     options.otherArgs = options.otherArgs || {};
     options.otherArgs.headers = options.otherArgs.headers || {};
-    options.otherArgs.headers[
-      'x-goog-request-params'
-    ] = this._gaxModule.routingHeader.fromParams({
-      'parent': request.parent ?? '',
+    options.otherArgs.headers['x-goog-request-params'] =
+      this._gaxModule.routingHeader.fromParams({
+        parent: request.parent ?? '',
+      });
+    this.initialize().catch((err) => {
+      throw err;
     });
-    this.initialize().catch(err => {throw err});
-    const wrappedCallback: PaginationCallback<
-      protos.google.cloud.sql.v1.IListBackupsRequest,
-      protos.google.cloud.sql.v1.IListBackupsResponse|null|undefined,
-      protos.google.cloud.sql.v1.IBackup>|undefined = callback
+    const wrappedCallback:
+      | PaginationCallback<
+          protos.google.cloud.sql.v1.IListBackupsRequest,
+          protos.google.cloud.sql.v1.IListBackupsResponse | null | undefined,
+          protos.google.cloud.sql.v1.IBackup
+        >
+      | undefined = callback
       ? (error, values, nextPageRequest, rawResponse) => {
           this._log.info('listBackups values %j', values);
           callback!(error, values, nextPageRequest, rawResponse); // We verified callback above.
@@ -837,137 +1026,142 @@ export class SqlBackupsServiceClient {
     this._log.info('listBackups request %j', request);
     return this.innerApiCalls
       .listBackups(request, options, wrappedCallback)
-      ?.then(([response, input, output]: [
-        protos.google.cloud.sql.v1.IBackup[],
-        protos.google.cloud.sql.v1.IListBackupsRequest|null,
-        protos.google.cloud.sql.v1.IListBackupsResponse
-      ]) => {
-        this._log.info('listBackups values %j', response);
-        return [response, input, output];
-      });
+      ?.then(
+        ([response, input, output]: [
+          protos.google.cloud.sql.v1.IBackup[],
+          protos.google.cloud.sql.v1.IListBackupsRequest | null,
+          protos.google.cloud.sql.v1.IListBackupsResponse,
+        ]) => {
+          this._log.info('listBackups values %j', response);
+          return [response, input, output];
+        },
+      );
   }
 
-/**
- * Equivalent to `listBackups`, but returns a NodeJS Stream object.
- * @param {Object} request
- *   The request object that will be sent.
- * @param {string} request.parent
- *   Required. The parent that owns this collection of backups.
- *   Format: projects/{project}
- * @param {number} request.pageSize
- *   The maximum number of backups to return per response. The service might
- *   return fewer backups than this value. If a value for this parameter isn't
- *   specified, then, at most, 500 backups are returned. The maximum value is
- *   2,000. Any values that you set, which are greater than 2,000, are changed
- *   to 2,000.
- * @param {string} request.pageToken
- *   A page token, received from a previous `ListBackups` call.
- *   Provide this to retrieve the subsequent page.
- *
- *   When paginating, all other parameters provided to `ListBackups` must match
- *   the call that provided the page token.
- * @param {string} request.filter
- *   Multiple filter queries are separated by spaces. For example,
- *   'instance:abc AND type:FINAL, 'location:us',
- *   'backupInterval.startTime>=1950-01-01T01:01:25.771Z'. You can filter by
- *   type, instance, backupInterval.startTime (creation time), or location.
- * @param {object} [options]
- *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
- * @returns {Stream}
- *   An object stream which emits an object representing {@link protos.google.cloud.sql.v1.Backup|Backup} on 'data' event.
- *   The client library will perform auto-pagination by default: it will call the API as many
- *   times as needed. Note that it can affect your quota.
- *   We recommend using `listBackupsAsync()`
- *   method described below for async iteration which you can stop as needed.
- *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation }
- *   for more details and examples.
- */
+  /**
+   * Equivalent to `listBackups`, but returns a NodeJS Stream object.
+   * @param {Object} request
+   *   The request object that will be sent.
+   * @param {string} request.parent
+   *   Required. The parent that owns this collection of backups.
+   *   Format: projects/{project}
+   * @param {number} request.pageSize
+   *   The maximum number of backups to return per response. The service might
+   *   return fewer backups than this value. If a value for this parameter isn't
+   *   specified, then, at most, 500 backups are returned. The maximum value is
+   *   2,000. Any values that you set, which are greater than 2,000, are changed
+   *   to 2,000.
+   * @param {string} request.pageToken
+   *   A page token, received from a previous `ListBackups` call.
+   *   Provide this to retrieve the subsequent page.
+   *
+   *   When paginating, all other parameters provided to `ListBackups` must match
+   *   the call that provided the page token.
+   * @param {string} request.filter
+   *   Multiple filter queries are separated by spaces. For example,
+   *   'instance:abc AND type:FINAL, 'location:us',
+   *   'backupInterval.startTime>=1950-01-01T01:01:25.771Z'. You can filter by
+   *   type, instance, backupInterval.startTime (creation time), or location.
+   * @param {object} [options]
+   *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+   * @returns {Stream}
+   *   An object stream which emits an object representing {@link protos.google.cloud.sql.v1.Backup|Backup} on 'data' event.
+   *   The client library will perform auto-pagination by default: it will call the API as many
+   *   times as needed. Note that it can affect your quota.
+   *   We recommend using `listBackupsAsync()`
+   *   method described below for async iteration which you can stop as needed.
+   *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation }
+   *   for more details and examples.
+   */
   listBackupsStream(
-      request?: protos.google.cloud.sql.v1.IListBackupsRequest,
-      options?: CallOptions):
-    Transform{
+    request?: protos.google.cloud.sql.v1.IListBackupsRequest,
+    options?: CallOptions,
+  ): Transform {
     request = request || {};
     options = options || {};
     options.otherArgs = options.otherArgs || {};
     options.otherArgs.headers = options.otherArgs.headers || {};
-    options.otherArgs.headers[
-      'x-goog-request-params'
-    ] = this._gaxModule.routingHeader.fromParams({
-      'parent': request.parent ?? '',
-    });
+    options.otherArgs.headers['x-goog-request-params'] =
+      this._gaxModule.routingHeader.fromParams({
+        parent: request.parent ?? '',
+      });
     const defaultCallSettings = this._defaults['listBackups'];
     const callSettings = defaultCallSettings.merge(options);
-    this.initialize().catch(err => {throw err});
+    this.initialize().catch((err) => {
+      throw err;
+    });
     this._log.info('listBackups stream %j', request);
     return this.descriptors.page.listBackups.createStream(
       this.innerApiCalls.listBackups as GaxCall,
       request,
-      callSettings
+      callSettings,
     );
   }
 
-/**
- * Equivalent to `listBackups`, but returns an iterable object.
- *
- * `for`-`await`-`of` syntax is used with the iterable to get response elements on-demand.
- * @param {Object} request
- *   The request object that will be sent.
- * @param {string} request.parent
- *   Required. The parent that owns this collection of backups.
- *   Format: projects/{project}
- * @param {number} request.pageSize
- *   The maximum number of backups to return per response. The service might
- *   return fewer backups than this value. If a value for this parameter isn't
- *   specified, then, at most, 500 backups are returned. The maximum value is
- *   2,000. Any values that you set, which are greater than 2,000, are changed
- *   to 2,000.
- * @param {string} request.pageToken
- *   A page token, received from a previous `ListBackups` call.
- *   Provide this to retrieve the subsequent page.
- *
- *   When paginating, all other parameters provided to `ListBackups` must match
- *   the call that provided the page token.
- * @param {string} request.filter
- *   Multiple filter queries are separated by spaces. For example,
- *   'instance:abc AND type:FINAL, 'location:us',
- *   'backupInterval.startTime>=1950-01-01T01:01:25.771Z'. You can filter by
- *   type, instance, backupInterval.startTime (creation time), or location.
- * @param {object} [options]
- *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
- * @returns {Object}
- *   An iterable Object that allows {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols | async iteration }.
- *   When you iterate the returned iterable, each element will be an object representing
- *   {@link protos.google.cloud.sql.v1.Backup|Backup}. The API will be called under the hood as needed, once per the page,
- *   so you can stop the iteration when you don't need more results.
- *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation }
- *   for more details and examples.
- * @example <caption>include:samples/generated/v1/sql_backups_service.list_backups.js</caption>
- * region_tag:sqladmin_v1_generated_SqlBackupsService_ListBackups_async
- */
+  /**
+   * Equivalent to `listBackups`, but returns an iterable object.
+   *
+   * `for`-`await`-`of` syntax is used with the iterable to get response elements on-demand.
+   * @param {Object} request
+   *   The request object that will be sent.
+   * @param {string} request.parent
+   *   Required. The parent that owns this collection of backups.
+   *   Format: projects/{project}
+   * @param {number} request.pageSize
+   *   The maximum number of backups to return per response. The service might
+   *   return fewer backups than this value. If a value for this parameter isn't
+   *   specified, then, at most, 500 backups are returned. The maximum value is
+   *   2,000. Any values that you set, which are greater than 2,000, are changed
+   *   to 2,000.
+   * @param {string} request.pageToken
+   *   A page token, received from a previous `ListBackups` call.
+   *   Provide this to retrieve the subsequent page.
+   *
+   *   When paginating, all other parameters provided to `ListBackups` must match
+   *   the call that provided the page token.
+   * @param {string} request.filter
+   *   Multiple filter queries are separated by spaces. For example,
+   *   'instance:abc AND type:FINAL, 'location:us',
+   *   'backupInterval.startTime>=1950-01-01T01:01:25.771Z'. You can filter by
+   *   type, instance, backupInterval.startTime (creation time), or location.
+   * @param {object} [options]
+   *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+   * @returns {Object}
+   *   An iterable Object that allows {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols | async iteration }.
+   *   When you iterate the returned iterable, each element will be an object representing
+   *   {@link protos.google.cloud.sql.v1.Backup|Backup}. The API will be called under the hood as needed, once per the page,
+   *   so you can stop the iteration when you don't need more results.
+   *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation }
+   *   for more details and examples.
+   * @example <caption>include:samples/generated/v1/sql_backups_service.list_backups.js</caption>
+   * region_tag:sqladmin_v1_generated_SqlBackupsService_ListBackups_async
+   */
   listBackupsAsync(
-      request?: protos.google.cloud.sql.v1.IListBackupsRequest,
-      options?: CallOptions):
-    AsyncIterable<protos.google.cloud.sql.v1.IBackup>{
+    request?: protos.google.cloud.sql.v1.IListBackupsRequest,
+    options?: CallOptions,
+  ): AsyncIterable<protos.google.cloud.sql.v1.IBackup> {
     request = request || {};
     options = options || {};
     options.otherArgs = options.otherArgs || {};
     options.otherArgs.headers = options.otherArgs.headers || {};
-    options.otherArgs.headers[
-      'x-goog-request-params'
-    ] = this._gaxModule.routingHeader.fromParams({
-      'parent': request.parent ?? '',
-    });
+    options.otherArgs.headers['x-goog-request-params'] =
+      this._gaxModule.routingHeader.fromParams({
+        parent: request.parent ?? '',
+      });
     const defaultCallSettings = this._defaults['listBackups'];
     const callSettings = defaultCallSettings.merge(options);
-    this.initialize().catch(err => {throw err});
+    this.initialize().catch((err) => {
+      throw err;
+    });
     this._log.info('listBackups iterate %j', request);
     return this.descriptors.page.listBackups.asyncIterate(
       this.innerApiCalls['listBackups'] as GaxCall,
       request as {},
-      callSettings
+      callSettings,
     ) as AsyncIterable<protos.google.cloud.sql.v1.IBackup>;
   }
-/**
+
+  /**
    * Gets information about a location.
    *
    * @param {Object} request
@@ -1002,12 +1196,11 @@ export class SqlBackupsServiceClient {
       | null
       | undefined,
       {} | null | undefined
-    >
+    >,
   ): Promise<LocationProtos.google.cloud.location.ILocation> {
     return this.locationsClient.getLocation(request, options, callback);
   }
-
-/**
+  /**
    * Lists information about the supported locations for this service. Returns an iterable object.
    *
    * `for`-`await`-`of` syntax is used with the iterable to get response elements on-demand.
@@ -1040,7 +1233,7 @@ export class SqlBackupsServiceClient {
    */
   listLocationsAsync(
     request: LocationProtos.google.cloud.location.IListLocationsRequest,
-    options?: CallOptions
+    options?: CallOptions,
   ): AsyncIterable<LocationProtos.google.cloud.location.ILocation> {
     return this.locationsClient.listLocationsAsync(request, options);
   }
@@ -1056,7 +1249,7 @@ export class SqlBackupsServiceClient {
    * @param {string} backup
    * @returns {string} Resource name string.
    */
-  backupPath(project:string,backup:string) {
+  backupPath(project: string, backup: string) {
     return this.pathTemplates.backupPathTemplate.render({
       project: project,
       backup: backup,
@@ -1091,7 +1284,7 @@ export class SqlBackupsServiceClient {
    * @param {string} project
    * @returns {string} Resource name string.
    */
-  projectPath(project:string) {
+  projectPath(project: string) {
     return this.pathTemplates.projectPathTemplate.render({
       project: project,
     });
@@ -1116,13 +1309,15 @@ export class SqlBackupsServiceClient {
    */
   close(): Promise<void> {
     if (this.sqlBackupsServiceStub && !this._terminated) {
-      return this.sqlBackupsServiceStub.then(stub => {
+      return this.sqlBackupsServiceStub.then((stub) => {
         this._log.info('ending gRPC channel');
         this._terminated = true;
         stub.close();
-        this.locationsClient.close().catch(err => {throw err});
+        this.locationsClient.close().catch((err) => {
+          throw err;
+        });
       });
     }
     return Promise.resolve();
   }
-}
\ No newline at end of file
+}
diff --git a/packages/google-cloud-sql/src/v1/sql_connect_service_client.ts b/packages/google-cloud-sql/src/v1/sql_connect_service_client.ts
index 6c84fc9a1284..55bcc54b96ae 100644
--- a/packages/google-cloud-sql/src/v1/sql_connect_service_client.ts
+++ b/packages/google-cloud-sql/src/v1/sql_connect_service_client.ts
@@ -18,11 +18,18 @@
 
 /* global window */
 import type * as gax from 'google-gax';
-import type {Callback, CallOptions, Descriptors, ClientOptions, LocationsClient, LocationProtos} from 'google-gax';
+import type {
+  Callback,
+  CallOptions,
+  Descriptors,
+  ClientOptions,
+  LocationsClient,
+  LocationProtos,
+} from 'google-gax';
 
 import * as protos from '../../protos/protos';
 import jsonProtos = require('../../protos/protos.json');
-import {loggingUtils as logging, decodeAnyProtosInArray} from 'google-gax';
+import { loggingUtils as logging, decodeAnyProtosInArray } from 'google-gax';
 
 /**
  * Client JSON configuration object, loaded from
@@ -44,7 +51,7 @@ export class SqlConnectServiceClient {
   private _gaxModule: typeof gax | typeof gax.fallback;
   private _gaxGrpc: gax.GrpcClient | gax.fallback.GrpcClient;
   private _protos: {};
-  private _defaults: {[method: string]: gax.CallSettings};
+  private _defaults: { [method: string]: gax.CallSettings };
   private _universeDomain: string;
   private _servicePath: string;
   private _log = logging.log('sql');
@@ -57,10 +64,10 @@ export class SqlConnectServiceClient {
     batching: {},
   };
   warn: (code: string, message: string, warnType?: string) => void;
-  innerApiCalls: {[name: string]: Function};
+  innerApiCalls: { [name: string]: Function };
   locationsClient: LocationsClient;
-  pathTemplates: {[name: string]: gax.PathTemplate};
-  sqlConnectServiceStub?: Promise<{[name: string]: Function}>;
+  pathTemplates: { [name: string]: gax.PathTemplate };
+  sqlConnectServiceStub?: Promise<{ [name: string]: Function }>;
 
   /**
    * Construct an instance of SqlConnectServiceClient.
@@ -101,21 +108,42 @@ export class SqlConnectServiceClient {
    *     const client = new SqlConnectServiceClient({fallback: true}, gax);
    *     ```
    */
-  constructor(opts?: ClientOptions, gaxInstance?: typeof gax | typeof gax.fallback) {
+  constructor(
+    opts?: ClientOptions,
+    gaxInstance?: typeof gax | typeof gax.fallback,
+  ) {
     // Ensure that options include all the required fields.
     const staticMembers = this.constructor as typeof SqlConnectServiceClient;
-    if (opts?.universe_domain && opts?.universeDomain && opts?.universe_domain !== opts?.universeDomain) {
-      throw new Error('Please set either universe_domain or universeDomain, but not both.');
+    if (
+      opts?.universe_domain &&
+      opts?.universeDomain &&
+      opts?.universe_domain !== opts?.universeDomain
+    ) {
+      throw new Error(
+        'Please set either universe_domain or universeDomain, but not both.',
+      );
     }
-    const universeDomainEnvVar = (typeof process === 'object' && typeof process.env === 'object') ? process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] : undefined;
-    this._universeDomain = opts?.universeDomain ?? opts?.universe_domain ?? universeDomainEnvVar ?? 'googleapis.com';
+    const universeDomainEnvVar =
+      typeof process === 'object' && typeof process.env === 'object'
+        ? process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN']
+        : undefined;
+    this._universeDomain =
+      opts?.universeDomain ??
+      opts?.universe_domain ??
+      universeDomainEnvVar ??
+      'googleapis.com';
     this._servicePath = 'sqladmin.' + this._universeDomain;
-    const servicePath = opts?.servicePath || opts?.apiEndpoint || this._servicePath;
-    this._providedCustomServicePath = !!(opts?.servicePath || opts?.apiEndpoint);
+    const servicePath =
+      opts?.servicePath || opts?.apiEndpoint || this._servicePath;
+    this._providedCustomServicePath = !!(
+      opts?.servicePath || opts?.apiEndpoint
+    );
     const port = opts?.port || staticMembers.port;
     const clientConfig = opts?.clientConfig ?? {};
-    const fallback = opts?.fallback ?? (typeof window !== 'undefined' && typeof window?.fetch === 'function');
-    opts = Object.assign({servicePath, port, clientConfig, fallback}, opts);
+    const fallback =
+      opts?.fallback ??
+      (typeof window !== 'undefined' && typeof window?.fetch === 'function');
+    opts = Object.assign({ servicePath, port, clientConfig, fallback }, opts);
 
     // Request numeric enum values if REST transport is used.
     opts.numericEnums = true;
@@ -140,7 +168,7 @@ export class SqlConnectServiceClient {
     this._opts = opts;
 
     // Save the auth object to the client, for use by other methods.
-    this.auth = (this._gaxGrpc.auth as gax.GoogleAuth);
+    this.auth = this._gaxGrpc.auth as gax.GoogleAuth;
 
     // Set useJWTAccessWithScope on the auth object.
     this.auth.useJWTAccessWithScope = true;
@@ -154,15 +182,11 @@ export class SqlConnectServiceClient {
     }
     this.locationsClient = new this._gaxModule.LocationsClient(
       this._gaxGrpc,
-      opts
+      opts,
     );
-  
 
     // Determine the client header string.
-    const clientHeader = [
-      `gax/${this._gaxModule.version}`,
-      `gapic/${version}`,
-    ];
+    const clientHeader = [`gax/${this._gaxModule.version}`, `gapic/${version}`];
     if (typeof process === 'object' && 'versions' in process) {
       clientHeader.push(`gl-node/${process.versions.node}`);
     } else {
@@ -184,14 +208,17 @@ export class SqlConnectServiceClient {
     // Create useful helper objects for these.
     this.pathTemplates = {
       backupPathTemplate: new this._gaxModule.PathTemplate(
-        'projects/{project}/backups/{backup}'
+        'projects/{project}/backups/{backup}',
       ),
     };
 
     // Put together the default options sent with requests.
     this._defaults = this._gaxGrpc.constructSettings(
-        'google.cloud.sql.v1.SqlConnectService', gapicConfig as gax.ClientConfig,
-        opts.clientConfig || {}, {'x-goog-api-client': clientHeader.join(' ')});
+      'google.cloud.sql.v1.SqlConnectService',
+      gapicConfig as gax.ClientConfig,
+      opts.clientConfig || {},
+      { 'x-goog-api-client': clientHeader.join(' ') },
+    );
 
     // Set up a dictionary of "inner API calls"; the core implementation
     // of calling the API is handled in `google-gax`, with this code
@@ -222,36 +249,43 @@ export class SqlConnectServiceClient {
     // Put together the "service stub" for
     // google.cloud.sql.v1.SqlConnectService.
     this.sqlConnectServiceStub = this._gaxGrpc.createStub(
-        this._opts.fallback ?
-          (this._protos as protobuf.Root).lookupService('google.cloud.sql.v1.SqlConnectService') :
-          // eslint-disable-next-line @typescript-eslint/no-explicit-any
+      this._opts.fallback
+        ? (this._protos as protobuf.Root).lookupService(
+            'google.cloud.sql.v1.SqlConnectService',
+          )
+        : // eslint-disable-next-line @typescript-eslint/no-explicit-any
           (this._protos as any).google.cloud.sql.v1.SqlConnectService,
-        this._opts, this._providedCustomServicePath) as Promise<{[method: string]: Function}>;
+      this._opts,
+      this._providedCustomServicePath,
+    ) as Promise<{ [method: string]: Function }>;
 
     // Iterate over each of the methods that the service provides
     // and create an API call method for each.
-    const sqlConnectServiceStubMethods =
-        ['getConnectSettings', 'generateEphemeralCert'];
+    const sqlConnectServiceStubMethods = [
+      'getConnectSettings',
+      'generateEphemeralCert',
+    ];
     for (const methodName of sqlConnectServiceStubMethods) {
       const callPromise = this.sqlConnectServiceStub.then(
-        stub => (...args: Array<{}>) => {
-          if (this._terminated) {
-            return Promise.reject('The client has already been closed.');
-          }
-          const func = stub[methodName];
-          return func.apply(stub, args);
-        },
-        (err: Error|null|undefined) => () => {
+        (stub) =>
+          (...args: Array<{}>) => {
+            if (this._terminated) {
+              return Promise.reject('The client has already been closed.');
+            }
+            const func = stub[methodName];
+            return func.apply(stub, args);
+          },
+        (err: Error | null | undefined) => () => {
           throw err;
-        });
+        },
+      );
 
-      const descriptor =
-        undefined;
+      const descriptor = undefined;
       const apiCall = this._gaxModule.createApiCall(
         callPromise,
         this._defaults[methodName],
         descriptor,
-        this._opts.fallback
+        this._opts.fallback,
       );
 
       this.innerApiCalls[methodName] = apiCall;
@@ -266,8 +300,14 @@ export class SqlConnectServiceClient {
    * @returns {string} The DNS address for this service.
    */
   static get servicePath() {
-    if (typeof process === 'object' && typeof process.emitWarning === 'function') {
-      process.emitWarning('Static servicePath is deprecated, please use the instance method instead.', 'DeprecationWarning');
+    if (
+      typeof process === 'object' &&
+      typeof process.emitWarning === 'function'
+    ) {
+      process.emitWarning(
+        'Static servicePath is deprecated, please use the instance method instead.',
+        'DeprecationWarning',
+      );
     }
     return 'sqladmin.googleapis.com';
   }
@@ -278,8 +318,14 @@ export class SqlConnectServiceClient {
    * @returns {string} The DNS address for this service.
    */
   static get apiEndpoint() {
-    if (typeof process === 'object' && typeof process.emitWarning === 'function') {
-      process.emitWarning('Static apiEndpoint is deprecated, please use the instance method instead.', 'DeprecationWarning');
+    if (
+      typeof process === 'object' &&
+      typeof process.emitWarning === 'function'
+    ) {
+      process.emitWarning(
+        'Static apiEndpoint is deprecated, please use the instance method instead.',
+        'DeprecationWarning',
+      );
     }
     return 'sqladmin.googleapis.com';
   }
@@ -312,7 +358,7 @@ export class SqlConnectServiceClient {
   static get scopes() {
     return [
       'https://www.googleapis.com/auth/cloud-platform',
-      'https://www.googleapis.com/auth/sqlservice.admin'
+      'https://www.googleapis.com/auth/sqlservice.admin',
     ];
   }
 
@@ -322,8 +368,9 @@ export class SqlConnectServiceClient {
    * Return the project ID used by this class.
    * @returns {Promise} A promise that resolves to string containing the project ID.
    */
-  getProjectId(callback?: Callback<string, undefined, undefined>):
-      Promise<string>|void {
+  getProjectId(
+    callback?: Callback<string, undefined, undefined>,
+  ): Promise<string> | void {
     if (callback) {
       this.auth.getProjectId(callback);
       return;
@@ -334,217 +381,291 @@ export class SqlConnectServiceClient {
   // -------------------
   // -- Service calls --
   // -------------------
-/**
- * Retrieves connect settings about a Cloud SQL instance.
- *
- * @param {Object} request
- *   The request object that will be sent.
- * @param {string} request.instance
- *   Cloud SQL instance ID. This does not include the project ID.
- * @param {string} request.project
- *   Project ID of the project that contains the instance.
- * @param {google.protobuf.Timestamp} [request.readTime]
- *   Optional. Optional snapshot read timestamp to trade freshness for
- *   performance.
- * @param {object} [options]
- *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
- * @returns {Promise} - The promise which resolves to an array.
- *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1.ConnectSettings|ConnectSettings}.
- *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
- *   for more details and examples.
- * @example <caption>include:samples/generated/v1/sql_connect_service.get_connect_settings.js</caption>
- * region_tag:sqladmin_v1_generated_SqlConnectService_GetConnectSettings_async
- */
+  /**
+   * Retrieves connect settings about a Cloud SQL instance.
+   *
+   * @param {Object} request
+   *   The request object that will be sent.
+   * @param {string} request.instance
+   *   Cloud SQL instance ID. This does not include the project ID.
+   * @param {string} request.project
+   *   Project ID of the project that contains the instance.
+   * @param {google.protobuf.Timestamp} [request.readTime]
+   *   Optional. Optional snapshot read timestamp to trade freshness for
+   *   performance.
+   * @param {object} [options]
+   *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+   * @returns {Promise} - The promise which resolves to an array.
+   *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1.ConnectSettings|ConnectSettings}.
+   *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
+   *   for more details and examples.
+   * @example <caption>include:samples/generated/v1/sql_connect_service.get_connect_settings.js</caption>
+   * region_tag:sqladmin_v1_generated_SqlConnectService_GetConnectSettings_async
+   */
   getConnectSettings(
-      request?: protos.google.cloud.sql.v1.IGetConnectSettingsRequest,
-      options?: CallOptions):
-      Promise<[
-        protos.google.cloud.sql.v1.IConnectSettings,
-        protos.google.cloud.sql.v1.IGetConnectSettingsRequest|undefined, {}|undefined
-      ]>;
+    request?: protos.google.cloud.sql.v1.IGetConnectSettingsRequest,
+    options?: CallOptions,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1.IConnectSettings,
+      protos.google.cloud.sql.v1.IGetConnectSettingsRequest | undefined,
+      {} | undefined,
+    ]
+  >;
   getConnectSettings(
-      request: protos.google.cloud.sql.v1.IGetConnectSettingsRequest,
-      options: CallOptions,
-      callback: Callback<
-          protos.google.cloud.sql.v1.IConnectSettings,
-          protos.google.cloud.sql.v1.IGetConnectSettingsRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1.IGetConnectSettingsRequest,
+    options: CallOptions,
+    callback: Callback<
+      protos.google.cloud.sql.v1.IConnectSettings,
+      protos.google.cloud.sql.v1.IGetConnectSettingsRequest | null | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   getConnectSettings(
-      request: protos.google.cloud.sql.v1.IGetConnectSettingsRequest,
-      callback: Callback<
-          protos.google.cloud.sql.v1.IConnectSettings,
-          protos.google.cloud.sql.v1.IGetConnectSettingsRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1.IGetConnectSettingsRequest,
+    callback: Callback<
+      protos.google.cloud.sql.v1.IConnectSettings,
+      protos.google.cloud.sql.v1.IGetConnectSettingsRequest | null | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   getConnectSettings(
-      request?: protos.google.cloud.sql.v1.IGetConnectSettingsRequest,
-      optionsOrCallback?: CallOptions|Callback<
-          protos.google.cloud.sql.v1.IConnectSettings,
-          protos.google.cloud.sql.v1.IGetConnectSettingsRequest|null|undefined,
-          {}|null|undefined>,
-      callback?: Callback<
+    request?: protos.google.cloud.sql.v1.IGetConnectSettingsRequest,
+    optionsOrCallback?:
+      | CallOptions
+      | Callback<
           protos.google.cloud.sql.v1.IConnectSettings,
-          protos.google.cloud.sql.v1.IGetConnectSettingsRequest|null|undefined,
-          {}|null|undefined>):
-      Promise<[
-        protos.google.cloud.sql.v1.IConnectSettings,
-        protos.google.cloud.sql.v1.IGetConnectSettingsRequest|undefined, {}|undefined
-      ]>|void {
+          | protos.google.cloud.sql.v1.IGetConnectSettingsRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >,
+    callback?: Callback<
+      protos.google.cloud.sql.v1.IConnectSettings,
+      protos.google.cloud.sql.v1.IGetConnectSettingsRequest | null | undefined,
+      {} | null | undefined
+    >,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1.IConnectSettings,
+      protos.google.cloud.sql.v1.IGetConnectSettingsRequest | undefined,
+      {} | undefined,
+    ]
+  > | void {
     request = request || {};
     let options: CallOptions;
     if (typeof optionsOrCallback === 'function' && callback === undefined) {
       callback = optionsOrCallback;
       options = {};
-    }
-    else {
+    } else {
       options = optionsOrCallback as CallOptions;
     }
     options = options || {};
     options.otherArgs = options.otherArgs || {};
     options.otherArgs.headers = options.otherArgs.headers || {};
-    options.otherArgs.headers[
-      'x-goog-request-params'
-    ] = this._gaxModule.routingHeader.fromParams({
-      'project': request.project ?? '',
-      'instance': request.instance ?? '',
+    options.otherArgs.headers['x-goog-request-params'] =
+      this._gaxModule.routingHeader.fromParams({
+        project: request.project ?? '',
+        instance: request.instance ?? '',
+      });
+    this.initialize().catch((err) => {
+      throw err;
     });
-    this.initialize().catch(err => {throw err});
     this._log.info('getConnectSettings request %j', request);
-    const wrappedCallback: Callback<
-        protos.google.cloud.sql.v1.IConnectSettings,
-        protos.google.cloud.sql.v1.IGetConnectSettingsRequest|null|undefined,
-        {}|null|undefined>|undefined = callback
+    const wrappedCallback:
+      | Callback<
+          protos.google.cloud.sql.v1.IConnectSettings,
+          | protos.google.cloud.sql.v1.IGetConnectSettingsRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >
+      | undefined = callback
       ? (error, response, options, rawResponse) => {
           this._log.info('getConnectSettings response %j', response);
           callback!(error, response, options, rawResponse); // We verified callback above.
         }
       : undefined;
-    return this.innerApiCalls.getConnectSettings(request, options, wrappedCallback)
-      ?.then(([response, options, rawResponse]: [
-        protos.google.cloud.sql.v1.IConnectSettings,
-        protos.google.cloud.sql.v1.IGetConnectSettingsRequest|undefined,
-        {}|undefined
-      ]) => {
-        this._log.info('getConnectSettings response %j', response);
-        return [response, options, rawResponse];
-      }).catch((error: any) => {
-        if (error && 'statusDetails' in error && error.statusDetails instanceof Array) {
-          const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type;
-          error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos);
+    return this.innerApiCalls
+      .getConnectSettings(request, options, wrappedCallback)
+      ?.then(
+        ([response, options, rawResponse]: [
+          protos.google.cloud.sql.v1.IConnectSettings,
+          protos.google.cloud.sql.v1.IGetConnectSettingsRequest | undefined,
+          {} | undefined,
+        ]) => {
+          this._log.info('getConnectSettings response %j', response);
+          return [response, options, rawResponse];
+        },
+      )
+      .catch((error: any) => {
+        if (
+          error &&
+          'statusDetails' in error &&
+          error.statusDetails instanceof Array
+        ) {
+          const protos = this._gaxModule.protobuf.Root.fromJSON(
+            jsonProtos,
+          ) as unknown as gax.protobuf.Type;
+          error.statusDetails = decodeAnyProtosInArray(
+            error.statusDetails,
+            protos,
+          );
         }
         throw error;
       });
   }
-/**
- * Generates a short-lived X509 certificate containing the provided public key
- * and signed by a private key specific to the target instance. Users may use
- * the certificate to authenticate as themselves when connecting to the
- * database.
- *
- * @param {Object} request
- *   The request object that will be sent.
- * @param {string} request.instance
- *   Cloud SQL instance ID. This does not include the project ID.
- * @param {string} request.project
- *   Project ID of the project that contains the instance.
- * @param {string} request.publicKey
- *   PEM encoded public key to include in the signed certificate.
- * @param {string} [request.accessToken]
- *   Optional. Access token to include in the signed certificate.
- * @param {google.protobuf.Timestamp} [request.readTime]
- *   Optional. Optional snapshot read timestamp to trade freshness for
- *   performance.
- * @param {google.protobuf.Duration} [request.validDuration]
- *   Optional. If set, it will contain the cert valid duration.
- * @param {object} [options]
- *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
- * @returns {Promise} - The promise which resolves to an array.
- *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1.GenerateEphemeralCertResponse|GenerateEphemeralCertResponse}.
- *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
- *   for more details and examples.
- * @example <caption>include:samples/generated/v1/sql_connect_service.generate_ephemeral_cert.js</caption>
- * region_tag:sqladmin_v1_generated_SqlConnectService_GenerateEphemeralCert_async
- */
+  /**
+   * Generates a short-lived X509 certificate containing the provided public key
+   * and signed by a private key specific to the target instance. Users may use
+   * the certificate to authenticate as themselves when connecting to the
+   * database.
+   *
+   * @param {Object} request
+   *   The request object that will be sent.
+   * @param {string} request.instance
+   *   Cloud SQL instance ID. This does not include the project ID.
+   * @param {string} request.project
+   *   Project ID of the project that contains the instance.
+   * @param {string} request.publicKey
+   *   PEM encoded public key to include in the signed certificate.
+   * @param {string} [request.accessToken]
+   *   Optional. Access token to include in the signed certificate.
+   * @param {google.protobuf.Timestamp} [request.readTime]
+   *   Optional. Optional snapshot read timestamp to trade freshness for
+   *   performance.
+   * @param {google.protobuf.Duration} [request.validDuration]
+   *   Optional. If set, it will contain the cert valid duration.
+   * @param {object} [options]
+   *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+   * @returns {Promise} - The promise which resolves to an array.
+   *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1.GenerateEphemeralCertResponse|GenerateEphemeralCertResponse}.
+   *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
+   *   for more details and examples.
+   * @example <caption>include:samples/generated/v1/sql_connect_service.generate_ephemeral_cert.js</caption>
+   * region_tag:sqladmin_v1_generated_SqlConnectService_GenerateEphemeralCert_async
+   */
   generateEphemeralCert(
-      request?: protos.google.cloud.sql.v1.IGenerateEphemeralCertRequest,
-      options?: CallOptions):
-      Promise<[
-        protos.google.cloud.sql.v1.IGenerateEphemeralCertResponse,
-        protos.google.cloud.sql.v1.IGenerateEphemeralCertRequest|undefined, {}|undefined
-      ]>;
+    request?: protos.google.cloud.sql.v1.IGenerateEphemeralCertRequest,
+    options?: CallOptions,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1.IGenerateEphemeralCertResponse,
+      protos.google.cloud.sql.v1.IGenerateEphemeralCertRequest | undefined,
+      {} | undefined,
+    ]
+  >;
   generateEphemeralCert(
-      request: protos.google.cloud.sql.v1.IGenerateEphemeralCertRequest,
-      options: CallOptions,
-      callback: Callback<
-          protos.google.cloud.sql.v1.IGenerateEphemeralCertResponse,
-          protos.google.cloud.sql.v1.IGenerateEphemeralCertRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1.IGenerateEphemeralCertRequest,
+    options: CallOptions,
+    callback: Callback<
+      protos.google.cloud.sql.v1.IGenerateEphemeralCertResponse,
+      | protos.google.cloud.sql.v1.IGenerateEphemeralCertRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   generateEphemeralCert(
-      request: protos.google.cloud.sql.v1.IGenerateEphemeralCertRequest,
-      callback: Callback<
-          protos.google.cloud.sql.v1.IGenerateEphemeralCertResponse,
-          protos.google.cloud.sql.v1.IGenerateEphemeralCertRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1.IGenerateEphemeralCertRequest,
+    callback: Callback<
+      protos.google.cloud.sql.v1.IGenerateEphemeralCertResponse,
+      | protos.google.cloud.sql.v1.IGenerateEphemeralCertRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   generateEphemeralCert(
-      request?: protos.google.cloud.sql.v1.IGenerateEphemeralCertRequest,
-      optionsOrCallback?: CallOptions|Callback<
-          protos.google.cloud.sql.v1.IGenerateEphemeralCertResponse,
-          protos.google.cloud.sql.v1.IGenerateEphemeralCertRequest|null|undefined,
-          {}|null|undefined>,
-      callback?: Callback<
+    request?: protos.google.cloud.sql.v1.IGenerateEphemeralCertRequest,
+    optionsOrCallback?:
+      | CallOptions
+      | Callback<
           protos.google.cloud.sql.v1.IGenerateEphemeralCertResponse,
-          protos.google.cloud.sql.v1.IGenerateEphemeralCertRequest|null|undefined,
-          {}|null|undefined>):
-      Promise<[
-        protos.google.cloud.sql.v1.IGenerateEphemeralCertResponse,
-        protos.google.cloud.sql.v1.IGenerateEphemeralCertRequest|undefined, {}|undefined
-      ]>|void {
+          | protos.google.cloud.sql.v1.IGenerateEphemeralCertRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >,
+    callback?: Callback<
+      protos.google.cloud.sql.v1.IGenerateEphemeralCertResponse,
+      | protos.google.cloud.sql.v1.IGenerateEphemeralCertRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1.IGenerateEphemeralCertResponse,
+      protos.google.cloud.sql.v1.IGenerateEphemeralCertRequest | undefined,
+      {} | undefined,
+    ]
+  > | void {
     request = request || {};
     let options: CallOptions;
     if (typeof optionsOrCallback === 'function' && callback === undefined) {
       callback = optionsOrCallback;
       options = {};
-    }
-    else {
+    } else {
       options = optionsOrCallback as CallOptions;
     }
     options = options || {};
     options.otherArgs = options.otherArgs || {};
     options.otherArgs.headers = options.otherArgs.headers || {};
-    options.otherArgs.headers[
-      'x-goog-request-params'
-    ] = this._gaxModule.routingHeader.fromParams({
-      'project': request.project ?? '',
-      'instance': request.instance ?? '',
+    options.otherArgs.headers['x-goog-request-params'] =
+      this._gaxModule.routingHeader.fromParams({
+        project: request.project ?? '',
+        instance: request.instance ?? '',
+      });
+    this.initialize().catch((err) => {
+      throw err;
     });
-    this.initialize().catch(err => {throw err});
     this._log.info('generateEphemeralCert request %j', request);
-    const wrappedCallback: Callback<
-        protos.google.cloud.sql.v1.IGenerateEphemeralCertResponse,
-        protos.google.cloud.sql.v1.IGenerateEphemeralCertRequest|null|undefined,
-        {}|null|undefined>|undefined = callback
+    const wrappedCallback:
+      | Callback<
+          protos.google.cloud.sql.v1.IGenerateEphemeralCertResponse,
+          | protos.google.cloud.sql.v1.IGenerateEphemeralCertRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >
+      | undefined = callback
       ? (error, response, options, rawResponse) => {
           this._log.info('generateEphemeralCert response %j', response);
           callback!(error, response, options, rawResponse); // We verified callback above.
         }
       : undefined;
-    return this.innerApiCalls.generateEphemeralCert(request, options, wrappedCallback)
-      ?.then(([response, options, rawResponse]: [
-        protos.google.cloud.sql.v1.IGenerateEphemeralCertResponse,
-        protos.google.cloud.sql.v1.IGenerateEphemeralCertRequest|undefined,
-        {}|undefined
-      ]) => {
-        this._log.info('generateEphemeralCert response %j', response);
-        return [response, options, rawResponse];
-      }).catch((error: any) => {
-        if (error && 'statusDetails' in error && error.statusDetails instanceof Array) {
-          const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type;
-          error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos);
+    return this.innerApiCalls
+      .generateEphemeralCert(request, options, wrappedCallback)
+      ?.then(
+        ([response, options, rawResponse]: [
+          protos.google.cloud.sql.v1.IGenerateEphemeralCertResponse,
+          protos.google.cloud.sql.v1.IGenerateEphemeralCertRequest | undefined,
+          {} | undefined,
+        ]) => {
+          this._log.info('generateEphemeralCert response %j', response);
+          return [response, options, rawResponse];
+        },
+      )
+      .catch((error: any) => {
+        if (
+          error &&
+          'statusDetails' in error &&
+          error.statusDetails instanceof Array
+        ) {
+          const protos = this._gaxModule.protobuf.Root.fromJSON(
+            jsonProtos,
+          ) as unknown as gax.protobuf.Type;
+          error.statusDetails = decodeAnyProtosInArray(
+            error.statusDetails,
+            protos,
+          );
         }
         throw error;
       });
   }
 
-/**
+  /**
    * Gets information about a location.
    *
    * @param {Object} request
@@ -579,12 +700,11 @@ export class SqlConnectServiceClient {
       | null
       | undefined,
       {} | null | undefined
-    >
+    >,
   ): Promise<LocationProtos.google.cloud.location.ILocation> {
     return this.locationsClient.getLocation(request, options, callback);
   }
-
-/**
+  /**
    * Lists information about the supported locations for this service. Returns an iterable object.
    *
    * `for`-`await`-`of` syntax is used with the iterable to get response elements on-demand.
@@ -617,7 +737,7 @@ export class SqlConnectServiceClient {
    */
   listLocationsAsync(
     request: LocationProtos.google.cloud.location.IListLocationsRequest,
-    options?: CallOptions
+    options?: CallOptions,
   ): AsyncIterable<LocationProtos.google.cloud.location.ILocation> {
     return this.locationsClient.listLocationsAsync(request, options);
   }
@@ -633,7 +753,7 @@ export class SqlConnectServiceClient {
    * @param {string} backup
    * @returns {string} Resource name string.
    */
-  backupPath(project:string,backup:string) {
+  backupPath(project: string, backup: string) {
     return this.pathTemplates.backupPathTemplate.render({
       project: project,
       backup: backup,
@@ -670,13 +790,15 @@ export class SqlConnectServiceClient {
    */
   close(): Promise<void> {
     if (this.sqlConnectServiceStub && !this._terminated) {
-      return this.sqlConnectServiceStub.then(stub => {
+      return this.sqlConnectServiceStub.then((stub) => {
         this._log.info('ending gRPC channel');
         this._terminated = true;
         stub.close();
-        this.locationsClient.close().catch(err => {throw err});
+        this.locationsClient.close().catch((err) => {
+          throw err;
+        });
       });
     }
     return Promise.resolve();
   }
-}
\ No newline at end of file
+}
diff --git a/packages/google-cloud-sql/src/v1/sql_databases_service_client.ts b/packages/google-cloud-sql/src/v1/sql_databases_service_client.ts
index 999cef663be5..6b679b46644a 100644
--- a/packages/google-cloud-sql/src/v1/sql_databases_service_client.ts
+++ b/packages/google-cloud-sql/src/v1/sql_databases_service_client.ts
@@ -18,11 +18,18 @@
 
 /* global window */
 import type * as gax from 'google-gax';
-import type {Callback, CallOptions, Descriptors, ClientOptions, LocationsClient, LocationProtos} from 'google-gax';
+import type {
+  Callback,
+  CallOptions,
+  Descriptors,
+  ClientOptions,
+  LocationsClient,
+  LocationProtos,
+} from 'google-gax';
 
 import * as protos from '../../protos/protos';
 import jsonProtos = require('../../protos/protos.json');
-import {loggingUtils as logging, decodeAnyProtosInArray} from 'google-gax';
+import { loggingUtils as logging, decodeAnyProtosInArray } from 'google-gax';
 
 /**
  * Client JSON configuration object, loaded from
@@ -44,7 +51,7 @@ export class SqlDatabasesServiceClient {
   private _gaxModule: typeof gax | typeof gax.fallback;
   private _gaxGrpc: gax.GrpcClient | gax.fallback.GrpcClient;
   private _protos: {};
-  private _defaults: {[method: string]: gax.CallSettings};
+  private _defaults: { [method: string]: gax.CallSettings };
   private _universeDomain: string;
   private _servicePath: string;
   private _log = logging.log('sql');
@@ -57,10 +64,10 @@ export class SqlDatabasesServiceClient {
     batching: {},
   };
   warn: (code: string, message: string, warnType?: string) => void;
-  innerApiCalls: {[name: string]: Function};
+  innerApiCalls: { [name: string]: Function };
   locationsClient: LocationsClient;
-  pathTemplates: {[name: string]: gax.PathTemplate};
-  sqlDatabasesServiceStub?: Promise<{[name: string]: Function}>;
+  pathTemplates: { [name: string]: gax.PathTemplate };
+  sqlDatabasesServiceStub?: Promise<{ [name: string]: Function }>;
 
   /**
    * Construct an instance of SqlDatabasesServiceClient.
@@ -101,21 +108,42 @@ export class SqlDatabasesServiceClient {
    *     const client = new SqlDatabasesServiceClient({fallback: true}, gax);
    *     ```
    */
-  constructor(opts?: ClientOptions, gaxInstance?: typeof gax | typeof gax.fallback) {
+  constructor(
+    opts?: ClientOptions,
+    gaxInstance?: typeof gax | typeof gax.fallback,
+  ) {
     // Ensure that options include all the required fields.
     const staticMembers = this.constructor as typeof SqlDatabasesServiceClient;
-    if (opts?.universe_domain && opts?.universeDomain && opts?.universe_domain !== opts?.universeDomain) {
-      throw new Error('Please set either universe_domain or universeDomain, but not both.');
+    if (
+      opts?.universe_domain &&
+      opts?.universeDomain &&
+      opts?.universe_domain !== opts?.universeDomain
+    ) {
+      throw new Error(
+        'Please set either universe_domain or universeDomain, but not both.',
+      );
     }
-    const universeDomainEnvVar = (typeof process === 'object' && typeof process.env === 'object') ? process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] : undefined;
-    this._universeDomain = opts?.universeDomain ?? opts?.universe_domain ?? universeDomainEnvVar ?? 'googleapis.com';
+    const universeDomainEnvVar =
+      typeof process === 'object' && typeof process.env === 'object'
+        ? process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN']
+        : undefined;
+    this._universeDomain =
+      opts?.universeDomain ??
+      opts?.universe_domain ??
+      universeDomainEnvVar ??
+      'googleapis.com';
     this._servicePath = 'sqladmin.' + this._universeDomain;
-    const servicePath = opts?.servicePath || opts?.apiEndpoint || this._servicePath;
-    this._providedCustomServicePath = !!(opts?.servicePath || opts?.apiEndpoint);
+    const servicePath =
+      opts?.servicePath || opts?.apiEndpoint || this._servicePath;
+    this._providedCustomServicePath = !!(
+      opts?.servicePath || opts?.apiEndpoint
+    );
     const port = opts?.port || staticMembers.port;
     const clientConfig = opts?.clientConfig ?? {};
-    const fallback = opts?.fallback ?? (typeof window !== 'undefined' && typeof window?.fetch === 'function');
-    opts = Object.assign({servicePath, port, clientConfig, fallback}, opts);
+    const fallback =
+      opts?.fallback ??
+      (typeof window !== 'undefined' && typeof window?.fetch === 'function');
+    opts = Object.assign({ servicePath, port, clientConfig, fallback }, opts);
 
     // Request numeric enum values if REST transport is used.
     opts.numericEnums = true;
@@ -140,7 +168,7 @@ export class SqlDatabasesServiceClient {
     this._opts = opts;
 
     // Save the auth object to the client, for use by other methods.
-    this.auth = (this._gaxGrpc.auth as gax.GoogleAuth);
+    this.auth = this._gaxGrpc.auth as gax.GoogleAuth;
 
     // Set useJWTAccessWithScope on the auth object.
     this.auth.useJWTAccessWithScope = true;
@@ -154,15 +182,11 @@ export class SqlDatabasesServiceClient {
     }
     this.locationsClient = new this._gaxModule.LocationsClient(
       this._gaxGrpc,
-      opts
+      opts,
     );
-  
 
     // Determine the client header string.
-    const clientHeader = [
-      `gax/${this._gaxModule.version}`,
-      `gapic/${version}`,
-    ];
+    const clientHeader = [`gax/${this._gaxModule.version}`, `gapic/${version}`];
     if (typeof process === 'object' && 'versions' in process) {
       clientHeader.push(`gl-node/${process.versions.node}`);
     } else {
@@ -184,14 +208,17 @@ export class SqlDatabasesServiceClient {
     // Create useful helper objects for these.
     this.pathTemplates = {
       backupPathTemplate: new this._gaxModule.PathTemplate(
-        'projects/{project}/backups/{backup}'
+        'projects/{project}/backups/{backup}',
       ),
     };
 
     // Put together the default options sent with requests.
     this._defaults = this._gaxGrpc.constructSettings(
-        'google.cloud.sql.v1.SqlDatabasesService', gapicConfig as gax.ClientConfig,
-        opts.clientConfig || {}, {'x-goog-api-client': clientHeader.join(' ')});
+      'google.cloud.sql.v1.SqlDatabasesService',
+      gapicConfig as gax.ClientConfig,
+      opts.clientConfig || {},
+      { 'x-goog-api-client': clientHeader.join(' ') },
+    );
 
     // Set up a dictionary of "inner API calls"; the core implementation
     // of calling the API is handled in `google-gax`, with this code
@@ -222,36 +249,47 @@ export class SqlDatabasesServiceClient {
     // Put together the "service stub" for
     // google.cloud.sql.v1.SqlDatabasesService.
     this.sqlDatabasesServiceStub = this._gaxGrpc.createStub(
-        this._opts.fallback ?
-          (this._protos as protobuf.Root).lookupService('google.cloud.sql.v1.SqlDatabasesService') :
-          // eslint-disable-next-line @typescript-eslint/no-explicit-any
+      this._opts.fallback
+        ? (this._protos as protobuf.Root).lookupService(
+            'google.cloud.sql.v1.SqlDatabasesService',
+          )
+        : // eslint-disable-next-line @typescript-eslint/no-explicit-any
           (this._protos as any).google.cloud.sql.v1.SqlDatabasesService,
-        this._opts, this._providedCustomServicePath) as Promise<{[method: string]: Function}>;
+      this._opts,
+      this._providedCustomServicePath,
+    ) as Promise<{ [method: string]: Function }>;
 
     // Iterate over each of the methods that the service provides
     // and create an API call method for each.
-    const sqlDatabasesServiceStubMethods =
-        ['delete', 'get', 'insert', 'list', 'patch', 'update'];
+    const sqlDatabasesServiceStubMethods = [
+      'delete',
+      'get',
+      'insert',
+      'list',
+      'patch',
+      'update',
+    ];
     for (const methodName of sqlDatabasesServiceStubMethods) {
       const callPromise = this.sqlDatabasesServiceStub.then(
-        stub => (...args: Array<{}>) => {
-          if (this._terminated) {
-            return Promise.reject('The client has already been closed.');
-          }
-          const func = stub[methodName];
-          return func.apply(stub, args);
-        },
-        (err: Error|null|undefined) => () => {
+        (stub) =>
+          (...args: Array<{}>) => {
+            if (this._terminated) {
+              return Promise.reject('The client has already been closed.');
+            }
+            const func = stub[methodName];
+            return func.apply(stub, args);
+          },
+        (err: Error | null | undefined) => () => {
           throw err;
-        });
+        },
+      );
 
-      const descriptor =
-        undefined;
+      const descriptor = undefined;
       const apiCall = this._gaxModule.createApiCall(
         callPromise,
         this._defaults[methodName],
         descriptor,
-        this._opts.fallback
+        this._opts.fallback,
       );
 
       this.innerApiCalls[methodName] = apiCall;
@@ -266,8 +304,14 @@ export class SqlDatabasesServiceClient {
    * @returns {string} The DNS address for this service.
    */
   static get servicePath() {
-    if (typeof process === 'object' && typeof process.emitWarning === 'function') {
-      process.emitWarning('Static servicePath is deprecated, please use the instance method instead.', 'DeprecationWarning');
+    if (
+      typeof process === 'object' &&
+      typeof process.emitWarning === 'function'
+    ) {
+      process.emitWarning(
+        'Static servicePath is deprecated, please use the instance method instead.',
+        'DeprecationWarning',
+      );
     }
     return 'sqladmin.googleapis.com';
   }
@@ -278,8 +322,14 @@ export class SqlDatabasesServiceClient {
    * @returns {string} The DNS address for this service.
    */
   static get apiEndpoint() {
-    if (typeof process === 'object' && typeof process.emitWarning === 'function') {
-      process.emitWarning('Static apiEndpoint is deprecated, please use the instance method instead.', 'DeprecationWarning');
+    if (
+      typeof process === 'object' &&
+      typeof process.emitWarning === 'function'
+    ) {
+      process.emitWarning(
+        'Static apiEndpoint is deprecated, please use the instance method instead.',
+        'DeprecationWarning',
+      );
     }
     return 'sqladmin.googleapis.com';
   }
@@ -312,7 +362,7 @@ export class SqlDatabasesServiceClient {
   static get scopes() {
     return [
       'https://www.googleapis.com/auth/cloud-platform',
-      'https://www.googleapis.com/auth/sqlservice.admin'
+      'https://www.googleapis.com/auth/sqlservice.admin',
     ];
   }
 
@@ -322,8 +372,9 @@ export class SqlDatabasesServiceClient {
    * Return the project ID used by this class.
    * @returns {Promise} A promise that resolves to string containing the project ID.
    */
-  getProjectId(callback?: Callback<string, undefined, undefined>):
-      Promise<string>|void {
+  getProjectId(
+    callback?: Callback<string, undefined, undefined>,
+  ): Promise<string> | void {
     if (callback) {
       this.auth.getProjectId(callback);
       return;
@@ -334,611 +385,811 @@ export class SqlDatabasesServiceClient {
   // -------------------
   // -- Service calls --
   // -------------------
-/**
- * Deletes a database from a Cloud SQL instance.
- *
- * @param {Object} request
- *   The request object that will be sent.
- * @param {string} request.database
- *   Name of the database to be deleted in the instance.
- * @param {string} request.instance
- *   Database instance ID. This does not include the project ID.
- * @param {string} request.project
- *   Project ID of the project that contains the instance.
- * @param {object} [options]
- *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
- * @returns {Promise} - The promise which resolves to an array.
- *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1.Operation|Operation}.
- *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
- *   for more details and examples.
- * @example <caption>include:samples/generated/v1/sql_databases_service.delete.js</caption>
- * region_tag:sqladmin_v1_generated_SqlDatabasesService_Delete_async
- */
+  /**
+   * Deletes a database from a Cloud SQL instance.
+   *
+   * @param {Object} request
+   *   The request object that will be sent.
+   * @param {string} request.database
+   *   Name of the database to be deleted in the instance.
+   * @param {string} request.instance
+   *   Database instance ID. This does not include the project ID.
+   * @param {string} request.project
+   *   Project ID of the project that contains the instance.
+   * @param {object} [options]
+   *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+   * @returns {Promise} - The promise which resolves to an array.
+   *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1.Operation|Operation}.
+   *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
+   *   for more details and examples.
+   * @example <caption>include:samples/generated/v1/sql_databases_service.delete.js</caption>
+   * region_tag:sqladmin_v1_generated_SqlDatabasesService_Delete_async
+   */
   delete(
-      request?: protos.google.cloud.sql.v1.ISqlDatabasesDeleteRequest,
-      options?: CallOptions):
-      Promise<[
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlDatabasesDeleteRequest|undefined, {}|undefined
-      ]>;
+    request?: protos.google.cloud.sql.v1.ISqlDatabasesDeleteRequest,
+    options?: CallOptions,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1.IOperation,
+      protos.google.cloud.sql.v1.ISqlDatabasesDeleteRequest | undefined,
+      {} | undefined,
+    ]
+  >;
   delete(
-      request: protos.google.cloud.sql.v1.ISqlDatabasesDeleteRequest,
-      options: CallOptions,
-      callback: Callback<
-          protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlDatabasesDeleteRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1.ISqlDatabasesDeleteRequest,
+    options: CallOptions,
+    callback: Callback<
+      protos.google.cloud.sql.v1.IOperation,
+      protos.google.cloud.sql.v1.ISqlDatabasesDeleteRequest | null | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   delete(
-      request: protos.google.cloud.sql.v1.ISqlDatabasesDeleteRequest,
-      callback: Callback<
-          protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlDatabasesDeleteRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1.ISqlDatabasesDeleteRequest,
+    callback: Callback<
+      protos.google.cloud.sql.v1.IOperation,
+      protos.google.cloud.sql.v1.ISqlDatabasesDeleteRequest | null | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   delete(
-      request?: protos.google.cloud.sql.v1.ISqlDatabasesDeleteRequest,
-      optionsOrCallback?: CallOptions|Callback<
-          protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlDatabasesDeleteRequest|null|undefined,
-          {}|null|undefined>,
-      callback?: Callback<
+    request?: protos.google.cloud.sql.v1.ISqlDatabasesDeleteRequest,
+    optionsOrCallback?:
+      | CallOptions
+      | Callback<
           protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlDatabasesDeleteRequest|null|undefined,
-          {}|null|undefined>):
-      Promise<[
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlDatabasesDeleteRequest|undefined, {}|undefined
-      ]>|void {
+          | protos.google.cloud.sql.v1.ISqlDatabasesDeleteRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >,
+    callback?: Callback<
+      protos.google.cloud.sql.v1.IOperation,
+      protos.google.cloud.sql.v1.ISqlDatabasesDeleteRequest | null | undefined,
+      {} | null | undefined
+    >,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1.IOperation,
+      protos.google.cloud.sql.v1.ISqlDatabasesDeleteRequest | undefined,
+      {} | undefined,
+    ]
+  > | void {
     request = request || {};
     let options: CallOptions;
     if (typeof optionsOrCallback === 'function' && callback === undefined) {
       callback = optionsOrCallback;
       options = {};
-    }
-    else {
+    } else {
       options = optionsOrCallback as CallOptions;
     }
     options = options || {};
     options.otherArgs = options.otherArgs || {};
     options.otherArgs.headers = options.otherArgs.headers || {};
-    options.otherArgs.headers[
-      'x-goog-request-params'
-    ] = this._gaxModule.routingHeader.fromParams({
-      'project': request.project ?? '',
-      'instance': request.instance ?? '',
-      'database': request.database ?? '',
+    options.otherArgs.headers['x-goog-request-params'] =
+      this._gaxModule.routingHeader.fromParams({
+        project: request.project ?? '',
+        instance: request.instance ?? '',
+        database: request.database ?? '',
+      });
+    this.initialize().catch((err) => {
+      throw err;
     });
-    this.initialize().catch(err => {throw err});
     this._log.info('delete request %j', request);
-    const wrappedCallback: Callback<
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlDatabasesDeleteRequest|null|undefined,
-        {}|null|undefined>|undefined = callback
+    const wrappedCallback:
+      | Callback<
+          protos.google.cloud.sql.v1.IOperation,
+          | protos.google.cloud.sql.v1.ISqlDatabasesDeleteRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >
+      | undefined = callback
       ? (error, response, options, rawResponse) => {
           this._log.info('delete response %j', response);
           callback!(error, response, options, rawResponse); // We verified callback above.
         }
       : undefined;
-    return this.innerApiCalls.delete(request, options, wrappedCallback)
-      ?.then(([response, options, rawResponse]: [
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlDatabasesDeleteRequest|undefined,
-        {}|undefined
-      ]) => {
-        this._log.info('delete response %j', response);
-        return [response, options, rawResponse];
-      }).catch((error: any) => {
-        if (error && 'statusDetails' in error && error.statusDetails instanceof Array) {
-          const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type;
-          error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos);
+    return this.innerApiCalls
+      .delete(request, options, wrappedCallback)
+      ?.then(
+        ([response, options, rawResponse]: [
+          protos.google.cloud.sql.v1.IOperation,
+          protos.google.cloud.sql.v1.ISqlDatabasesDeleteRequest | undefined,
+          {} | undefined,
+        ]) => {
+          this._log.info('delete response %j', response);
+          return [response, options, rawResponse];
+        },
+      )
+      .catch((error: any) => {
+        if (
+          error &&
+          'statusDetails' in error &&
+          error.statusDetails instanceof Array
+        ) {
+          const protos = this._gaxModule.protobuf.Root.fromJSON(
+            jsonProtos,
+          ) as unknown as gax.protobuf.Type;
+          error.statusDetails = decodeAnyProtosInArray(
+            error.statusDetails,
+            protos,
+          );
         }
         throw error;
       });
   }
-/**
- * Retrieves a resource containing information about a database inside a Cloud
- * SQL instance.
- *
- * @param {Object} request
- *   The request object that will be sent.
- * @param {string} request.database
- *   Name of the database in the instance.
- * @param {string} request.instance
- *   Database instance ID. This does not include the project ID.
- * @param {string} request.project
- *   Project ID of the project that contains the instance.
- * @param {object} [options]
- *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
- * @returns {Promise} - The promise which resolves to an array.
- *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1.Database|Database}.
- *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
- *   for more details and examples.
- * @example <caption>include:samples/generated/v1/sql_databases_service.get.js</caption>
- * region_tag:sqladmin_v1_generated_SqlDatabasesService_Get_async
- */
+  /**
+   * Retrieves a resource containing information about a database inside a Cloud
+   * SQL instance.
+   *
+   * @param {Object} request
+   *   The request object that will be sent.
+   * @param {string} request.database
+   *   Name of the database in the instance.
+   * @param {string} request.instance
+   *   Database instance ID. This does not include the project ID.
+   * @param {string} request.project
+   *   Project ID of the project that contains the instance.
+   * @param {object} [options]
+   *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+   * @returns {Promise} - The promise which resolves to an array.
+   *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1.Database|Database}.
+   *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
+   *   for more details and examples.
+   * @example <caption>include:samples/generated/v1/sql_databases_service.get.js</caption>
+   * region_tag:sqladmin_v1_generated_SqlDatabasesService_Get_async
+   */
   get(
-      request?: protos.google.cloud.sql.v1.ISqlDatabasesGetRequest,
-      options?: CallOptions):
-      Promise<[
-        protos.google.cloud.sql.v1.IDatabase,
-        protos.google.cloud.sql.v1.ISqlDatabasesGetRequest|undefined, {}|undefined
-      ]>;
+    request?: protos.google.cloud.sql.v1.ISqlDatabasesGetRequest,
+    options?: CallOptions,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1.IDatabase,
+      protos.google.cloud.sql.v1.ISqlDatabasesGetRequest | undefined,
+      {} | undefined,
+    ]
+  >;
   get(
-      request: protos.google.cloud.sql.v1.ISqlDatabasesGetRequest,
-      options: CallOptions,
-      callback: Callback<
-          protos.google.cloud.sql.v1.IDatabase,
-          protos.google.cloud.sql.v1.ISqlDatabasesGetRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1.ISqlDatabasesGetRequest,
+    options: CallOptions,
+    callback: Callback<
+      protos.google.cloud.sql.v1.IDatabase,
+      protos.google.cloud.sql.v1.ISqlDatabasesGetRequest | null | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   get(
-      request: protos.google.cloud.sql.v1.ISqlDatabasesGetRequest,
-      callback: Callback<
-          protos.google.cloud.sql.v1.IDatabase,
-          protos.google.cloud.sql.v1.ISqlDatabasesGetRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1.ISqlDatabasesGetRequest,
+    callback: Callback<
+      protos.google.cloud.sql.v1.IDatabase,
+      protos.google.cloud.sql.v1.ISqlDatabasesGetRequest | null | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   get(
-      request?: protos.google.cloud.sql.v1.ISqlDatabasesGetRequest,
-      optionsOrCallback?: CallOptions|Callback<
-          protos.google.cloud.sql.v1.IDatabase,
-          protos.google.cloud.sql.v1.ISqlDatabasesGetRequest|null|undefined,
-          {}|null|undefined>,
-      callback?: Callback<
+    request?: protos.google.cloud.sql.v1.ISqlDatabasesGetRequest,
+    optionsOrCallback?:
+      | CallOptions
+      | Callback<
           protos.google.cloud.sql.v1.IDatabase,
-          protos.google.cloud.sql.v1.ISqlDatabasesGetRequest|null|undefined,
-          {}|null|undefined>):
-      Promise<[
-        protos.google.cloud.sql.v1.IDatabase,
-        protos.google.cloud.sql.v1.ISqlDatabasesGetRequest|undefined, {}|undefined
-      ]>|void {
+          protos.google.cloud.sql.v1.ISqlDatabasesGetRequest | null | undefined,
+          {} | null | undefined
+        >,
+    callback?: Callback<
+      protos.google.cloud.sql.v1.IDatabase,
+      protos.google.cloud.sql.v1.ISqlDatabasesGetRequest | null | undefined,
+      {} | null | undefined
+    >,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1.IDatabase,
+      protos.google.cloud.sql.v1.ISqlDatabasesGetRequest | undefined,
+      {} | undefined,
+    ]
+  > | void {
     request = request || {};
     let options: CallOptions;
     if (typeof optionsOrCallback === 'function' && callback === undefined) {
       callback = optionsOrCallback;
       options = {};
-    }
-    else {
+    } else {
       options = optionsOrCallback as CallOptions;
     }
     options = options || {};
     options.otherArgs = options.otherArgs || {};
     options.otherArgs.headers = options.otherArgs.headers || {};
-    options.otherArgs.headers[
-      'x-goog-request-params'
-    ] = this._gaxModule.routingHeader.fromParams({
-      'project': request.project ?? '',
-      'instance': request.instance ?? '',
-      'database': request.database ?? '',
+    options.otherArgs.headers['x-goog-request-params'] =
+      this._gaxModule.routingHeader.fromParams({
+        project: request.project ?? '',
+        instance: request.instance ?? '',
+        database: request.database ?? '',
+      });
+    this.initialize().catch((err) => {
+      throw err;
     });
-    this.initialize().catch(err => {throw err});
     this._log.info('get request %j', request);
-    const wrappedCallback: Callback<
-        protos.google.cloud.sql.v1.IDatabase,
-        protos.google.cloud.sql.v1.ISqlDatabasesGetRequest|null|undefined,
-        {}|null|undefined>|undefined = callback
+    const wrappedCallback:
+      | Callback<
+          protos.google.cloud.sql.v1.IDatabase,
+          protos.google.cloud.sql.v1.ISqlDatabasesGetRequest | null | undefined,
+          {} | null | undefined
+        >
+      | undefined = callback
       ? (error, response, options, rawResponse) => {
           this._log.info('get response %j', response);
           callback!(error, response, options, rawResponse); // We verified callback above.
         }
       : undefined;
-    return this.innerApiCalls.get(request, options, wrappedCallback)
-      ?.then(([response, options, rawResponse]: [
-        protos.google.cloud.sql.v1.IDatabase,
-        protos.google.cloud.sql.v1.ISqlDatabasesGetRequest|undefined,
-        {}|undefined
-      ]) => {
-        this._log.info('get response %j', response);
-        return [response, options, rawResponse];
-      }).catch((error: any) => {
-        if (error && 'statusDetails' in error && error.statusDetails instanceof Array) {
-          const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type;
-          error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos);
+    return this.innerApiCalls
+      .get(request, options, wrappedCallback)
+      ?.then(
+        ([response, options, rawResponse]: [
+          protos.google.cloud.sql.v1.IDatabase,
+          protos.google.cloud.sql.v1.ISqlDatabasesGetRequest | undefined,
+          {} | undefined,
+        ]) => {
+          this._log.info('get response %j', response);
+          return [response, options, rawResponse];
+        },
+      )
+      .catch((error: any) => {
+        if (
+          error &&
+          'statusDetails' in error &&
+          error.statusDetails instanceof Array
+        ) {
+          const protos = this._gaxModule.protobuf.Root.fromJSON(
+            jsonProtos,
+          ) as unknown as gax.protobuf.Type;
+          error.statusDetails = decodeAnyProtosInArray(
+            error.statusDetails,
+            protos,
+          );
         }
         throw error;
       });
   }
-/**
- * Inserts a resource containing information about a database inside a Cloud
- * SQL instance.
- *
- * **Note:** You can't modify the default character set and collation.
- *
- * @param {Object} request
- *   The request object that will be sent.
- * @param {string} request.instance
- *   Database instance ID. This does not include the project ID.
- * @param {string} request.project
- *   Project ID of the project that contains the instance.
- * @param {google.cloud.sql.v1.Database} request.body
- * @param {object} [options]
- *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
- * @returns {Promise} - The promise which resolves to an array.
- *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1.Operation|Operation}.
- *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
- *   for more details and examples.
- * @example <caption>include:samples/generated/v1/sql_databases_service.insert.js</caption>
- * region_tag:sqladmin_v1_generated_SqlDatabasesService_Insert_async
- */
+  /**
+   * Inserts a resource containing information about a database inside a Cloud
+   * SQL instance.
+   *
+   * **Note:** You can't modify the default character set and collation.
+   *
+   * @param {Object} request
+   *   The request object that will be sent.
+   * @param {string} request.instance
+   *   Database instance ID. This does not include the project ID.
+   * @param {string} request.project
+   *   Project ID of the project that contains the instance.
+   * @param {google.cloud.sql.v1.Database} request.body
+   * @param {object} [options]
+   *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+   * @returns {Promise} - The promise which resolves to an array.
+   *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1.Operation|Operation}.
+   *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
+   *   for more details and examples.
+   * @example <caption>include:samples/generated/v1/sql_databases_service.insert.js</caption>
+   * region_tag:sqladmin_v1_generated_SqlDatabasesService_Insert_async
+   */
   insert(
-      request?: protos.google.cloud.sql.v1.ISqlDatabasesInsertRequest,
-      options?: CallOptions):
-      Promise<[
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlDatabasesInsertRequest|undefined, {}|undefined
-      ]>;
+    request?: protos.google.cloud.sql.v1.ISqlDatabasesInsertRequest,
+    options?: CallOptions,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1.IOperation,
+      protos.google.cloud.sql.v1.ISqlDatabasesInsertRequest | undefined,
+      {} | undefined,
+    ]
+  >;
   insert(
-      request: protos.google.cloud.sql.v1.ISqlDatabasesInsertRequest,
-      options: CallOptions,
-      callback: Callback<
-          protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlDatabasesInsertRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1.ISqlDatabasesInsertRequest,
+    options: CallOptions,
+    callback: Callback<
+      protos.google.cloud.sql.v1.IOperation,
+      protos.google.cloud.sql.v1.ISqlDatabasesInsertRequest | null | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   insert(
-      request: protos.google.cloud.sql.v1.ISqlDatabasesInsertRequest,
-      callback: Callback<
-          protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlDatabasesInsertRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1.ISqlDatabasesInsertRequest,
+    callback: Callback<
+      protos.google.cloud.sql.v1.IOperation,
+      protos.google.cloud.sql.v1.ISqlDatabasesInsertRequest | null | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   insert(
-      request?: protos.google.cloud.sql.v1.ISqlDatabasesInsertRequest,
-      optionsOrCallback?: CallOptions|Callback<
-          protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlDatabasesInsertRequest|null|undefined,
-          {}|null|undefined>,
-      callback?: Callback<
+    request?: protos.google.cloud.sql.v1.ISqlDatabasesInsertRequest,
+    optionsOrCallback?:
+      | CallOptions
+      | Callback<
           protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlDatabasesInsertRequest|null|undefined,
-          {}|null|undefined>):
-      Promise<[
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlDatabasesInsertRequest|undefined, {}|undefined
-      ]>|void {
+          | protos.google.cloud.sql.v1.ISqlDatabasesInsertRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >,
+    callback?: Callback<
+      protos.google.cloud.sql.v1.IOperation,
+      protos.google.cloud.sql.v1.ISqlDatabasesInsertRequest | null | undefined,
+      {} | null | undefined
+    >,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1.IOperation,
+      protos.google.cloud.sql.v1.ISqlDatabasesInsertRequest | undefined,
+      {} | undefined,
+    ]
+  > | void {
     request = request || {};
     let options: CallOptions;
     if (typeof optionsOrCallback === 'function' && callback === undefined) {
       callback = optionsOrCallback;
       options = {};
-    }
-    else {
+    } else {
       options = optionsOrCallback as CallOptions;
     }
     options = options || {};
     options.otherArgs = options.otherArgs || {};
     options.otherArgs.headers = options.otherArgs.headers || {};
-    options.otherArgs.headers[
-      'x-goog-request-params'
-    ] = this._gaxModule.routingHeader.fromParams({
-      'project': request.project ?? '',
-      'instance': request.instance ?? '',
+    options.otherArgs.headers['x-goog-request-params'] =
+      this._gaxModule.routingHeader.fromParams({
+        project: request.project ?? '',
+        instance: request.instance ?? '',
+      });
+    this.initialize().catch((err) => {
+      throw err;
     });
-    this.initialize().catch(err => {throw err});
     this._log.info('insert request %j', request);
-    const wrappedCallback: Callback<
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlDatabasesInsertRequest|null|undefined,
-        {}|null|undefined>|undefined = callback
+    const wrappedCallback:
+      | Callback<
+          protos.google.cloud.sql.v1.IOperation,
+          | protos.google.cloud.sql.v1.ISqlDatabasesInsertRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >
+      | undefined = callback
       ? (error, response, options, rawResponse) => {
           this._log.info('insert response %j', response);
           callback!(error, response, options, rawResponse); // We verified callback above.
         }
       : undefined;
-    return this.innerApiCalls.insert(request, options, wrappedCallback)
-      ?.then(([response, options, rawResponse]: [
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlDatabasesInsertRequest|undefined,
-        {}|undefined
-      ]) => {
-        this._log.info('insert response %j', response);
-        return [response, options, rawResponse];
-      }).catch((error: any) => {
-        if (error && 'statusDetails' in error && error.statusDetails instanceof Array) {
-          const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type;
-          error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos);
+    return this.innerApiCalls
+      .insert(request, options, wrappedCallback)
+      ?.then(
+        ([response, options, rawResponse]: [
+          protos.google.cloud.sql.v1.IOperation,
+          protos.google.cloud.sql.v1.ISqlDatabasesInsertRequest | undefined,
+          {} | undefined,
+        ]) => {
+          this._log.info('insert response %j', response);
+          return [response, options, rawResponse];
+        },
+      )
+      .catch((error: any) => {
+        if (
+          error &&
+          'statusDetails' in error &&
+          error.statusDetails instanceof Array
+        ) {
+          const protos = this._gaxModule.protobuf.Root.fromJSON(
+            jsonProtos,
+          ) as unknown as gax.protobuf.Type;
+          error.statusDetails = decodeAnyProtosInArray(
+            error.statusDetails,
+            protos,
+          );
         }
         throw error;
       });
   }
-/**
- * Lists databases in the specified Cloud SQL instance.
- *
- * @param {Object} request
- *   The request object that will be sent.
- * @param {string} request.instance
- *   Cloud SQL instance ID. This does not include the project ID.
- * @param {string} request.project
- *   Project ID of the project that contains the instance.
- * @param {object} [options]
- *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
- * @returns {Promise} - The promise which resolves to an array.
- *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1.DatabasesListResponse|DatabasesListResponse}.
- *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
- *   for more details and examples.
- * @example <caption>include:samples/generated/v1/sql_databases_service.list.js</caption>
- * region_tag:sqladmin_v1_generated_SqlDatabasesService_List_async
- */
+  /**
+   * Lists databases in the specified Cloud SQL instance.
+   *
+   * @param {Object} request
+   *   The request object that will be sent.
+   * @param {string} request.instance
+   *   Cloud SQL instance ID. This does not include the project ID.
+   * @param {string} request.project
+   *   Project ID of the project that contains the instance.
+   * @param {object} [options]
+   *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+   * @returns {Promise} - The promise which resolves to an array.
+   *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1.DatabasesListResponse|DatabasesListResponse}.
+   *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
+   *   for more details and examples.
+   * @example <caption>include:samples/generated/v1/sql_databases_service.list.js</caption>
+   * region_tag:sqladmin_v1_generated_SqlDatabasesService_List_async
+   */
   list(
-      request?: protos.google.cloud.sql.v1.ISqlDatabasesListRequest,
-      options?: CallOptions):
-      Promise<[
-        protos.google.cloud.sql.v1.IDatabasesListResponse,
-        protos.google.cloud.sql.v1.ISqlDatabasesListRequest|undefined, {}|undefined
-      ]>;
+    request?: protos.google.cloud.sql.v1.ISqlDatabasesListRequest,
+    options?: CallOptions,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1.IDatabasesListResponse,
+      protos.google.cloud.sql.v1.ISqlDatabasesListRequest | undefined,
+      {} | undefined,
+    ]
+  >;
   list(
-      request: protos.google.cloud.sql.v1.ISqlDatabasesListRequest,
-      options: CallOptions,
-      callback: Callback<
-          protos.google.cloud.sql.v1.IDatabasesListResponse,
-          protos.google.cloud.sql.v1.ISqlDatabasesListRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1.ISqlDatabasesListRequest,
+    options: CallOptions,
+    callback: Callback<
+      protos.google.cloud.sql.v1.IDatabasesListResponse,
+      protos.google.cloud.sql.v1.ISqlDatabasesListRequest | null | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   list(
-      request: protos.google.cloud.sql.v1.ISqlDatabasesListRequest,
-      callback: Callback<
-          protos.google.cloud.sql.v1.IDatabasesListResponse,
-          protos.google.cloud.sql.v1.ISqlDatabasesListRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1.ISqlDatabasesListRequest,
+    callback: Callback<
+      protos.google.cloud.sql.v1.IDatabasesListResponse,
+      protos.google.cloud.sql.v1.ISqlDatabasesListRequest | null | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   list(
-      request?: protos.google.cloud.sql.v1.ISqlDatabasesListRequest,
-      optionsOrCallback?: CallOptions|Callback<
-          protos.google.cloud.sql.v1.IDatabasesListResponse,
-          protos.google.cloud.sql.v1.ISqlDatabasesListRequest|null|undefined,
-          {}|null|undefined>,
-      callback?: Callback<
+    request?: protos.google.cloud.sql.v1.ISqlDatabasesListRequest,
+    optionsOrCallback?:
+      | CallOptions
+      | Callback<
           protos.google.cloud.sql.v1.IDatabasesListResponse,
-          protos.google.cloud.sql.v1.ISqlDatabasesListRequest|null|undefined,
-          {}|null|undefined>):
-      Promise<[
-        protos.google.cloud.sql.v1.IDatabasesListResponse,
-        protos.google.cloud.sql.v1.ISqlDatabasesListRequest|undefined, {}|undefined
-      ]>|void {
+          | protos.google.cloud.sql.v1.ISqlDatabasesListRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >,
+    callback?: Callback<
+      protos.google.cloud.sql.v1.IDatabasesListResponse,
+      protos.google.cloud.sql.v1.ISqlDatabasesListRequest | null | undefined,
+      {} | null | undefined
+    >,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1.IDatabasesListResponse,
+      protos.google.cloud.sql.v1.ISqlDatabasesListRequest | undefined,
+      {} | undefined,
+    ]
+  > | void {
     request = request || {};
     let options: CallOptions;
     if (typeof optionsOrCallback === 'function' && callback === undefined) {
       callback = optionsOrCallback;
       options = {};
-    }
-    else {
+    } else {
       options = optionsOrCallback as CallOptions;
     }
     options = options || {};
     options.otherArgs = options.otherArgs || {};
     options.otherArgs.headers = options.otherArgs.headers || {};
-    options.otherArgs.headers[
-      'x-goog-request-params'
-    ] = this._gaxModule.routingHeader.fromParams({
-      'project': request.project ?? '',
-      'instance': request.instance ?? '',
+    options.otherArgs.headers['x-goog-request-params'] =
+      this._gaxModule.routingHeader.fromParams({
+        project: request.project ?? '',
+        instance: request.instance ?? '',
+      });
+    this.initialize().catch((err) => {
+      throw err;
     });
-    this.initialize().catch(err => {throw err});
     this._log.info('list request %j', request);
-    const wrappedCallback: Callback<
-        protos.google.cloud.sql.v1.IDatabasesListResponse,
-        protos.google.cloud.sql.v1.ISqlDatabasesListRequest|null|undefined,
-        {}|null|undefined>|undefined = callback
+    const wrappedCallback:
+      | Callback<
+          protos.google.cloud.sql.v1.IDatabasesListResponse,
+          | protos.google.cloud.sql.v1.ISqlDatabasesListRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >
+      | undefined = callback
       ? (error, response, options, rawResponse) => {
           this._log.info('list response %j', response);
           callback!(error, response, options, rawResponse); // We verified callback above.
         }
       : undefined;
-    return this.innerApiCalls.list(request, options, wrappedCallback)
-      ?.then(([response, options, rawResponse]: [
-        protos.google.cloud.sql.v1.IDatabasesListResponse,
-        protos.google.cloud.sql.v1.ISqlDatabasesListRequest|undefined,
-        {}|undefined
-      ]) => {
-        this._log.info('list response %j', response);
-        return [response, options, rawResponse];
-      }).catch((error: any) => {
-        if (error && 'statusDetails' in error && error.statusDetails instanceof Array) {
-          const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type;
-          error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos);
+    return this.innerApiCalls
+      .list(request, options, wrappedCallback)
+      ?.then(
+        ([response, options, rawResponse]: [
+          protos.google.cloud.sql.v1.IDatabasesListResponse,
+          protos.google.cloud.sql.v1.ISqlDatabasesListRequest | undefined,
+          {} | undefined,
+        ]) => {
+          this._log.info('list response %j', response);
+          return [response, options, rawResponse];
+        },
+      )
+      .catch((error: any) => {
+        if (
+          error &&
+          'statusDetails' in error &&
+          error.statusDetails instanceof Array
+        ) {
+          const protos = this._gaxModule.protobuf.Root.fromJSON(
+            jsonProtos,
+          ) as unknown as gax.protobuf.Type;
+          error.statusDetails = decodeAnyProtosInArray(
+            error.statusDetails,
+            protos,
+          );
         }
         throw error;
       });
   }
-/**
- * Partially updates a resource containing information about a database inside
- * a Cloud SQL instance. This method supports patch semantics.
- *
- * @param {Object} request
- *   The request object that will be sent.
- * @param {string} request.database
- *   Name of the database to be updated in the instance.
- * @param {string} request.instance
- *   Database instance ID. This does not include the project ID.
- * @param {string} request.project
- *   Project ID of the project that contains the instance.
- * @param {google.cloud.sql.v1.Database} request.body
- * @param {object} [options]
- *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
- * @returns {Promise} - The promise which resolves to an array.
- *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1.Operation|Operation}.
- *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
- *   for more details and examples.
- * @example <caption>include:samples/generated/v1/sql_databases_service.patch.js</caption>
- * region_tag:sqladmin_v1_generated_SqlDatabasesService_Patch_async
- */
+  /**
+   * Partially updates a resource containing information about a database inside
+   * a Cloud SQL instance. This method supports patch semantics.
+   *
+   * @param {Object} request
+   *   The request object that will be sent.
+   * @param {string} request.database
+   *   Name of the database to be updated in the instance.
+   * @param {string} request.instance
+   *   Database instance ID. This does not include the project ID.
+   * @param {string} request.project
+   *   Project ID of the project that contains the instance.
+   * @param {google.cloud.sql.v1.Database} request.body
+   * @param {object} [options]
+   *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+   * @returns {Promise} - The promise which resolves to an array.
+   *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1.Operation|Operation}.
+   *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
+   *   for more details and examples.
+   * @example <caption>include:samples/generated/v1/sql_databases_service.patch.js</caption>
+   * region_tag:sqladmin_v1_generated_SqlDatabasesService_Patch_async
+   */
   patch(
-      request?: protos.google.cloud.sql.v1.ISqlDatabasesUpdateRequest,
-      options?: CallOptions):
-      Promise<[
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlDatabasesUpdateRequest|undefined, {}|undefined
-      ]>;
+    request?: protos.google.cloud.sql.v1.ISqlDatabasesUpdateRequest,
+    options?: CallOptions,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1.IOperation,
+      protos.google.cloud.sql.v1.ISqlDatabasesUpdateRequest | undefined,
+      {} | undefined,
+    ]
+  >;
   patch(
-      request: protos.google.cloud.sql.v1.ISqlDatabasesUpdateRequest,
-      options: CallOptions,
-      callback: Callback<
-          protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlDatabasesUpdateRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1.ISqlDatabasesUpdateRequest,
+    options: CallOptions,
+    callback: Callback<
+      protos.google.cloud.sql.v1.IOperation,
+      protos.google.cloud.sql.v1.ISqlDatabasesUpdateRequest | null | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   patch(
-      request: protos.google.cloud.sql.v1.ISqlDatabasesUpdateRequest,
-      callback: Callback<
-          protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlDatabasesUpdateRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1.ISqlDatabasesUpdateRequest,
+    callback: Callback<
+      protos.google.cloud.sql.v1.IOperation,
+      protos.google.cloud.sql.v1.ISqlDatabasesUpdateRequest | null | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   patch(
-      request?: protos.google.cloud.sql.v1.ISqlDatabasesUpdateRequest,
-      optionsOrCallback?: CallOptions|Callback<
-          protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlDatabasesUpdateRequest|null|undefined,
-          {}|null|undefined>,
-      callback?: Callback<
+    request?: protos.google.cloud.sql.v1.ISqlDatabasesUpdateRequest,
+    optionsOrCallback?:
+      | CallOptions
+      | Callback<
           protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlDatabasesUpdateRequest|null|undefined,
-          {}|null|undefined>):
-      Promise<[
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlDatabasesUpdateRequest|undefined, {}|undefined
-      ]>|void {
+          | protos.google.cloud.sql.v1.ISqlDatabasesUpdateRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >,
+    callback?: Callback<
+      protos.google.cloud.sql.v1.IOperation,
+      protos.google.cloud.sql.v1.ISqlDatabasesUpdateRequest | null | undefined,
+      {} | null | undefined
+    >,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1.IOperation,
+      protos.google.cloud.sql.v1.ISqlDatabasesUpdateRequest | undefined,
+      {} | undefined,
+    ]
+  > | void {
     request = request || {};
     let options: CallOptions;
     if (typeof optionsOrCallback === 'function' && callback === undefined) {
       callback = optionsOrCallback;
       options = {};
-    }
-    else {
+    } else {
       options = optionsOrCallback as CallOptions;
     }
     options = options || {};
     options.otherArgs = options.otherArgs || {};
     options.otherArgs.headers = options.otherArgs.headers || {};
-    options.otherArgs.headers[
-      'x-goog-request-params'
-    ] = this._gaxModule.routingHeader.fromParams({
-      'project': request.project ?? '',
-      'instance': request.instance ?? '',
-      'database': request.database ?? '',
+    options.otherArgs.headers['x-goog-request-params'] =
+      this._gaxModule.routingHeader.fromParams({
+        project: request.project ?? '',
+        instance: request.instance ?? '',
+        database: request.database ?? '',
+      });
+    this.initialize().catch((err) => {
+      throw err;
     });
-    this.initialize().catch(err => {throw err});
     this._log.info('patch request %j', request);
-    const wrappedCallback: Callback<
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlDatabasesUpdateRequest|null|undefined,
-        {}|null|undefined>|undefined = callback
+    const wrappedCallback:
+      | Callback<
+          protos.google.cloud.sql.v1.IOperation,
+          | protos.google.cloud.sql.v1.ISqlDatabasesUpdateRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >
+      | undefined = callback
       ? (error, response, options, rawResponse) => {
           this._log.info('patch response %j', response);
           callback!(error, response, options, rawResponse); // We verified callback above.
         }
       : undefined;
-    return this.innerApiCalls.patch(request, options, wrappedCallback)
-      ?.then(([response, options, rawResponse]: [
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlDatabasesUpdateRequest|undefined,
-        {}|undefined
-      ]) => {
-        this._log.info('patch response %j', response);
-        return [response, options, rawResponse];
-      }).catch((error: any) => {
-        if (error && 'statusDetails' in error && error.statusDetails instanceof Array) {
-          const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type;
-          error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos);
+    return this.innerApiCalls
+      .patch(request, options, wrappedCallback)
+      ?.then(
+        ([response, options, rawResponse]: [
+          protos.google.cloud.sql.v1.IOperation,
+          protos.google.cloud.sql.v1.ISqlDatabasesUpdateRequest | undefined,
+          {} | undefined,
+        ]) => {
+          this._log.info('patch response %j', response);
+          return [response, options, rawResponse];
+        },
+      )
+      .catch((error: any) => {
+        if (
+          error &&
+          'statusDetails' in error &&
+          error.statusDetails instanceof Array
+        ) {
+          const protos = this._gaxModule.protobuf.Root.fromJSON(
+            jsonProtos,
+          ) as unknown as gax.protobuf.Type;
+          error.statusDetails = decodeAnyProtosInArray(
+            error.statusDetails,
+            protos,
+          );
         }
         throw error;
       });
   }
-/**
- * Updates a resource containing information about a database inside a Cloud
- * SQL instance.
- *
- * @param {Object} request
- *   The request object that will be sent.
- * @param {string} request.database
- *   Name of the database to be updated in the instance.
- * @param {string} request.instance
- *   Database instance ID. This does not include the project ID.
- * @param {string} request.project
- *   Project ID of the project that contains the instance.
- * @param {google.cloud.sql.v1.Database} request.body
- * @param {object} [options]
- *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
- * @returns {Promise} - The promise which resolves to an array.
- *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1.Operation|Operation}.
- *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
- *   for more details and examples.
- * @example <caption>include:samples/generated/v1/sql_databases_service.update.js</caption>
- * region_tag:sqladmin_v1_generated_SqlDatabasesService_Update_async
- */
+  /**
+   * Updates a resource containing information about a database inside a Cloud
+   * SQL instance.
+   *
+   * @param {Object} request
+   *   The request object that will be sent.
+   * @param {string} request.database
+   *   Name of the database to be updated in the instance.
+   * @param {string} request.instance
+   *   Database instance ID. This does not include the project ID.
+   * @param {string} request.project
+   *   Project ID of the project that contains the instance.
+   * @param {google.cloud.sql.v1.Database} request.body
+   * @param {object} [options]
+   *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+   * @returns {Promise} - The promise which resolves to an array.
+   *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1.Operation|Operation}.
+   *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
+   *   for more details and examples.
+   * @example <caption>include:samples/generated/v1/sql_databases_service.update.js</caption>
+   * region_tag:sqladmin_v1_generated_SqlDatabasesService_Update_async
+   */
   update(
-      request?: protos.google.cloud.sql.v1.ISqlDatabasesUpdateRequest,
-      options?: CallOptions):
-      Promise<[
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlDatabasesUpdateRequest|undefined, {}|undefined
-      ]>;
+    request?: protos.google.cloud.sql.v1.ISqlDatabasesUpdateRequest,
+    options?: CallOptions,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1.IOperation,
+      protos.google.cloud.sql.v1.ISqlDatabasesUpdateRequest | undefined,
+      {} | undefined,
+    ]
+  >;
   update(
-      request: protos.google.cloud.sql.v1.ISqlDatabasesUpdateRequest,
-      options: CallOptions,
-      callback: Callback<
-          protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlDatabasesUpdateRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1.ISqlDatabasesUpdateRequest,
+    options: CallOptions,
+    callback: Callback<
+      protos.google.cloud.sql.v1.IOperation,
+      protos.google.cloud.sql.v1.ISqlDatabasesUpdateRequest | null | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   update(
-      request: protos.google.cloud.sql.v1.ISqlDatabasesUpdateRequest,
-      callback: Callback<
-          protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlDatabasesUpdateRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1.ISqlDatabasesUpdateRequest,
+    callback: Callback<
+      protos.google.cloud.sql.v1.IOperation,
+      protos.google.cloud.sql.v1.ISqlDatabasesUpdateRequest | null | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   update(
-      request?: protos.google.cloud.sql.v1.ISqlDatabasesUpdateRequest,
-      optionsOrCallback?: CallOptions|Callback<
-          protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlDatabasesUpdateRequest|null|undefined,
-          {}|null|undefined>,
-      callback?: Callback<
+    request?: protos.google.cloud.sql.v1.ISqlDatabasesUpdateRequest,
+    optionsOrCallback?:
+      | CallOptions
+      | Callback<
           protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlDatabasesUpdateRequest|null|undefined,
-          {}|null|undefined>):
-      Promise<[
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlDatabasesUpdateRequest|undefined, {}|undefined
-      ]>|void {
+          | protos.google.cloud.sql.v1.ISqlDatabasesUpdateRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >,
+    callback?: Callback<
+      protos.google.cloud.sql.v1.IOperation,
+      protos.google.cloud.sql.v1.ISqlDatabasesUpdateRequest | null | undefined,
+      {} | null | undefined
+    >,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1.IOperation,
+      protos.google.cloud.sql.v1.ISqlDatabasesUpdateRequest | undefined,
+      {} | undefined,
+    ]
+  > | void {
     request = request || {};
     let options: CallOptions;
     if (typeof optionsOrCallback === 'function' && callback === undefined) {
       callback = optionsOrCallback;
       options = {};
-    }
-    else {
+    } else {
       options = optionsOrCallback as CallOptions;
     }
     options = options || {};
     options.otherArgs = options.otherArgs || {};
     options.otherArgs.headers = options.otherArgs.headers || {};
-    options.otherArgs.headers[
-      'x-goog-request-params'
-    ] = this._gaxModule.routingHeader.fromParams({
-      'project': request.project ?? '',
-      'instance': request.instance ?? '',
-      'database': request.database ?? '',
+    options.otherArgs.headers['x-goog-request-params'] =
+      this._gaxModule.routingHeader.fromParams({
+        project: request.project ?? '',
+        instance: request.instance ?? '',
+        database: request.database ?? '',
+      });
+    this.initialize().catch((err) => {
+      throw err;
     });
-    this.initialize().catch(err => {throw err});
     this._log.info('update request %j', request);
-    const wrappedCallback: Callback<
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlDatabasesUpdateRequest|null|undefined,
-        {}|null|undefined>|undefined = callback
+    const wrappedCallback:
+      | Callback<
+          protos.google.cloud.sql.v1.IOperation,
+          | protos.google.cloud.sql.v1.ISqlDatabasesUpdateRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >
+      | undefined = callback
       ? (error, response, options, rawResponse) => {
           this._log.info('update response %j', response);
           callback!(error, response, options, rawResponse); // We verified callback above.
         }
       : undefined;
-    return this.innerApiCalls.update(request, options, wrappedCallback)
-      ?.then(([response, options, rawResponse]: [
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlDatabasesUpdateRequest|undefined,
-        {}|undefined
-      ]) => {
-        this._log.info('update response %j', response);
-        return [response, options, rawResponse];
-      }).catch((error: any) => {
-        if (error && 'statusDetails' in error && error.statusDetails instanceof Array) {
-          const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type;
-          error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos);
+    return this.innerApiCalls
+      .update(request, options, wrappedCallback)
+      ?.then(
+        ([response, options, rawResponse]: [
+          protos.google.cloud.sql.v1.IOperation,
+          protos.google.cloud.sql.v1.ISqlDatabasesUpdateRequest | undefined,
+          {} | undefined,
+        ]) => {
+          this._log.info('update response %j', response);
+          return [response, options, rawResponse];
+        },
+      )
+      .catch((error: any) => {
+        if (
+          error &&
+          'statusDetails' in error &&
+          error.statusDetails instanceof Array
+        ) {
+          const protos = this._gaxModule.protobuf.Root.fromJSON(
+            jsonProtos,
+          ) as unknown as gax.protobuf.Type;
+          error.statusDetails = decodeAnyProtosInArray(
+            error.statusDetails,
+            protos,
+          );
         }
         throw error;
       });
   }
 
-/**
+  /**
    * Gets information about a location.
    *
    * @param {Object} request
@@ -973,12 +1224,11 @@ export class SqlDatabasesServiceClient {
       | null
       | undefined,
       {} | null | undefined
-    >
+    >,
   ): Promise<LocationProtos.google.cloud.location.ILocation> {
     return this.locationsClient.getLocation(request, options, callback);
   }
-
-/**
+  /**
    * Lists information about the supported locations for this service. Returns an iterable object.
    *
    * `for`-`await`-`of` syntax is used with the iterable to get response elements on-demand.
@@ -1011,7 +1261,7 @@ export class SqlDatabasesServiceClient {
    */
   listLocationsAsync(
     request: LocationProtos.google.cloud.location.IListLocationsRequest,
-    options?: CallOptions
+    options?: CallOptions,
   ): AsyncIterable<LocationProtos.google.cloud.location.ILocation> {
     return this.locationsClient.listLocationsAsync(request, options);
   }
@@ -1027,7 +1277,7 @@ export class SqlDatabasesServiceClient {
    * @param {string} backup
    * @returns {string} Resource name string.
    */
-  backupPath(project:string,backup:string) {
+  backupPath(project: string, backup: string) {
     return this.pathTemplates.backupPathTemplate.render({
       project: project,
       backup: backup,
@@ -1064,13 +1314,15 @@ export class SqlDatabasesServiceClient {
    */
   close(): Promise<void> {
     if (this.sqlDatabasesServiceStub && !this._terminated) {
-      return this.sqlDatabasesServiceStub.then(stub => {
+      return this.sqlDatabasesServiceStub.then((stub) => {
         this._log.info('ending gRPC channel');
         this._terminated = true;
         stub.close();
-        this.locationsClient.close().catch(err => {throw err});
+        this.locationsClient.close().catch((err) => {
+          throw err;
+        });
       });
     }
     return Promise.resolve();
   }
-}
\ No newline at end of file
+}
diff --git a/packages/google-cloud-sql/src/v1/sql_feature_eligibility_service_client.ts b/packages/google-cloud-sql/src/v1/sql_feature_eligibility_service_client.ts
index 15082a1ebb78..55b053d0a121 100644
--- a/packages/google-cloud-sql/src/v1/sql_feature_eligibility_service_client.ts
+++ b/packages/google-cloud-sql/src/v1/sql_feature_eligibility_service_client.ts
@@ -18,11 +18,18 @@
 
 /* global window */
 import type * as gax from 'google-gax';
-import type {Callback, CallOptions, Descriptors, ClientOptions, LocationsClient, LocationProtos} from 'google-gax';
+import type {
+  Callback,
+  CallOptions,
+  Descriptors,
+  ClientOptions,
+  LocationsClient,
+  LocationProtos,
+} from 'google-gax';
 
 import * as protos from '../../protos/protos';
 import jsonProtos = require('../../protos/protos.json');
-import {loggingUtils as logging, decodeAnyProtosInArray} from 'google-gax';
+import { loggingUtils as logging, decodeAnyProtosInArray } from 'google-gax';
 
 /**
  * Client JSON configuration object, loaded from
@@ -44,7 +51,7 @@ export class SqlFeatureEligibilityServiceClient {
   private _gaxModule: typeof gax | typeof gax.fallback;
   private _gaxGrpc: gax.GrpcClient | gax.fallback.GrpcClient;
   private _protos: {};
-  private _defaults: {[method: string]: gax.CallSettings};
+  private _defaults: { [method: string]: gax.CallSettings };
   private _universeDomain: string;
   private _servicePath: string;
   private _log = logging.log('sql');
@@ -57,10 +64,10 @@ export class SqlFeatureEligibilityServiceClient {
     batching: {},
   };
   warn: (code: string, message: string, warnType?: string) => void;
-  innerApiCalls: {[name: string]: Function};
+  innerApiCalls: { [name: string]: Function };
   locationsClient: LocationsClient;
-  pathTemplates: {[name: string]: gax.PathTemplate};
-  sqlFeatureEligibilityServiceStub?: Promise<{[name: string]: Function}>;
+  pathTemplates: { [name: string]: gax.PathTemplate };
+  sqlFeatureEligibilityServiceStub?: Promise<{ [name: string]: Function }>;
 
   /**
    * Construct an instance of SqlFeatureEligibilityServiceClient.
@@ -101,21 +108,43 @@ export class SqlFeatureEligibilityServiceClient {
    *     const client = new SqlFeatureEligibilityServiceClient({fallback: true}, gax);
    *     ```
    */
-  constructor(opts?: ClientOptions, gaxInstance?: typeof gax | typeof gax.fallback) {
+  constructor(
+    opts?: ClientOptions,
+    gaxInstance?: typeof gax | typeof gax.fallback,
+  ) {
     // Ensure that options include all the required fields.
-    const staticMembers = this.constructor as typeof SqlFeatureEligibilityServiceClient;
-    if (opts?.universe_domain && opts?.universeDomain && opts?.universe_domain !== opts?.universeDomain) {
-      throw new Error('Please set either universe_domain or universeDomain, but not both.');
+    const staticMembers = this
+      .constructor as typeof SqlFeatureEligibilityServiceClient;
+    if (
+      opts?.universe_domain &&
+      opts?.universeDomain &&
+      opts?.universe_domain !== opts?.universeDomain
+    ) {
+      throw new Error(
+        'Please set either universe_domain or universeDomain, but not both.',
+      );
     }
-    const universeDomainEnvVar = (typeof process === 'object' && typeof process.env === 'object') ? process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] : undefined;
-    this._universeDomain = opts?.universeDomain ?? opts?.universe_domain ?? universeDomainEnvVar ?? 'googleapis.com';
+    const universeDomainEnvVar =
+      typeof process === 'object' && typeof process.env === 'object'
+        ? process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN']
+        : undefined;
+    this._universeDomain =
+      opts?.universeDomain ??
+      opts?.universe_domain ??
+      universeDomainEnvVar ??
+      'googleapis.com';
     this._servicePath = 'sqladmin.' + this._universeDomain;
-    const servicePath = opts?.servicePath || opts?.apiEndpoint || this._servicePath;
-    this._providedCustomServicePath = !!(opts?.servicePath || opts?.apiEndpoint);
+    const servicePath =
+      opts?.servicePath || opts?.apiEndpoint || this._servicePath;
+    this._providedCustomServicePath = !!(
+      opts?.servicePath || opts?.apiEndpoint
+    );
     const port = opts?.port || staticMembers.port;
     const clientConfig = opts?.clientConfig ?? {};
-    const fallback = opts?.fallback ?? (typeof window !== 'undefined' && typeof window?.fetch === 'function');
-    opts = Object.assign({servicePath, port, clientConfig, fallback}, opts);
+    const fallback =
+      opts?.fallback ??
+      (typeof window !== 'undefined' && typeof window?.fetch === 'function');
+    opts = Object.assign({ servicePath, port, clientConfig, fallback }, opts);
 
     // Request numeric enum values if REST transport is used.
     opts.numericEnums = true;
@@ -140,7 +169,7 @@ export class SqlFeatureEligibilityServiceClient {
     this._opts = opts;
 
     // Save the auth object to the client, for use by other methods.
-    this.auth = (this._gaxGrpc.auth as gax.GoogleAuth);
+    this.auth = this._gaxGrpc.auth as gax.GoogleAuth;
 
     // Set useJWTAccessWithScope on the auth object.
     this.auth.useJWTAccessWithScope = true;
@@ -154,15 +183,11 @@ export class SqlFeatureEligibilityServiceClient {
     }
     this.locationsClient = new this._gaxModule.LocationsClient(
       this._gaxGrpc,
-      opts
+      opts,
     );
-  
 
     // Determine the client header string.
-    const clientHeader = [
-      `gax/${this._gaxModule.version}`,
-      `gapic/${version}`,
-    ];
+    const clientHeader = [`gax/${this._gaxModule.version}`, `gapic/${version}`];
     if (typeof process === 'object' && 'versions' in process) {
       clientHeader.push(`gl-node/${process.versions.node}`);
     } else {
@@ -184,14 +209,17 @@ export class SqlFeatureEligibilityServiceClient {
     // Create useful helper objects for these.
     this.pathTemplates = {
       backupPathTemplate: new this._gaxModule.PathTemplate(
-        'projects/{project}/backups/{backup}'
+        'projects/{project}/backups/{backup}',
       ),
     };
 
     // Put together the default options sent with requests.
     this._defaults = this._gaxGrpc.constructSettings(
-        'google.cloud.sql.v1.SqlFeatureEligibilityService', gapicConfig as gax.ClientConfig,
-        opts.clientConfig || {}, {'x-goog-api-client': clientHeader.join(' ')});
+      'google.cloud.sql.v1.SqlFeatureEligibilityService',
+      gapicConfig as gax.ClientConfig,
+      opts.clientConfig || {},
+      { 'x-goog-api-client': clientHeader.join(' ') },
+    );
 
     // Set up a dictionary of "inner API calls"; the core implementation
     // of calling the API is handled in `google-gax`, with this code
@@ -222,11 +250,16 @@ export class SqlFeatureEligibilityServiceClient {
     // Put together the "service stub" for
     // google.cloud.sql.v1.SqlFeatureEligibilityService.
     this.sqlFeatureEligibilityServiceStub = this._gaxGrpc.createStub(
-        this._opts.fallback ?
-          (this._protos as protobuf.Root).lookupService('google.cloud.sql.v1.SqlFeatureEligibilityService') :
-          // eslint-disable-next-line @typescript-eslint/no-explicit-any
-          (this._protos as any).google.cloud.sql.v1.SqlFeatureEligibilityService,
-        this._opts, this._providedCustomServicePath) as Promise<{[method: string]: Function}>;
+      this._opts.fallback
+        ? (this._protos as protobuf.Root).lookupService(
+            'google.cloud.sql.v1.SqlFeatureEligibilityService',
+          )
+        : // eslint-disable-next-line @typescript-eslint/no-explicit-any
+          (this._protos as any).google.cloud.sql.v1
+            .SqlFeatureEligibilityService,
+      this._opts,
+      this._providedCustomServicePath,
+    ) as Promise<{ [method: string]: Function }>;
 
     return this.sqlFeatureEligibilityServiceStub;
   }
@@ -237,8 +270,14 @@ export class SqlFeatureEligibilityServiceClient {
    * @returns {string} The DNS address for this service.
    */
   static get servicePath() {
-    if (typeof process === 'object' && typeof process.emitWarning === 'function') {
-      process.emitWarning('Static servicePath is deprecated, please use the instance method instead.', 'DeprecationWarning');
+    if (
+      typeof process === 'object' &&
+      typeof process.emitWarning === 'function'
+    ) {
+      process.emitWarning(
+        'Static servicePath is deprecated, please use the instance method instead.',
+        'DeprecationWarning',
+      );
     }
     return 'sqladmin.googleapis.com';
   }
@@ -249,8 +288,14 @@ export class SqlFeatureEligibilityServiceClient {
    * @returns {string} The DNS address for this service.
    */
   static get apiEndpoint() {
-    if (typeof process === 'object' && typeof process.emitWarning === 'function') {
-      process.emitWarning('Static apiEndpoint is deprecated, please use the instance method instead.', 'DeprecationWarning');
+    if (
+      typeof process === 'object' &&
+      typeof process.emitWarning === 'function'
+    ) {
+      process.emitWarning(
+        'Static apiEndpoint is deprecated, please use the instance method instead.',
+        'DeprecationWarning',
+      );
     }
     return 'sqladmin.googleapis.com';
   }
@@ -290,8 +335,9 @@ export class SqlFeatureEligibilityServiceClient {
    * Return the project ID used by this class.
    * @returns {Promise} A promise that resolves to string containing the project ID.
    */
-  getProjectId(callback?: Callback<string, undefined, undefined>):
-      Promise<string>|void {
+  getProjectId(
+    callback?: Callback<string, undefined, undefined>,
+  ): Promise<string> | void {
     if (callback) {
       this.auth.getProjectId(callback);
       return;
@@ -303,7 +349,7 @@ export class SqlFeatureEligibilityServiceClient {
   // -- Service calls --
   // -------------------
 
-/**
+  /**
    * Gets information about a location.
    *
    * @param {Object} request
@@ -338,12 +384,11 @@ export class SqlFeatureEligibilityServiceClient {
       | null
       | undefined,
       {} | null | undefined
-    >
+    >,
   ): Promise<LocationProtos.google.cloud.location.ILocation> {
     return this.locationsClient.getLocation(request, options, callback);
   }
-
-/**
+  /**
    * Lists information about the supported locations for this service. Returns an iterable object.
    *
    * `for`-`await`-`of` syntax is used with the iterable to get response elements on-demand.
@@ -376,7 +421,7 @@ export class SqlFeatureEligibilityServiceClient {
    */
   listLocationsAsync(
     request: LocationProtos.google.cloud.location.IListLocationsRequest,
-    options?: CallOptions
+    options?: CallOptions,
   ): AsyncIterable<LocationProtos.google.cloud.location.ILocation> {
     return this.locationsClient.listLocationsAsync(request, options);
   }
@@ -392,7 +437,7 @@ export class SqlFeatureEligibilityServiceClient {
    * @param {string} backup
    * @returns {string} Resource name string.
    */
-  backupPath(project:string,backup:string) {
+  backupPath(project: string, backup: string) {
     return this.pathTemplates.backupPathTemplate.render({
       project: project,
       backup: backup,
@@ -429,13 +474,15 @@ export class SqlFeatureEligibilityServiceClient {
    */
   close(): Promise<void> {
     if (this.sqlFeatureEligibilityServiceStub && !this._terminated) {
-      return this.sqlFeatureEligibilityServiceStub.then(stub => {
+      return this.sqlFeatureEligibilityServiceStub.then((stub) => {
         this._log.info('ending gRPC channel');
         this._terminated = true;
         stub.close();
-        this.locationsClient.close().catch(err => {throw err});
+        this.locationsClient.close().catch((err) => {
+          throw err;
+        });
       });
     }
     return Promise.resolve();
   }
-}
\ No newline at end of file
+}
diff --git a/packages/google-cloud-sql/src/v1/sql_flags_service_client.ts b/packages/google-cloud-sql/src/v1/sql_flags_service_client.ts
index deeadf3118b6..b30f40542afd 100644
--- a/packages/google-cloud-sql/src/v1/sql_flags_service_client.ts
+++ b/packages/google-cloud-sql/src/v1/sql_flags_service_client.ts
@@ -18,11 +18,18 @@
 
 /* global window */
 import type * as gax from 'google-gax';
-import type {Callback, CallOptions, Descriptors, ClientOptions, LocationsClient, LocationProtos} from 'google-gax';
+import type {
+  Callback,
+  CallOptions,
+  Descriptors,
+  ClientOptions,
+  LocationsClient,
+  LocationProtos,
+} from 'google-gax';
 
 import * as protos from '../../protos/protos';
 import jsonProtos = require('../../protos/protos.json');
-import {loggingUtils as logging, decodeAnyProtosInArray} from 'google-gax';
+import { loggingUtils as logging, decodeAnyProtosInArray } from 'google-gax';
 
 /**
  * Client JSON configuration object, loaded from
@@ -44,7 +51,7 @@ export class SqlFlagsServiceClient {
   private _gaxModule: typeof gax | typeof gax.fallback;
   private _gaxGrpc: gax.GrpcClient | gax.fallback.GrpcClient;
   private _protos: {};
-  private _defaults: {[method: string]: gax.CallSettings};
+  private _defaults: { [method: string]: gax.CallSettings };
   private _universeDomain: string;
   private _servicePath: string;
   private _log = logging.log('sql');
@@ -57,10 +64,10 @@ export class SqlFlagsServiceClient {
     batching: {},
   };
   warn: (code: string, message: string, warnType?: string) => void;
-  innerApiCalls: {[name: string]: Function};
+  innerApiCalls: { [name: string]: Function };
   locationsClient: LocationsClient;
-  pathTemplates: {[name: string]: gax.PathTemplate};
-  sqlFlagsServiceStub?: Promise<{[name: string]: Function}>;
+  pathTemplates: { [name: string]: gax.PathTemplate };
+  sqlFlagsServiceStub?: Promise<{ [name: string]: Function }>;
 
   /**
    * Construct an instance of SqlFlagsServiceClient.
@@ -101,21 +108,42 @@ export class SqlFlagsServiceClient {
    *     const client = new SqlFlagsServiceClient({fallback: true}, gax);
    *     ```
    */
-  constructor(opts?: ClientOptions, gaxInstance?: typeof gax | typeof gax.fallback) {
+  constructor(
+    opts?: ClientOptions,
+    gaxInstance?: typeof gax | typeof gax.fallback,
+  ) {
     // Ensure that options include all the required fields.
     const staticMembers = this.constructor as typeof SqlFlagsServiceClient;
-    if (opts?.universe_domain && opts?.universeDomain && opts?.universe_domain !== opts?.universeDomain) {
-      throw new Error('Please set either universe_domain or universeDomain, but not both.');
+    if (
+      opts?.universe_domain &&
+      opts?.universeDomain &&
+      opts?.universe_domain !== opts?.universeDomain
+    ) {
+      throw new Error(
+        'Please set either universe_domain or universeDomain, but not both.',
+      );
     }
-    const universeDomainEnvVar = (typeof process === 'object' && typeof process.env === 'object') ? process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] : undefined;
-    this._universeDomain = opts?.universeDomain ?? opts?.universe_domain ?? universeDomainEnvVar ?? 'googleapis.com';
+    const universeDomainEnvVar =
+      typeof process === 'object' && typeof process.env === 'object'
+        ? process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN']
+        : undefined;
+    this._universeDomain =
+      opts?.universeDomain ??
+      opts?.universe_domain ??
+      universeDomainEnvVar ??
+      'googleapis.com';
     this._servicePath = 'sqladmin.' + this._universeDomain;
-    const servicePath = opts?.servicePath || opts?.apiEndpoint || this._servicePath;
-    this._providedCustomServicePath = !!(opts?.servicePath || opts?.apiEndpoint);
+    const servicePath =
+      opts?.servicePath || opts?.apiEndpoint || this._servicePath;
+    this._providedCustomServicePath = !!(
+      opts?.servicePath || opts?.apiEndpoint
+    );
     const port = opts?.port || staticMembers.port;
     const clientConfig = opts?.clientConfig ?? {};
-    const fallback = opts?.fallback ?? (typeof window !== 'undefined' && typeof window?.fetch === 'function');
-    opts = Object.assign({servicePath, port, clientConfig, fallback}, opts);
+    const fallback =
+      opts?.fallback ??
+      (typeof window !== 'undefined' && typeof window?.fetch === 'function');
+    opts = Object.assign({ servicePath, port, clientConfig, fallback }, opts);
 
     // Request numeric enum values if REST transport is used.
     opts.numericEnums = true;
@@ -140,7 +168,7 @@ export class SqlFlagsServiceClient {
     this._opts = opts;
 
     // Save the auth object to the client, for use by other methods.
-    this.auth = (this._gaxGrpc.auth as gax.GoogleAuth);
+    this.auth = this._gaxGrpc.auth as gax.GoogleAuth;
 
     // Set useJWTAccessWithScope on the auth object.
     this.auth.useJWTAccessWithScope = true;
@@ -154,15 +182,11 @@ export class SqlFlagsServiceClient {
     }
     this.locationsClient = new this._gaxModule.LocationsClient(
       this._gaxGrpc,
-      opts
+      opts,
     );
-  
 
     // Determine the client header string.
-    const clientHeader = [
-      `gax/${this._gaxModule.version}`,
-      `gapic/${version}`,
-    ];
+    const clientHeader = [`gax/${this._gaxModule.version}`, `gapic/${version}`];
     if (typeof process === 'object' && 'versions' in process) {
       clientHeader.push(`gl-node/${process.versions.node}`);
     } else {
@@ -184,14 +208,17 @@ export class SqlFlagsServiceClient {
     // Create useful helper objects for these.
     this.pathTemplates = {
       backupPathTemplate: new this._gaxModule.PathTemplate(
-        'projects/{project}/backups/{backup}'
+        'projects/{project}/backups/{backup}',
       ),
     };
 
     // Put together the default options sent with requests.
     this._defaults = this._gaxGrpc.constructSettings(
-        'google.cloud.sql.v1.SqlFlagsService', gapicConfig as gax.ClientConfig,
-        opts.clientConfig || {}, {'x-goog-api-client': clientHeader.join(' ')});
+      'google.cloud.sql.v1.SqlFlagsService',
+      gapicConfig as gax.ClientConfig,
+      opts.clientConfig || {},
+      { 'x-goog-api-client': clientHeader.join(' ') },
+    );
 
     // Set up a dictionary of "inner API calls"; the core implementation
     // of calling the API is handled in `google-gax`, with this code
@@ -222,36 +249,40 @@ export class SqlFlagsServiceClient {
     // Put together the "service stub" for
     // google.cloud.sql.v1.SqlFlagsService.
     this.sqlFlagsServiceStub = this._gaxGrpc.createStub(
-        this._opts.fallback ?
-          (this._protos as protobuf.Root).lookupService('google.cloud.sql.v1.SqlFlagsService') :
-          // eslint-disable-next-line @typescript-eslint/no-explicit-any
+      this._opts.fallback
+        ? (this._protos as protobuf.Root).lookupService(
+            'google.cloud.sql.v1.SqlFlagsService',
+          )
+        : // eslint-disable-next-line @typescript-eslint/no-explicit-any
           (this._protos as any).google.cloud.sql.v1.SqlFlagsService,
-        this._opts, this._providedCustomServicePath) as Promise<{[method: string]: Function}>;
+      this._opts,
+      this._providedCustomServicePath,
+    ) as Promise<{ [method: string]: Function }>;
 
     // Iterate over each of the methods that the service provides
     // and create an API call method for each.
-    const sqlFlagsServiceStubMethods =
-        ['list'];
+    const sqlFlagsServiceStubMethods = ['list'];
     for (const methodName of sqlFlagsServiceStubMethods) {
       const callPromise = this.sqlFlagsServiceStub.then(
-        stub => (...args: Array<{}>) => {
-          if (this._terminated) {
-            return Promise.reject('The client has already been closed.');
-          }
-          const func = stub[methodName];
-          return func.apply(stub, args);
-        },
-        (err: Error|null|undefined) => () => {
+        (stub) =>
+          (...args: Array<{}>) => {
+            if (this._terminated) {
+              return Promise.reject('The client has already been closed.');
+            }
+            const func = stub[methodName];
+            return func.apply(stub, args);
+          },
+        (err: Error | null | undefined) => () => {
           throw err;
-        });
+        },
+      );
 
-      const descriptor =
-        undefined;
+      const descriptor = undefined;
       const apiCall = this._gaxModule.createApiCall(
         callPromise,
         this._defaults[methodName],
         descriptor,
-        this._opts.fallback
+        this._opts.fallback,
       );
 
       this.innerApiCalls[methodName] = apiCall;
@@ -266,8 +297,14 @@ export class SqlFlagsServiceClient {
    * @returns {string} The DNS address for this service.
    */
   static get servicePath() {
-    if (typeof process === 'object' && typeof process.emitWarning === 'function') {
-      process.emitWarning('Static servicePath is deprecated, please use the instance method instead.', 'DeprecationWarning');
+    if (
+      typeof process === 'object' &&
+      typeof process.emitWarning === 'function'
+    ) {
+      process.emitWarning(
+        'Static servicePath is deprecated, please use the instance method instead.',
+        'DeprecationWarning',
+      );
     }
     return 'sqladmin.googleapis.com';
   }
@@ -278,8 +315,14 @@ export class SqlFlagsServiceClient {
    * @returns {string} The DNS address for this service.
    */
   static get apiEndpoint() {
-    if (typeof process === 'object' && typeof process.emitWarning === 'function') {
-      process.emitWarning('Static apiEndpoint is deprecated, please use the instance method instead.', 'DeprecationWarning');
+    if (
+      typeof process === 'object' &&
+      typeof process.emitWarning === 'function'
+    ) {
+      process.emitWarning(
+        'Static apiEndpoint is deprecated, please use the instance method instead.',
+        'DeprecationWarning',
+      );
     }
     return 'sqladmin.googleapis.com';
   }
@@ -312,7 +355,7 @@ export class SqlFlagsServiceClient {
   static get scopes() {
     return [
       'https://www.googleapis.com/auth/cloud-platform',
-      'https://www.googleapis.com/auth/sqlservice.admin'
+      'https://www.googleapis.com/auth/sqlservice.admin',
     ];
   }
 
@@ -322,8 +365,9 @@ export class SqlFlagsServiceClient {
    * Return the project ID used by this class.
    * @returns {Promise} A promise that resolves to string containing the project ID.
    */
-  getProjectId(callback?: Callback<string, undefined, undefined>):
-      Promise<string>|void {
+  getProjectId(
+    callback?: Callback<string, undefined, undefined>,
+  ): Promise<string> | void {
     if (callback) {
       this.auth.getProjectId(callback);
       return;
@@ -334,101 +378,132 @@ export class SqlFlagsServiceClient {
   // -------------------
   // -- Service calls --
   // -------------------
-/**
- * Lists all available database flags for Cloud SQL instances.
- *
- * @param {Object} request
- *   The request object that will be sent.
- * @param {string} request.databaseVersion
- *   Database type and version you want to retrieve flags for. By default, this
- *   method returns flags for all database types and versions.
- * @param {google.cloud.sql.v1.SqlFlagScope} [request.flagScope]
- *   Optional. Specify the scope of flags to be returned by SqlFlagsListService.
- *   Return list of database flags if unspecified.
- * @param {object} [options]
- *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
- * @returns {Promise} - The promise which resolves to an array.
- *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1.FlagsListResponse|FlagsListResponse}.
- *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
- *   for more details and examples.
- * @example <caption>include:samples/generated/v1/sql_flags_service.list.js</caption>
- * region_tag:sqladmin_v1_generated_SqlFlagsService_List_async
- */
+  /**
+   * Lists all available database flags for Cloud SQL instances.
+   *
+   * @param {Object} request
+   *   The request object that will be sent.
+   * @param {string} request.databaseVersion
+   *   Database type and version you want to retrieve flags for. By default, this
+   *   method returns flags for all database types and versions.
+   * @param {google.cloud.sql.v1.SqlFlagScope} [request.flagScope]
+   *   Optional. Specify the scope of flags to be returned by SqlFlagsListService.
+   *   Return list of database flags if unspecified.
+   * @param {object} [options]
+   *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+   * @returns {Promise} - The promise which resolves to an array.
+   *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1.FlagsListResponse|FlagsListResponse}.
+   *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
+   *   for more details and examples.
+   * @example <caption>include:samples/generated/v1/sql_flags_service.list.js</caption>
+   * region_tag:sqladmin_v1_generated_SqlFlagsService_List_async
+   */
   list(
-      request?: protos.google.cloud.sql.v1.ISqlFlagsListRequest,
-      options?: CallOptions):
-      Promise<[
-        protos.google.cloud.sql.v1.IFlagsListResponse,
-        protos.google.cloud.sql.v1.ISqlFlagsListRequest|undefined, {}|undefined
-      ]>;
+    request?: protos.google.cloud.sql.v1.ISqlFlagsListRequest,
+    options?: CallOptions,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1.IFlagsListResponse,
+      protos.google.cloud.sql.v1.ISqlFlagsListRequest | undefined,
+      {} | undefined,
+    ]
+  >;
   list(
-      request: protos.google.cloud.sql.v1.ISqlFlagsListRequest,
-      options: CallOptions,
-      callback: Callback<
-          protos.google.cloud.sql.v1.IFlagsListResponse,
-          protos.google.cloud.sql.v1.ISqlFlagsListRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1.ISqlFlagsListRequest,
+    options: CallOptions,
+    callback: Callback<
+      protos.google.cloud.sql.v1.IFlagsListResponse,
+      protos.google.cloud.sql.v1.ISqlFlagsListRequest | null | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   list(
-      request: protos.google.cloud.sql.v1.ISqlFlagsListRequest,
-      callback: Callback<
-          protos.google.cloud.sql.v1.IFlagsListResponse,
-          protos.google.cloud.sql.v1.ISqlFlagsListRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1.ISqlFlagsListRequest,
+    callback: Callback<
+      protos.google.cloud.sql.v1.IFlagsListResponse,
+      protos.google.cloud.sql.v1.ISqlFlagsListRequest | null | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   list(
-      request?: protos.google.cloud.sql.v1.ISqlFlagsListRequest,
-      optionsOrCallback?: CallOptions|Callback<
-          protos.google.cloud.sql.v1.IFlagsListResponse,
-          protos.google.cloud.sql.v1.ISqlFlagsListRequest|null|undefined,
-          {}|null|undefined>,
-      callback?: Callback<
+    request?: protos.google.cloud.sql.v1.ISqlFlagsListRequest,
+    optionsOrCallback?:
+      | CallOptions
+      | Callback<
           protos.google.cloud.sql.v1.IFlagsListResponse,
-          protos.google.cloud.sql.v1.ISqlFlagsListRequest|null|undefined,
-          {}|null|undefined>):
-      Promise<[
-        protos.google.cloud.sql.v1.IFlagsListResponse,
-        protos.google.cloud.sql.v1.ISqlFlagsListRequest|undefined, {}|undefined
-      ]>|void {
+          protos.google.cloud.sql.v1.ISqlFlagsListRequest | null | undefined,
+          {} | null | undefined
+        >,
+    callback?: Callback<
+      protos.google.cloud.sql.v1.IFlagsListResponse,
+      protos.google.cloud.sql.v1.ISqlFlagsListRequest | null | undefined,
+      {} | null | undefined
+    >,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1.IFlagsListResponse,
+      protos.google.cloud.sql.v1.ISqlFlagsListRequest | undefined,
+      {} | undefined,
+    ]
+  > | void {
     request = request || {};
     let options: CallOptions;
     if (typeof optionsOrCallback === 'function' && callback === undefined) {
       callback = optionsOrCallback;
       options = {};
-    }
-    else {
+    } else {
       options = optionsOrCallback as CallOptions;
     }
     options = options || {};
     options.otherArgs = options.otherArgs || {};
     options.otherArgs.headers = options.otherArgs.headers || {};
-    this.initialize().catch(err => {throw err});
+    this.initialize().catch((err) => {
+      throw err;
+    });
     this._log.info('list request %j', request);
-    const wrappedCallback: Callback<
-        protos.google.cloud.sql.v1.IFlagsListResponse,
-        protos.google.cloud.sql.v1.ISqlFlagsListRequest|null|undefined,
-        {}|null|undefined>|undefined = callback
+    const wrappedCallback:
+      | Callback<
+          protos.google.cloud.sql.v1.IFlagsListResponse,
+          protos.google.cloud.sql.v1.ISqlFlagsListRequest | null | undefined,
+          {} | null | undefined
+        >
+      | undefined = callback
       ? (error, response, options, rawResponse) => {
           this._log.info('list response %j', response);
           callback!(error, response, options, rawResponse); // We verified callback above.
         }
       : undefined;
-    return this.innerApiCalls.list(request, options, wrappedCallback)
-      ?.then(([response, options, rawResponse]: [
-        protos.google.cloud.sql.v1.IFlagsListResponse,
-        protos.google.cloud.sql.v1.ISqlFlagsListRequest|undefined,
-        {}|undefined
-      ]) => {
-        this._log.info('list response %j', response);
-        return [response, options, rawResponse];
-      }).catch((error: any) => {
-        if (error && 'statusDetails' in error && error.statusDetails instanceof Array) {
-          const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type;
-          error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos);
+    return this.innerApiCalls
+      .list(request, options, wrappedCallback)
+      ?.then(
+        ([response, options, rawResponse]: [
+          protos.google.cloud.sql.v1.IFlagsListResponse,
+          protos.google.cloud.sql.v1.ISqlFlagsListRequest | undefined,
+          {} | undefined,
+        ]) => {
+          this._log.info('list response %j', response);
+          return [response, options, rawResponse];
+        },
+      )
+      .catch((error: any) => {
+        if (
+          error &&
+          'statusDetails' in error &&
+          error.statusDetails instanceof Array
+        ) {
+          const protos = this._gaxModule.protobuf.Root.fromJSON(
+            jsonProtos,
+          ) as unknown as gax.protobuf.Type;
+          error.statusDetails = decodeAnyProtosInArray(
+            error.statusDetails,
+            protos,
+          );
         }
         throw error;
       });
   }
 
-/**
+  /**
    * Gets information about a location.
    *
    * @param {Object} request
@@ -463,12 +538,11 @@ export class SqlFlagsServiceClient {
       | null
       | undefined,
       {} | null | undefined
-    >
+    >,
   ): Promise<LocationProtos.google.cloud.location.ILocation> {
     return this.locationsClient.getLocation(request, options, callback);
   }
-
-/**
+  /**
    * Lists information about the supported locations for this service. Returns an iterable object.
    *
    * `for`-`await`-`of` syntax is used with the iterable to get response elements on-demand.
@@ -501,7 +575,7 @@ export class SqlFlagsServiceClient {
    */
   listLocationsAsync(
     request: LocationProtos.google.cloud.location.IListLocationsRequest,
-    options?: CallOptions
+    options?: CallOptions,
   ): AsyncIterable<LocationProtos.google.cloud.location.ILocation> {
     return this.locationsClient.listLocationsAsync(request, options);
   }
@@ -517,7 +591,7 @@ export class SqlFlagsServiceClient {
    * @param {string} backup
    * @returns {string} Resource name string.
    */
-  backupPath(project:string,backup:string) {
+  backupPath(project: string, backup: string) {
     return this.pathTemplates.backupPathTemplate.render({
       project: project,
       backup: backup,
@@ -554,13 +628,15 @@ export class SqlFlagsServiceClient {
    */
   close(): Promise<void> {
     if (this.sqlFlagsServiceStub && !this._terminated) {
-      return this.sqlFlagsServiceStub.then(stub => {
+      return this.sqlFlagsServiceStub.then((stub) => {
         this._log.info('ending gRPC channel');
         this._terminated = true;
         stub.close();
-        this.locationsClient.close().catch(err => {throw err});
+        this.locationsClient.close().catch((err) => {
+          throw err;
+        });
       });
     }
     return Promise.resolve();
   }
-}
\ No newline at end of file
+}
diff --git a/packages/google-cloud-sql/src/v1/sql_instances_service_client.ts b/packages/google-cloud-sql/src/v1/sql_instances_service_client.ts
index 754b0a26a55a..e4e372e22ccb 100644
--- a/packages/google-cloud-sql/src/v1/sql_instances_service_client.ts
+++ b/packages/google-cloud-sql/src/v1/sql_instances_service_client.ts
@@ -18,11 +18,18 @@
 
 /* global window */
 import type * as gax from 'google-gax';
-import type {Callback, CallOptions, Descriptors, ClientOptions, LocationsClient, LocationProtos} from 'google-gax';
+import type {
+  Callback,
+  CallOptions,
+  Descriptors,
+  ClientOptions,
+  LocationsClient,
+  LocationProtos,
+} from 'google-gax';
 
 import * as protos from '../../protos/protos';
 import jsonProtos = require('../../protos/protos.json');
-import {loggingUtils as logging, decodeAnyProtosInArray} from 'google-gax';
+import { loggingUtils as logging, decodeAnyProtosInArray } from 'google-gax';
 
 /**
  * Client JSON configuration object, loaded from
@@ -43,7 +50,7 @@ export class SqlInstancesServiceClient {
   private _gaxModule: typeof gax | typeof gax.fallback;
   private _gaxGrpc: gax.GrpcClient | gax.fallback.GrpcClient;
   private _protos: {};
-  private _defaults: {[method: string]: gax.CallSettings};
+  private _defaults: { [method: string]: gax.CallSettings };
   private _universeDomain: string;
   private _servicePath: string;
   private _log = logging.log('sql');
@@ -56,10 +63,10 @@ export class SqlInstancesServiceClient {
     batching: {},
   };
   warn: (code: string, message: string, warnType?: string) => void;
-  innerApiCalls: {[name: string]: Function};
+  innerApiCalls: { [name: string]: Function };
   locationsClient: LocationsClient;
-  pathTemplates: {[name: string]: gax.PathTemplate};
-  sqlInstancesServiceStub?: Promise<{[name: string]: Function}>;
+  pathTemplates: { [name: string]: gax.PathTemplate };
+  sqlInstancesServiceStub?: Promise<{ [name: string]: Function }>;
 
   /**
    * Construct an instance of SqlInstancesServiceClient.
@@ -100,21 +107,42 @@ export class SqlInstancesServiceClient {
    *     const client = new SqlInstancesServiceClient({fallback: true}, gax);
    *     ```
    */
-  constructor(opts?: ClientOptions, gaxInstance?: typeof gax | typeof gax.fallback) {
+  constructor(
+    opts?: ClientOptions,
+    gaxInstance?: typeof gax | typeof gax.fallback,
+  ) {
     // Ensure that options include all the required fields.
     const staticMembers = this.constructor as typeof SqlInstancesServiceClient;
-    if (opts?.universe_domain && opts?.universeDomain && opts?.universe_domain !== opts?.universeDomain) {
-      throw new Error('Please set either universe_domain or universeDomain, but not both.');
+    if (
+      opts?.universe_domain &&
+      opts?.universeDomain &&
+      opts?.universe_domain !== opts?.universeDomain
+    ) {
+      throw new Error(
+        'Please set either universe_domain or universeDomain, but not both.',
+      );
     }
-    const universeDomainEnvVar = (typeof process === 'object' && typeof process.env === 'object') ? process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] : undefined;
-    this._universeDomain = opts?.universeDomain ?? opts?.universe_domain ?? universeDomainEnvVar ?? 'googleapis.com';
+    const universeDomainEnvVar =
+      typeof process === 'object' && typeof process.env === 'object'
+        ? process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN']
+        : undefined;
+    this._universeDomain =
+      opts?.universeDomain ??
+      opts?.universe_domain ??
+      universeDomainEnvVar ??
+      'googleapis.com';
     this._servicePath = 'sqladmin.' + this._universeDomain;
-    const servicePath = opts?.servicePath || opts?.apiEndpoint || this._servicePath;
-    this._providedCustomServicePath = !!(opts?.servicePath || opts?.apiEndpoint);
+    const servicePath =
+      opts?.servicePath || opts?.apiEndpoint || this._servicePath;
+    this._providedCustomServicePath = !!(
+      opts?.servicePath || opts?.apiEndpoint
+    );
     const port = opts?.port || staticMembers.port;
     const clientConfig = opts?.clientConfig ?? {};
-    const fallback = opts?.fallback ?? (typeof window !== 'undefined' && typeof window?.fetch === 'function');
-    opts = Object.assign({servicePath, port, clientConfig, fallback}, opts);
+    const fallback =
+      opts?.fallback ??
+      (typeof window !== 'undefined' && typeof window?.fetch === 'function');
+    opts = Object.assign({ servicePath, port, clientConfig, fallback }, opts);
 
     // Request numeric enum values if REST transport is used.
     opts.numericEnums = true;
@@ -139,7 +167,7 @@ export class SqlInstancesServiceClient {
     this._opts = opts;
 
     // Save the auth object to the client, for use by other methods.
-    this.auth = (this._gaxGrpc.auth as gax.GoogleAuth);
+    this.auth = this._gaxGrpc.auth as gax.GoogleAuth;
 
     // Set useJWTAccessWithScope on the auth object.
     this.auth.useJWTAccessWithScope = true;
@@ -153,15 +181,11 @@ export class SqlInstancesServiceClient {
     }
     this.locationsClient = new this._gaxModule.LocationsClient(
       this._gaxGrpc,
-      opts
+      opts,
     );
-  
 
     // Determine the client header string.
-    const clientHeader = [
-      `gax/${this._gaxModule.version}`,
-      `gapic/${version}`,
-    ];
+    const clientHeader = [`gax/${this._gaxModule.version}`, `gapic/${version}`];
     if (typeof process === 'object' && 'versions' in process) {
       clientHeader.push(`gl-node/${process.versions.node}`);
     } else {
@@ -183,17 +207,20 @@ export class SqlInstancesServiceClient {
     // Create useful helper objects for these.
     this.pathTemplates = {
       backupPathTemplate: new this._gaxModule.PathTemplate(
-        'projects/{project}/locations/{location}/backupVaults/{backupvault}/dataSources/{datasource}/backups/{backup}'
+        'projects/{project}/locations/{location}/backupVaults/{backupvault}/dataSources/{datasource}/backups/{backup}',
       ),
       networkPathTemplate: new this._gaxModule.PathTemplate(
-        'projects/{project}/global/networks/{network}'
+        'projects/{project}/global/networks/{network}',
       ),
     };
 
     // Put together the default options sent with requests.
     this._defaults = this._gaxGrpc.constructSettings(
-        'google.cloud.sql.v1.SqlInstancesService', gapicConfig as gax.ClientConfig,
-        opts.clientConfig || {}, {'x-goog-api-client': clientHeader.join(' ')});
+      'google.cloud.sql.v1.SqlInstancesService',
+      gapicConfig as gax.ClientConfig,
+      opts.clientConfig || {},
+      { 'x-goog-api-client': clientHeader.join(' ') },
+    );
 
     // Set up a dictionary of "inner API calls"; the core implementation
     // of calling the API is handled in `google-gax`, with this code
@@ -224,36 +251,84 @@ export class SqlInstancesServiceClient {
     // Put together the "service stub" for
     // google.cloud.sql.v1.SqlInstancesService.
     this.sqlInstancesServiceStub = this._gaxGrpc.createStub(
-        this._opts.fallback ?
-          (this._protos as protobuf.Root).lookupService('google.cloud.sql.v1.SqlInstancesService') :
-          // eslint-disable-next-line @typescript-eslint/no-explicit-any
+      this._opts.fallback
+        ? (this._protos as protobuf.Root).lookupService(
+            'google.cloud.sql.v1.SqlInstancesService',
+          )
+        : // eslint-disable-next-line @typescript-eslint/no-explicit-any
           (this._protos as any).google.cloud.sql.v1.SqlInstancesService,
-        this._opts, this._providedCustomServicePath) as Promise<{[method: string]: Function}>;
+      this._opts,
+      this._providedCustomServicePath,
+    ) as Promise<{ [method: string]: Function }>;
 
     // Iterate over each of the methods that the service provides
     // and create an API call method for each.
-    const sqlInstancesServiceStubMethods =
-        ['addServerCa', 'addServerCertificate', 'addEntraIdCertificate', 'clone', 'delete', 'demoteMaster', 'demote', 'export', 'failover', 'reencrypt', 'get', 'import', 'insert', 'list', 'listServerCas', 'listServerCertificates', 'listEntraIdCertificates', 'patch', 'promoteReplica', 'switchover', 'resetSslConfig', 'restart', 'restoreBackup', 'rotateServerCa', 'rotateServerCertificate', 'rotateEntraIdCertificate', 'startReplica', 'stopReplica', 'truncateLog', 'update', 'createEphemeral', 'rescheduleMaintenance', 'verifyExternalSyncSettings', 'startExternalSync', 'performDiskShrink', 'getDiskShrinkConfig', 'resetReplicaSize', 'getLatestRecoveryTime', 'executeSql', 'acquireSsrsLease', 'releaseSsrsLease', 'preCheckMajorVersionUpgrade', 'pointInTimeRestore'];
+    const sqlInstancesServiceStubMethods = [
+      'addServerCa',
+      'addServerCertificate',
+      'addEntraIdCertificate',
+      'clone',
+      'delete',
+      'demoteMaster',
+      'demote',
+      'export',
+      'failover',
+      'reencrypt',
+      'get',
+      'import',
+      'insert',
+      'list',
+      'listServerCas',
+      'listServerCertificates',
+      'listEntraIdCertificates',
+      'patch',
+      'promoteReplica',
+      'switchover',
+      'resetSslConfig',
+      'restart',
+      'restoreBackup',
+      'rotateServerCa',
+      'rotateServerCertificate',
+      'rotateEntraIdCertificate',
+      'startReplica',
+      'stopReplica',
+      'truncateLog',
+      'update',
+      'createEphemeral',
+      'rescheduleMaintenance',
+      'verifyExternalSyncSettings',
+      'startExternalSync',
+      'performDiskShrink',
+      'getDiskShrinkConfig',
+      'resetReplicaSize',
+      'getLatestRecoveryTime',
+      'executeSql',
+      'acquireSsrsLease',
+      'releaseSsrsLease',
+      'preCheckMajorVersionUpgrade',
+      'pointInTimeRestore',
+    ];
     for (const methodName of sqlInstancesServiceStubMethods) {
       const callPromise = this.sqlInstancesServiceStub.then(
-        stub => (...args: Array<{}>) => {
-          if (this._terminated) {
-            return Promise.reject('The client has already been closed.');
-          }
-          const func = stub[methodName];
-          return func.apply(stub, args);
-        },
-        (err: Error|null|undefined) => () => {
+        (stub) =>
+          (...args: Array<{}>) => {
+            if (this._terminated) {
+              return Promise.reject('The client has already been closed.');
+            }
+            const func = stub[methodName];
+            return func.apply(stub, args);
+          },
+        (err: Error | null | undefined) => () => {
           throw err;
-        });
+        },
+      );
 
-      const descriptor =
-        undefined;
+      const descriptor = undefined;
       const apiCall = this._gaxModule.createApiCall(
         callPromise,
         this._defaults[methodName],
         descriptor,
-        this._opts.fallback
+        this._opts.fallback,
       );
 
       this.innerApiCalls[methodName] = apiCall;
@@ -268,8 +343,14 @@ export class SqlInstancesServiceClient {
    * @returns {string} The DNS address for this service.
    */
   static get servicePath() {
-    if (typeof process === 'object' && typeof process.emitWarning === 'function') {
-      process.emitWarning('Static servicePath is deprecated, please use the instance method instead.', 'DeprecationWarning');
+    if (
+      typeof process === 'object' &&
+      typeof process.emitWarning === 'function'
+    ) {
+      process.emitWarning(
+        'Static servicePath is deprecated, please use the instance method instead.',
+        'DeprecationWarning',
+      );
     }
     return 'sqladmin.googleapis.com';
   }
@@ -280,8 +361,14 @@ export class SqlInstancesServiceClient {
    * @returns {string} The DNS address for this service.
    */
   static get apiEndpoint() {
-    if (typeof process === 'object' && typeof process.emitWarning === 'function') {
-      process.emitWarning('Static apiEndpoint is deprecated, please use the instance method instead.', 'DeprecationWarning');
+    if (
+      typeof process === 'object' &&
+      typeof process.emitWarning === 'function'
+    ) {
+      process.emitWarning(
+        'Static apiEndpoint is deprecated, please use the instance method instead.',
+        'DeprecationWarning',
+      );
     }
     return 'sqladmin.googleapis.com';
   }
@@ -314,7 +401,7 @@ export class SqlInstancesServiceClient {
   static get scopes() {
     return [
       'https://www.googleapis.com/auth/cloud-platform',
-      'https://www.googleapis.com/auth/sqlservice.admin'
+      'https://www.googleapis.com/auth/sqlservice.admin',
     ];
   }
 
@@ -324,8 +411,9 @@ export class SqlInstancesServiceClient {
    * Return the project ID used by this class.
    * @returns {Promise} A promise that resolves to string containing the project ID.
    */
-  getProjectId(callback?: Callback<string, undefined, undefined>):
-      Promise<string>|void {
+  getProjectId(
+    callback?: Callback<string, undefined, undefined>,
+  ): Promise<string> | void {
     if (callback) {
       this.auth.getProjectId(callback);
       return;
@@ -336,4348 +424,6190 @@ export class SqlInstancesServiceClient {
   // -------------------
   // -- Service calls --
   // -------------------
-/**
- * Adds a new trusted Certificate Authority (CA) version for the specified
- * instance. Required to prepare for a certificate rotation. If a CA version
- * was previously added but never used in a certificate rotation, this
- * operation replaces that version. There cannot be more than one CA version
- * waiting to be rotated in. For instances that have enabled Certificate
- * Authority Service (CAS) based server CA, use AddServerCertificate to add a
- * new server certificate.
- *
- * @param {Object} request
- *   The request object that will be sent.
- * @param {string} request.instance
- *   Cloud SQL instance ID. This does not include the project ID.
- * @param {string} request.project
- *   Project ID of the project that contains the instance.
- * @param {object} [options]
- *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
- * @returns {Promise} - The promise which resolves to an array.
- *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1.Operation|Operation}.
- *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
- *   for more details and examples.
- * @example <caption>include:samples/generated/v1/sql_instances_service.add_server_ca.js</caption>
- * region_tag:sqladmin_v1_generated_SqlInstancesService_AddServerCa_async
- */
+  /**
+   * Adds a new trusted Certificate Authority (CA) version for the specified
+   * instance. Required to prepare for a certificate rotation. If a CA version
+   * was previously added but never used in a certificate rotation, this
+   * operation replaces that version. There cannot be more than one CA version
+   * waiting to be rotated in. For instances that have enabled Certificate
+   * Authority Service (CAS) based server CA, use AddServerCertificate to add a
+   * new server certificate.
+   *
+   * @param {Object} request
+   *   The request object that will be sent.
+   * @param {string} request.instance
+   *   Cloud SQL instance ID. This does not include the project ID.
+   * @param {string} request.project
+   *   Project ID of the project that contains the instance.
+   * @param {object} [options]
+   *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+   * @returns {Promise} - The promise which resolves to an array.
+   *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1.Operation|Operation}.
+   *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
+   *   for more details and examples.
+   * @example <caption>include:samples/generated/v1/sql_instances_service.add_server_ca.js</caption>
+   * region_tag:sqladmin_v1_generated_SqlInstancesService_AddServerCa_async
+   */
   addServerCa(
-      request?: protos.google.cloud.sql.v1.ISqlInstancesAddServerCaRequest,
-      options?: CallOptions):
-      Promise<[
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlInstancesAddServerCaRequest|undefined, {}|undefined
-      ]>;
+    request?: protos.google.cloud.sql.v1.ISqlInstancesAddServerCaRequest,
+    options?: CallOptions,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1.IOperation,
+      protos.google.cloud.sql.v1.ISqlInstancesAddServerCaRequest | undefined,
+      {} | undefined,
+    ]
+  >;
   addServerCa(
-      request: protos.google.cloud.sql.v1.ISqlInstancesAddServerCaRequest,
-      options: CallOptions,
-      callback: Callback<
-          protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlInstancesAddServerCaRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1.ISqlInstancesAddServerCaRequest,
+    options: CallOptions,
+    callback: Callback<
+      protos.google.cloud.sql.v1.IOperation,
+      | protos.google.cloud.sql.v1.ISqlInstancesAddServerCaRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   addServerCa(
-      request: protos.google.cloud.sql.v1.ISqlInstancesAddServerCaRequest,
-      callback: Callback<
-          protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlInstancesAddServerCaRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1.ISqlInstancesAddServerCaRequest,
+    callback: Callback<
+      protos.google.cloud.sql.v1.IOperation,
+      | protos.google.cloud.sql.v1.ISqlInstancesAddServerCaRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   addServerCa(
-      request?: protos.google.cloud.sql.v1.ISqlInstancesAddServerCaRequest,
-      optionsOrCallback?: CallOptions|Callback<
-          protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlInstancesAddServerCaRequest|null|undefined,
-          {}|null|undefined>,
-      callback?: Callback<
+    request?: protos.google.cloud.sql.v1.ISqlInstancesAddServerCaRequest,
+    optionsOrCallback?:
+      | CallOptions
+      | Callback<
           protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlInstancesAddServerCaRequest|null|undefined,
-          {}|null|undefined>):
-      Promise<[
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlInstancesAddServerCaRequest|undefined, {}|undefined
-      ]>|void {
+          | protos.google.cloud.sql.v1.ISqlInstancesAddServerCaRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >,
+    callback?: Callback<
+      protos.google.cloud.sql.v1.IOperation,
+      | protos.google.cloud.sql.v1.ISqlInstancesAddServerCaRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1.IOperation,
+      protos.google.cloud.sql.v1.ISqlInstancesAddServerCaRequest | undefined,
+      {} | undefined,
+    ]
+  > | void {
     request = request || {};
     let options: CallOptions;
     if (typeof optionsOrCallback === 'function' && callback === undefined) {
       callback = optionsOrCallback;
       options = {};
-    }
-    else {
+    } else {
       options = optionsOrCallback as CallOptions;
     }
     options = options || {};
     options.otherArgs = options.otherArgs || {};
     options.otherArgs.headers = options.otherArgs.headers || {};
-    options.otherArgs.headers[
-      'x-goog-request-params'
-    ] = this._gaxModule.routingHeader.fromParams({
-      'project': request.project ?? '',
-      'instance': request.instance ?? '',
+    options.otherArgs.headers['x-goog-request-params'] =
+      this._gaxModule.routingHeader.fromParams({
+        project: request.project ?? '',
+        instance: request.instance ?? '',
+      });
+    this.initialize().catch((err) => {
+      throw err;
     });
-    this.initialize().catch(err => {throw err});
     this._log.info('addServerCa request %j', request);
-    const wrappedCallback: Callback<
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlInstancesAddServerCaRequest|null|undefined,
-        {}|null|undefined>|undefined = callback
+    const wrappedCallback:
+      | Callback<
+          protos.google.cloud.sql.v1.IOperation,
+          | protos.google.cloud.sql.v1.ISqlInstancesAddServerCaRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >
+      | undefined = callback
       ? (error, response, options, rawResponse) => {
           this._log.info('addServerCa response %j', response);
           callback!(error, response, options, rawResponse); // We verified callback above.
         }
       : undefined;
-    return this.innerApiCalls.addServerCa(request, options, wrappedCallback)
-      ?.then(([response, options, rawResponse]: [
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlInstancesAddServerCaRequest|undefined,
-        {}|undefined
-      ]) => {
-        this._log.info('addServerCa response %j', response);
-        return [response, options, rawResponse];
-      }).catch((error: any) => {
-        if (error && 'statusDetails' in error && error.statusDetails instanceof Array) {
-          const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type;
-          error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos);
+    return this.innerApiCalls
+      .addServerCa(request, options, wrappedCallback)
+      ?.then(
+        ([response, options, rawResponse]: [
+          protos.google.cloud.sql.v1.IOperation,
+          (
+            | protos.google.cloud.sql.v1.ISqlInstancesAddServerCaRequest
+            | undefined
+          ),
+          {} | undefined,
+        ]) => {
+          this._log.info('addServerCa response %j', response);
+          return [response, options, rawResponse];
+        },
+      )
+      .catch((error: any) => {
+        if (
+          error &&
+          'statusDetails' in error &&
+          error.statusDetails instanceof Array
+        ) {
+          const protos = this._gaxModule.protobuf.Root.fromJSON(
+            jsonProtos,
+          ) as unknown as gax.protobuf.Type;
+          error.statusDetails = decodeAnyProtosInArray(
+            error.statusDetails,
+            protos,
+          );
         }
         throw error;
       });
   }
-/**
- * Add a new trusted server certificate version for the specified instance
- * using Certificate Authority Service (CAS) server CA. Required to prepare
- * for a certificate rotation. If a server certificate version was previously
- * added but never used in a certificate rotation, this operation replaces
- * that version. There cannot be more than one certificate version waiting to
- * be rotated in. For instances not using CAS server CA, use AddServerCa
- * instead.
- *
- * @param {Object} request
- *   The request object that will be sent.
- * @param {string} request.instance
- *   Cloud SQL instance ID. This does not include the project ID.
- * @param {string} request.project
- *   Project ID of the project that contains the instance.
- * @param {object} [options]
- *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
- * @returns {Promise} - The promise which resolves to an array.
- *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1.Operation|Operation}.
- *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
- *   for more details and examples.
- * @example <caption>include:samples/generated/v1/sql_instances_service.add_server_certificate.js</caption>
- * region_tag:sqladmin_v1_generated_SqlInstancesService_AddServerCertificate_async
- */
+  /**
+   * Add a new trusted server certificate version for the specified instance
+   * using Certificate Authority Service (CAS) server CA. Required to prepare
+   * for a certificate rotation. If a server certificate version was previously
+   * added but never used in a certificate rotation, this operation replaces
+   * that version. There cannot be more than one certificate version waiting to
+   * be rotated in. For instances not using CAS server CA, use AddServerCa
+   * instead.
+   *
+   * @param {Object} request
+   *   The request object that will be sent.
+   * @param {string} request.instance
+   *   Cloud SQL instance ID. This does not include the project ID.
+   * @param {string} request.project
+   *   Project ID of the project that contains the instance.
+   * @param {object} [options]
+   *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+   * @returns {Promise} - The promise which resolves to an array.
+   *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1.Operation|Operation}.
+   *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
+   *   for more details and examples.
+   * @example <caption>include:samples/generated/v1/sql_instances_service.add_server_certificate.js</caption>
+   * region_tag:sqladmin_v1_generated_SqlInstancesService_AddServerCertificate_async
+   */
   addServerCertificate(
-      request?: protos.google.cloud.sql.v1.ISqlInstancesAddServerCertificateRequest,
-      options?: CallOptions):
-      Promise<[
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlInstancesAddServerCertificateRequest|undefined, {}|undefined
-      ]>;
+    request?: protos.google.cloud.sql.v1.ISqlInstancesAddServerCertificateRequest,
+    options?: CallOptions,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1.IOperation,
+      (
+        | protos.google.cloud.sql.v1.ISqlInstancesAddServerCertificateRequest
+        | undefined
+      ),
+      {} | undefined,
+    ]
+  >;
   addServerCertificate(
-      request: protos.google.cloud.sql.v1.ISqlInstancesAddServerCertificateRequest,
-      options: CallOptions,
-      callback: Callback<
-          protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlInstancesAddServerCertificateRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1.ISqlInstancesAddServerCertificateRequest,
+    options: CallOptions,
+    callback: Callback<
+      protos.google.cloud.sql.v1.IOperation,
+      | protos.google.cloud.sql.v1.ISqlInstancesAddServerCertificateRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   addServerCertificate(
-      request: protos.google.cloud.sql.v1.ISqlInstancesAddServerCertificateRequest,
-      callback: Callback<
-          protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlInstancesAddServerCertificateRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1.ISqlInstancesAddServerCertificateRequest,
+    callback: Callback<
+      protos.google.cloud.sql.v1.IOperation,
+      | protos.google.cloud.sql.v1.ISqlInstancesAddServerCertificateRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   addServerCertificate(
-      request?: protos.google.cloud.sql.v1.ISqlInstancesAddServerCertificateRequest,
-      optionsOrCallback?: CallOptions|Callback<
-          protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlInstancesAddServerCertificateRequest|null|undefined,
-          {}|null|undefined>,
-      callback?: Callback<
+    request?: protos.google.cloud.sql.v1.ISqlInstancesAddServerCertificateRequest,
+    optionsOrCallback?:
+      | CallOptions
+      | Callback<
           protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlInstancesAddServerCertificateRequest|null|undefined,
-          {}|null|undefined>):
-      Promise<[
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlInstancesAddServerCertificateRequest|undefined, {}|undefined
-      ]>|void {
+          | protos.google.cloud.sql.v1.ISqlInstancesAddServerCertificateRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >,
+    callback?: Callback<
+      protos.google.cloud.sql.v1.IOperation,
+      | protos.google.cloud.sql.v1.ISqlInstancesAddServerCertificateRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1.IOperation,
+      (
+        | protos.google.cloud.sql.v1.ISqlInstancesAddServerCertificateRequest
+        | undefined
+      ),
+      {} | undefined,
+    ]
+  > | void {
     request = request || {};
     let options: CallOptions;
     if (typeof optionsOrCallback === 'function' && callback === undefined) {
       callback = optionsOrCallback;
       options = {};
-    }
-    else {
+    } else {
       options = optionsOrCallback as CallOptions;
     }
     options = options || {};
     options.otherArgs = options.otherArgs || {};
     options.otherArgs.headers = options.otherArgs.headers || {};
-    options.otherArgs.headers[
-      'x-goog-request-params'
-    ] = this._gaxModule.routingHeader.fromParams({
-      'project': request.project ?? '',
-      'instance': request.instance ?? '',
+    options.otherArgs.headers['x-goog-request-params'] =
+      this._gaxModule.routingHeader.fromParams({
+        project: request.project ?? '',
+        instance: request.instance ?? '',
+      });
+    this.initialize().catch((err) => {
+      throw err;
     });
-    this.initialize().catch(err => {throw err});
     this._log.info('addServerCertificate request %j', request);
-    const wrappedCallback: Callback<
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlInstancesAddServerCertificateRequest|null|undefined,
-        {}|null|undefined>|undefined = callback
+    const wrappedCallback:
+      | Callback<
+          protos.google.cloud.sql.v1.IOperation,
+          | protos.google.cloud.sql.v1.ISqlInstancesAddServerCertificateRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >
+      | undefined = callback
       ? (error, response, options, rawResponse) => {
           this._log.info('addServerCertificate response %j', response);
           callback!(error, response, options, rawResponse); // We verified callback above.
         }
       : undefined;
-    return this.innerApiCalls.addServerCertificate(request, options, wrappedCallback)
-      ?.then(([response, options, rawResponse]: [
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlInstancesAddServerCertificateRequest|undefined,
-        {}|undefined
-      ]) => {
-        this._log.info('addServerCertificate response %j', response);
-        return [response, options, rawResponse];
-      }).catch((error: any) => {
-        if (error && 'statusDetails' in error && error.statusDetails instanceof Array) {
-          const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type;
-          error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos);
+    return this.innerApiCalls
+      .addServerCertificate(request, options, wrappedCallback)
+      ?.then(
+        ([response, options, rawResponse]: [
+          protos.google.cloud.sql.v1.IOperation,
+          (
+            | protos.google.cloud.sql.v1.ISqlInstancesAddServerCertificateRequest
+            | undefined
+          ),
+          {} | undefined,
+        ]) => {
+          this._log.info('addServerCertificate response %j', response);
+          return [response, options, rawResponse];
+        },
+      )
+      .catch((error: any) => {
+        if (
+          error &&
+          'statusDetails' in error &&
+          error.statusDetails instanceof Array
+        ) {
+          const protos = this._gaxModule.protobuf.Root.fromJSON(
+            jsonProtos,
+          ) as unknown as gax.protobuf.Type;
+          error.statusDetails = decodeAnyProtosInArray(
+            error.statusDetails,
+            protos,
+          );
         }
         throw error;
       });
   }
-/**
- * Adds a new Entra ID certificate for the specified instance. If an Entra ID
- * certificate was previously added but never used in a certificate rotation,
- * this operation replaces that version.
- *
- * @param {Object} request
- *   The request object that will be sent.
- * @param {string} request.instance
- *   Required. Cloud SQL instance ID. This does not include the project ID.
- * @param {string} request.project
- *   Required. Project ID of the project that contains the instance.
- * @param {object} [options]
- *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
- * @returns {Promise} - The promise which resolves to an array.
- *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1.Operation|Operation}.
- *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
- *   for more details and examples.
- * @example <caption>include:samples/generated/v1/sql_instances_service.add_entra_id_certificate.js</caption>
- * region_tag:sqladmin_v1_generated_SqlInstancesService_AddEntraIdCertificate_async
- */
+  /**
+   * Adds a new Entra ID certificate for the specified instance. If an Entra ID
+   * certificate was previously added but never used in a certificate rotation,
+   * this operation replaces that version.
+   *
+   * @param {Object} request
+   *   The request object that will be sent.
+   * @param {string} request.instance
+   *   Required. Cloud SQL instance ID. This does not include the project ID.
+   * @param {string} request.project
+   *   Required. Project ID of the project that contains the instance.
+   * @param {object} [options]
+   *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+   * @returns {Promise} - The promise which resolves to an array.
+   *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1.Operation|Operation}.
+   *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
+   *   for more details and examples.
+   * @example <caption>include:samples/generated/v1/sql_instances_service.add_entra_id_certificate.js</caption>
+   * region_tag:sqladmin_v1_generated_SqlInstancesService_AddEntraIdCertificate_async
+   */
   addEntraIdCertificate(
-      request?: protos.google.cloud.sql.v1.ISqlInstancesAddEntraIdCertificateRequest,
-      options?: CallOptions):
-      Promise<[
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlInstancesAddEntraIdCertificateRequest|undefined, {}|undefined
-      ]>;
+    request?: protos.google.cloud.sql.v1.ISqlInstancesAddEntraIdCertificateRequest,
+    options?: CallOptions,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1.IOperation,
+      (
+        | protos.google.cloud.sql.v1.ISqlInstancesAddEntraIdCertificateRequest
+        | undefined
+      ),
+      {} | undefined,
+    ]
+  >;
   addEntraIdCertificate(
-      request: protos.google.cloud.sql.v1.ISqlInstancesAddEntraIdCertificateRequest,
-      options: CallOptions,
-      callback: Callback<
-          protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlInstancesAddEntraIdCertificateRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1.ISqlInstancesAddEntraIdCertificateRequest,
+    options: CallOptions,
+    callback: Callback<
+      protos.google.cloud.sql.v1.IOperation,
+      | protos.google.cloud.sql.v1.ISqlInstancesAddEntraIdCertificateRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   addEntraIdCertificate(
-      request: protos.google.cloud.sql.v1.ISqlInstancesAddEntraIdCertificateRequest,
-      callback: Callback<
-          protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlInstancesAddEntraIdCertificateRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1.ISqlInstancesAddEntraIdCertificateRequest,
+    callback: Callback<
+      protos.google.cloud.sql.v1.IOperation,
+      | protos.google.cloud.sql.v1.ISqlInstancesAddEntraIdCertificateRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   addEntraIdCertificate(
-      request?: protos.google.cloud.sql.v1.ISqlInstancesAddEntraIdCertificateRequest,
-      optionsOrCallback?: CallOptions|Callback<
-          protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlInstancesAddEntraIdCertificateRequest|null|undefined,
-          {}|null|undefined>,
-      callback?: Callback<
+    request?: protos.google.cloud.sql.v1.ISqlInstancesAddEntraIdCertificateRequest,
+    optionsOrCallback?:
+      | CallOptions
+      | Callback<
           protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlInstancesAddEntraIdCertificateRequest|null|undefined,
-          {}|null|undefined>):
-      Promise<[
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlInstancesAddEntraIdCertificateRequest|undefined, {}|undefined
-      ]>|void {
+          | protos.google.cloud.sql.v1.ISqlInstancesAddEntraIdCertificateRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >,
+    callback?: Callback<
+      protos.google.cloud.sql.v1.IOperation,
+      | protos.google.cloud.sql.v1.ISqlInstancesAddEntraIdCertificateRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1.IOperation,
+      (
+        | protos.google.cloud.sql.v1.ISqlInstancesAddEntraIdCertificateRequest
+        | undefined
+      ),
+      {} | undefined,
+    ]
+  > | void {
     request = request || {};
     let options: CallOptions;
     if (typeof optionsOrCallback === 'function' && callback === undefined) {
       callback = optionsOrCallback;
       options = {};
-    }
-    else {
+    } else {
       options = optionsOrCallback as CallOptions;
     }
     options = options || {};
     options.otherArgs = options.otherArgs || {};
     options.otherArgs.headers = options.otherArgs.headers || {};
-    options.otherArgs.headers[
-      'x-goog-request-params'
-    ] = this._gaxModule.routingHeader.fromParams({
-      'project': request.project ?? '',
-      'instance': request.instance ?? '',
+    options.otherArgs.headers['x-goog-request-params'] =
+      this._gaxModule.routingHeader.fromParams({
+        project: request.project ?? '',
+        instance: request.instance ?? '',
+      });
+    this.initialize().catch((err) => {
+      throw err;
     });
-    this.initialize().catch(err => {throw err});
     this._log.info('addEntraIdCertificate request %j', request);
-    const wrappedCallback: Callback<
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlInstancesAddEntraIdCertificateRequest|null|undefined,
-        {}|null|undefined>|undefined = callback
+    const wrappedCallback:
+      | Callback<
+          protos.google.cloud.sql.v1.IOperation,
+          | protos.google.cloud.sql.v1.ISqlInstancesAddEntraIdCertificateRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >
+      | undefined = callback
       ? (error, response, options, rawResponse) => {
           this._log.info('addEntraIdCertificate response %j', response);
           callback!(error, response, options, rawResponse); // We verified callback above.
         }
       : undefined;
-    return this.innerApiCalls.addEntraIdCertificate(request, options, wrappedCallback)
-      ?.then(([response, options, rawResponse]: [
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlInstancesAddEntraIdCertificateRequest|undefined,
-        {}|undefined
-      ]) => {
-        this._log.info('addEntraIdCertificate response %j', response);
-        return [response, options, rawResponse];
-      }).catch((error: any) => {
-        if (error && 'statusDetails' in error && error.statusDetails instanceof Array) {
-          const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type;
-          error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos);
+    return this.innerApiCalls
+      .addEntraIdCertificate(request, options, wrappedCallback)
+      ?.then(
+        ([response, options, rawResponse]: [
+          protos.google.cloud.sql.v1.IOperation,
+          (
+            | protos.google.cloud.sql.v1.ISqlInstancesAddEntraIdCertificateRequest
+            | undefined
+          ),
+          {} | undefined,
+        ]) => {
+          this._log.info('addEntraIdCertificate response %j', response);
+          return [response, options, rawResponse];
+        },
+      )
+      .catch((error: any) => {
+        if (
+          error &&
+          'statusDetails' in error &&
+          error.statusDetails instanceof Array
+        ) {
+          const protos = this._gaxModule.protobuf.Root.fromJSON(
+            jsonProtos,
+          ) as unknown as gax.protobuf.Type;
+          error.statusDetails = decodeAnyProtosInArray(
+            error.statusDetails,
+            protos,
+          );
         }
         throw error;
       });
   }
-/**
- * Creates a Cloud SQL instance as a clone of the source instance. Using this
- * operation might cause your instance to restart.
- *
- * @param {Object} request
- *   The request object that will be sent.
- * @param {string} request.instance
- *   Required. The ID of the Cloud SQL instance to be cloned (source). This does
- *   not include the project ID.
- * @param {string} request.project
- *   Required. Project ID of the source as well as the clone Cloud SQL instance.
- * @param {google.cloud.sql.v1.InstancesCloneRequest} request.body
- * @param {object} [options]
- *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
- * @returns {Promise} - The promise which resolves to an array.
- *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1.Operation|Operation}.
- *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
- *   for more details and examples.
- * @example <caption>include:samples/generated/v1/sql_instances_service.clone.js</caption>
- * region_tag:sqladmin_v1_generated_SqlInstancesService_Clone_async
- */
+  /**
+   * Creates a Cloud SQL instance as a clone of the source instance. Using this
+   * operation might cause your instance to restart.
+   *
+   * @param {Object} request
+   *   The request object that will be sent.
+   * @param {string} request.instance
+   *   Required. The ID of the Cloud SQL instance to be cloned (source). This does
+   *   not include the project ID.
+   * @param {string} request.project
+   *   Required. Project ID of the source Cloud SQL instance.
+   * @param {google.cloud.sql.v1.InstancesCloneRequest} request.body
+   * @param {object} [options]
+   *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+   * @returns {Promise} - The promise which resolves to an array.
+   *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1.Operation|Operation}.
+   *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
+   *   for more details and examples.
+   * @example <caption>include:samples/generated/v1/sql_instances_service.clone.js</caption>
+   * region_tag:sqladmin_v1_generated_SqlInstancesService_Clone_async
+   */
   clone(
-      request?: protos.google.cloud.sql.v1.ISqlInstancesCloneRequest,
-      options?: CallOptions):
-      Promise<[
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlInstancesCloneRequest|undefined, {}|undefined
-      ]>;
+    request?: protos.google.cloud.sql.v1.ISqlInstancesCloneRequest,
+    options?: CallOptions,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1.IOperation,
+      protos.google.cloud.sql.v1.ISqlInstancesCloneRequest | undefined,
+      {} | undefined,
+    ]
+  >;
   clone(
-      request: protos.google.cloud.sql.v1.ISqlInstancesCloneRequest,
-      options: CallOptions,
-      callback: Callback<
-          protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlInstancesCloneRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1.ISqlInstancesCloneRequest,
+    options: CallOptions,
+    callback: Callback<
+      protos.google.cloud.sql.v1.IOperation,
+      protos.google.cloud.sql.v1.ISqlInstancesCloneRequest | null | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   clone(
-      request: protos.google.cloud.sql.v1.ISqlInstancesCloneRequest,
-      callback: Callback<
-          protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlInstancesCloneRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1.ISqlInstancesCloneRequest,
+    callback: Callback<
+      protos.google.cloud.sql.v1.IOperation,
+      protos.google.cloud.sql.v1.ISqlInstancesCloneRequest | null | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   clone(
-      request?: protos.google.cloud.sql.v1.ISqlInstancesCloneRequest,
-      optionsOrCallback?: CallOptions|Callback<
-          protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlInstancesCloneRequest|null|undefined,
-          {}|null|undefined>,
-      callback?: Callback<
+    request?: protos.google.cloud.sql.v1.ISqlInstancesCloneRequest,
+    optionsOrCallback?:
+      | CallOptions
+      | Callback<
           protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlInstancesCloneRequest|null|undefined,
-          {}|null|undefined>):
-      Promise<[
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlInstancesCloneRequest|undefined, {}|undefined
-      ]>|void {
+          | protos.google.cloud.sql.v1.ISqlInstancesCloneRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >,
+    callback?: Callback<
+      protos.google.cloud.sql.v1.IOperation,
+      protos.google.cloud.sql.v1.ISqlInstancesCloneRequest | null | undefined,
+      {} | null | undefined
+    >,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1.IOperation,
+      protos.google.cloud.sql.v1.ISqlInstancesCloneRequest | undefined,
+      {} | undefined,
+    ]
+  > | void {
     request = request || {};
     let options: CallOptions;
     if (typeof optionsOrCallback === 'function' && callback === undefined) {
       callback = optionsOrCallback;
       options = {};
-    }
-    else {
+    } else {
       options = optionsOrCallback as CallOptions;
     }
     options = options || {};
     options.otherArgs = options.otherArgs || {};
     options.otherArgs.headers = options.otherArgs.headers || {};
-    options.otherArgs.headers[
-      'x-goog-request-params'
-    ] = this._gaxModule.routingHeader.fromParams({
-      'project': request.project ?? '',
-      'instance': request.instance ?? '',
+    options.otherArgs.headers['x-goog-request-params'] =
+      this._gaxModule.routingHeader.fromParams({
+        project: request.project ?? '',
+        instance: request.instance ?? '',
+      });
+    this.initialize().catch((err) => {
+      throw err;
     });
-    this.initialize().catch(err => {throw err});
     this._log.info('clone request %j', request);
-    const wrappedCallback: Callback<
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlInstancesCloneRequest|null|undefined,
-        {}|null|undefined>|undefined = callback
+    const wrappedCallback:
+      | Callback<
+          protos.google.cloud.sql.v1.IOperation,
+          | protos.google.cloud.sql.v1.ISqlInstancesCloneRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >
+      | undefined = callback
       ? (error, response, options, rawResponse) => {
           this._log.info('clone response %j', response);
           callback!(error, response, options, rawResponse); // We verified callback above.
         }
       : undefined;
-    return this.innerApiCalls.clone(request, options, wrappedCallback)
-      ?.then(([response, options, rawResponse]: [
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlInstancesCloneRequest|undefined,
-        {}|undefined
-      ]) => {
-        this._log.info('clone response %j', response);
-        return [response, options, rawResponse];
-      }).catch((error: any) => {
-        if (error && 'statusDetails' in error && error.statusDetails instanceof Array) {
-          const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type;
-          error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos);
+    return this.innerApiCalls
+      .clone(request, options, wrappedCallback)
+      ?.then(
+        ([response, options, rawResponse]: [
+          protos.google.cloud.sql.v1.IOperation,
+          protos.google.cloud.sql.v1.ISqlInstancesCloneRequest | undefined,
+          {} | undefined,
+        ]) => {
+          this._log.info('clone response %j', response);
+          return [response, options, rawResponse];
+        },
+      )
+      .catch((error: any) => {
+        if (
+          error &&
+          'statusDetails' in error &&
+          error.statusDetails instanceof Array
+        ) {
+          const protos = this._gaxModule.protobuf.Root.fromJSON(
+            jsonProtos,
+          ) as unknown as gax.protobuf.Type;
+          error.statusDetails = decodeAnyProtosInArray(
+            error.statusDetails,
+            protos,
+          );
         }
         throw error;
       });
   }
-/**
- * Deletes a Cloud SQL instance.
- *
- * @param {Object} request
- *   The request object that will be sent.
- * @param {string} request.instance
- *   Cloud SQL instance ID. This does not include the project ID.
- * @param {string} request.project
- *   Project ID of the project that contains the instance to be deleted.
- * @param {boolean} request.enableFinalBackup
- *   Flag to opt-in for final backup. By default, it is turned off.
- * @param {number} [request.finalBackupTtlDays]
- *   Optional. Retention period of the final backup.
- * @param {google.protobuf.Timestamp} [request.finalBackupExpiryTime]
- *   Optional. Final Backup expiration time.
- *   Timestamp in UTC of when this resource is considered expired.
- * @param {string} [request.finalBackupDescription]
- *   Optional. The description of the final backup.
- * @param {object} [options]
- *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
- * @returns {Promise} - The promise which resolves to an array.
- *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1.Operation|Operation}.
- *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
- *   for more details and examples.
- * @example <caption>include:samples/generated/v1/sql_instances_service.delete.js</caption>
- * region_tag:sqladmin_v1_generated_SqlInstancesService_Delete_async
- */
+  /**
+   * Deletes a Cloud SQL instance.
+   *
+   * @param {Object} request
+   *   The request object that will be sent.
+   * @param {string} request.instance
+   *   Cloud SQL instance ID. This does not include the project ID.
+   * @param {string} request.project
+   *   Project ID of the project that contains the instance to be deleted.
+   * @param {boolean} request.enableFinalBackup
+   *   Flag to opt-in for final backup. By default, it is turned off.
+   * @param {number} [request.finalBackupTtlDays]
+   *   Optional. Retention period of the final backup.
+   * @param {google.protobuf.Timestamp} [request.finalBackupExpiryTime]
+   *   Optional. Final Backup expiration time.
+   *   Timestamp in UTC of when this resource is considered expired.
+   * @param {string} [request.finalBackupDescription]
+   *   Optional. The description of the final backup.
+   * @param {object} [options]
+   *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+   * @returns {Promise} - The promise which resolves to an array.
+   *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1.Operation|Operation}.
+   *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
+   *   for more details and examples.
+   * @example <caption>include:samples/generated/v1/sql_instances_service.delete.js</caption>
+   * region_tag:sqladmin_v1_generated_SqlInstancesService_Delete_async
+   */
   delete(
-      request?: protos.google.cloud.sql.v1.ISqlInstancesDeleteRequest,
-      options?: CallOptions):
-      Promise<[
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlInstancesDeleteRequest|undefined, {}|undefined
-      ]>;
+    request?: protos.google.cloud.sql.v1.ISqlInstancesDeleteRequest,
+    options?: CallOptions,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1.IOperation,
+      protos.google.cloud.sql.v1.ISqlInstancesDeleteRequest | undefined,
+      {} | undefined,
+    ]
+  >;
   delete(
-      request: protos.google.cloud.sql.v1.ISqlInstancesDeleteRequest,
-      options: CallOptions,
-      callback: Callback<
-          protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlInstancesDeleteRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1.ISqlInstancesDeleteRequest,
+    options: CallOptions,
+    callback: Callback<
+      protos.google.cloud.sql.v1.IOperation,
+      protos.google.cloud.sql.v1.ISqlInstancesDeleteRequest | null | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   delete(
-      request: protos.google.cloud.sql.v1.ISqlInstancesDeleteRequest,
-      callback: Callback<
-          protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlInstancesDeleteRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1.ISqlInstancesDeleteRequest,
+    callback: Callback<
+      protos.google.cloud.sql.v1.IOperation,
+      protos.google.cloud.sql.v1.ISqlInstancesDeleteRequest | null | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   delete(
-      request?: protos.google.cloud.sql.v1.ISqlInstancesDeleteRequest,
-      optionsOrCallback?: CallOptions|Callback<
-          protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlInstancesDeleteRequest|null|undefined,
-          {}|null|undefined>,
-      callback?: Callback<
+    request?: protos.google.cloud.sql.v1.ISqlInstancesDeleteRequest,
+    optionsOrCallback?:
+      | CallOptions
+      | Callback<
           protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlInstancesDeleteRequest|null|undefined,
-          {}|null|undefined>):
-      Promise<[
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlInstancesDeleteRequest|undefined, {}|undefined
-      ]>|void {
+          | protos.google.cloud.sql.v1.ISqlInstancesDeleteRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >,
+    callback?: Callback<
+      protos.google.cloud.sql.v1.IOperation,
+      protos.google.cloud.sql.v1.ISqlInstancesDeleteRequest | null | undefined,
+      {} | null | undefined
+    >,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1.IOperation,
+      protos.google.cloud.sql.v1.ISqlInstancesDeleteRequest | undefined,
+      {} | undefined,
+    ]
+  > | void {
     request = request || {};
     let options: CallOptions;
     if (typeof optionsOrCallback === 'function' && callback === undefined) {
       callback = optionsOrCallback;
       options = {};
-    }
-    else {
+    } else {
       options = optionsOrCallback as CallOptions;
     }
     options = options || {};
     options.otherArgs = options.otherArgs || {};
     options.otherArgs.headers = options.otherArgs.headers || {};
-    options.otherArgs.headers[
-      'x-goog-request-params'
-    ] = this._gaxModule.routingHeader.fromParams({
-      'project': request.project ?? '',
-      'instance': request.instance ?? '',
+    options.otherArgs.headers['x-goog-request-params'] =
+      this._gaxModule.routingHeader.fromParams({
+        project: request.project ?? '',
+        instance: request.instance ?? '',
+      });
+    this.initialize().catch((err) => {
+      throw err;
     });
-    this.initialize().catch(err => {throw err});
     this._log.info('delete request %j', request);
-    const wrappedCallback: Callback<
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlInstancesDeleteRequest|null|undefined,
-        {}|null|undefined>|undefined = callback
+    const wrappedCallback:
+      | Callback<
+          protos.google.cloud.sql.v1.IOperation,
+          | protos.google.cloud.sql.v1.ISqlInstancesDeleteRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >
+      | undefined = callback
       ? (error, response, options, rawResponse) => {
           this._log.info('delete response %j', response);
           callback!(error, response, options, rawResponse); // We verified callback above.
         }
       : undefined;
-    return this.innerApiCalls.delete(request, options, wrappedCallback)
-      ?.then(([response, options, rawResponse]: [
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlInstancesDeleteRequest|undefined,
-        {}|undefined
-      ]) => {
-        this._log.info('delete response %j', response);
-        return [response, options, rawResponse];
-      }).catch((error: any) => {
-        if (error && 'statusDetails' in error && error.statusDetails instanceof Array) {
-          const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type;
-          error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos);
+    return this.innerApiCalls
+      .delete(request, options, wrappedCallback)
+      ?.then(
+        ([response, options, rawResponse]: [
+          protos.google.cloud.sql.v1.IOperation,
+          protos.google.cloud.sql.v1.ISqlInstancesDeleteRequest | undefined,
+          {} | undefined,
+        ]) => {
+          this._log.info('delete response %j', response);
+          return [response, options, rawResponse];
+        },
+      )
+      .catch((error: any) => {
+        if (
+          error &&
+          'statusDetails' in error &&
+          error.statusDetails instanceof Array
+        ) {
+          const protos = this._gaxModule.protobuf.Root.fromJSON(
+            jsonProtos,
+          ) as unknown as gax.protobuf.Type;
+          error.statusDetails = decodeAnyProtosInArray(
+            error.statusDetails,
+            protos,
+          );
         }
         throw error;
       });
   }
-/**
- * Demotes the stand-alone instance to be a Cloud SQL read replica for an
- * external database server.
- *
- * @param {Object} request
- *   The request object that will be sent.
- * @param {string} request.instance
- *   Cloud SQL instance name.
- * @param {string} request.project
- *   ID of the project that contains the instance.
- * @param {google.cloud.sql.v1.InstancesDemoteMasterRequest} request.body
- * @param {object} [options]
- *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
- * @returns {Promise} - The promise which resolves to an array.
- *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1.Operation|Operation}.
- *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
- *   for more details and examples.
- * @example <caption>include:samples/generated/v1/sql_instances_service.demote_master.js</caption>
- * region_tag:sqladmin_v1_generated_SqlInstancesService_DemoteMaster_async
- */
+  /**
+   * Demotes the stand-alone instance to be a Cloud SQL read replica for an
+   * external database server.
+   *
+   * @param {Object} request
+   *   The request object that will be sent.
+   * @param {string} request.instance
+   *   Cloud SQL instance name.
+   * @param {string} request.project
+   *   ID of the project that contains the instance.
+   * @param {google.cloud.sql.v1.InstancesDemoteMasterRequest} request.body
+   * @param {object} [options]
+   *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+   * @returns {Promise} - The promise which resolves to an array.
+   *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1.Operation|Operation}.
+   *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
+   *   for more details and examples.
+   * @example <caption>include:samples/generated/v1/sql_instances_service.demote_master.js</caption>
+   * region_tag:sqladmin_v1_generated_SqlInstancesService_DemoteMaster_async
+   */
   demoteMaster(
-      request?: protos.google.cloud.sql.v1.ISqlInstancesDemoteMasterRequest,
-      options?: CallOptions):
-      Promise<[
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlInstancesDemoteMasterRequest|undefined, {}|undefined
-      ]>;
+    request?: protos.google.cloud.sql.v1.ISqlInstancesDemoteMasterRequest,
+    options?: CallOptions,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1.IOperation,
+      protos.google.cloud.sql.v1.ISqlInstancesDemoteMasterRequest | undefined,
+      {} | undefined,
+    ]
+  >;
   demoteMaster(
-      request: protos.google.cloud.sql.v1.ISqlInstancesDemoteMasterRequest,
-      options: CallOptions,
-      callback: Callback<
-          protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlInstancesDemoteMasterRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1.ISqlInstancesDemoteMasterRequest,
+    options: CallOptions,
+    callback: Callback<
+      protos.google.cloud.sql.v1.IOperation,
+      | protos.google.cloud.sql.v1.ISqlInstancesDemoteMasterRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   demoteMaster(
-      request: protos.google.cloud.sql.v1.ISqlInstancesDemoteMasterRequest,
-      callback: Callback<
-          protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlInstancesDemoteMasterRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1.ISqlInstancesDemoteMasterRequest,
+    callback: Callback<
+      protos.google.cloud.sql.v1.IOperation,
+      | protos.google.cloud.sql.v1.ISqlInstancesDemoteMasterRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   demoteMaster(
-      request?: protos.google.cloud.sql.v1.ISqlInstancesDemoteMasterRequest,
-      optionsOrCallback?: CallOptions|Callback<
-          protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlInstancesDemoteMasterRequest|null|undefined,
-          {}|null|undefined>,
-      callback?: Callback<
+    request?: protos.google.cloud.sql.v1.ISqlInstancesDemoteMasterRequest,
+    optionsOrCallback?:
+      | CallOptions
+      | Callback<
           protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlInstancesDemoteMasterRequest|null|undefined,
-          {}|null|undefined>):
-      Promise<[
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlInstancesDemoteMasterRequest|undefined, {}|undefined
-      ]>|void {
+          | protos.google.cloud.sql.v1.ISqlInstancesDemoteMasterRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >,
+    callback?: Callback<
+      protos.google.cloud.sql.v1.IOperation,
+      | protos.google.cloud.sql.v1.ISqlInstancesDemoteMasterRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1.IOperation,
+      protos.google.cloud.sql.v1.ISqlInstancesDemoteMasterRequest | undefined,
+      {} | undefined,
+    ]
+  > | void {
     request = request || {};
     let options: CallOptions;
     if (typeof optionsOrCallback === 'function' && callback === undefined) {
       callback = optionsOrCallback;
       options = {};
-    }
-    else {
+    } else {
       options = optionsOrCallback as CallOptions;
     }
     options = options || {};
     options.otherArgs = options.otherArgs || {};
     options.otherArgs.headers = options.otherArgs.headers || {};
-    options.otherArgs.headers[
-      'x-goog-request-params'
-    ] = this._gaxModule.routingHeader.fromParams({
-      'project': request.project ?? '',
-      'instance': request.instance ?? '',
+    options.otherArgs.headers['x-goog-request-params'] =
+      this._gaxModule.routingHeader.fromParams({
+        project: request.project ?? '',
+        instance: request.instance ?? '',
+      });
+    this.initialize().catch((err) => {
+      throw err;
     });
-    this.initialize().catch(err => {throw err});
     this._log.info('demoteMaster request %j', request);
-    const wrappedCallback: Callback<
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlInstancesDemoteMasterRequest|null|undefined,
-        {}|null|undefined>|undefined = callback
+    const wrappedCallback:
+      | Callback<
+          protos.google.cloud.sql.v1.IOperation,
+          | protos.google.cloud.sql.v1.ISqlInstancesDemoteMasterRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >
+      | undefined = callback
       ? (error, response, options, rawResponse) => {
           this._log.info('demoteMaster response %j', response);
           callback!(error, response, options, rawResponse); // We verified callback above.
         }
       : undefined;
-    return this.innerApiCalls.demoteMaster(request, options, wrappedCallback)
-      ?.then(([response, options, rawResponse]: [
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlInstancesDemoteMasterRequest|undefined,
-        {}|undefined
-      ]) => {
-        this._log.info('demoteMaster response %j', response);
-        return [response, options, rawResponse];
-      }).catch((error: any) => {
-        if (error && 'statusDetails' in error && error.statusDetails instanceof Array) {
-          const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type;
-          error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos);
+    return this.innerApiCalls
+      .demoteMaster(request, options, wrappedCallback)
+      ?.then(
+        ([response, options, rawResponse]: [
+          protos.google.cloud.sql.v1.IOperation,
+          (
+            | protos.google.cloud.sql.v1.ISqlInstancesDemoteMasterRequest
+            | undefined
+          ),
+          {} | undefined,
+        ]) => {
+          this._log.info('demoteMaster response %j', response);
+          return [response, options, rawResponse];
+        },
+      )
+      .catch((error: any) => {
+        if (
+          error &&
+          'statusDetails' in error &&
+          error.statusDetails instanceof Array
+        ) {
+          const protos = this._gaxModule.protobuf.Root.fromJSON(
+            jsonProtos,
+          ) as unknown as gax.protobuf.Type;
+          error.statusDetails = decodeAnyProtosInArray(
+            error.statusDetails,
+            protos,
+          );
         }
         throw error;
       });
   }
-/**
- * Demotes an existing standalone instance to be a Cloud SQL read replica
- * for an external database server.
- *
- * @param {Object} request
- *   The request object that will be sent.
- * @param {string} request.instance
- *   Required. Cloud SQL instance name.
- * @param {string} request.project
- *   Required. ID of the project that contains the instance.
- * @param {google.cloud.sql.v1.InstancesDemoteRequest} request.body
- *   Required. The request body.
- * @param {object} [options]
- *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
- * @returns {Promise} - The promise which resolves to an array.
- *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1.Operation|Operation}.
- *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
- *   for more details and examples.
- * @example <caption>include:samples/generated/v1/sql_instances_service.demote.js</caption>
- * region_tag:sqladmin_v1_generated_SqlInstancesService_Demote_async
- */
-  demote(
-      request?: protos.google.cloud.sql.v1.ISqlInstancesDemoteRequest,
-      options?: CallOptions):
-      Promise<[
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlInstancesDemoteRequest|undefined, {}|undefined
-      ]>;
-  demote(
-      request: protos.google.cloud.sql.v1.ISqlInstancesDemoteRequest,
-      options: CallOptions,
-      callback: Callback<
-          protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlInstancesDemoteRequest|null|undefined,
-          {}|null|undefined>): void;
-  demote(
-      request: protos.google.cloud.sql.v1.ISqlInstancesDemoteRequest,
-      callback: Callback<
-          protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlInstancesDemoteRequest|null|undefined,
-          {}|null|undefined>): void;
+  /**
+   * Demotes an existing standalone instance to be a Cloud SQL read replica
+   * for an external database server.
+   *
+   * @param {Object} request
+   *   The request object that will be sent.
+   * @param {string} request.instance
+   *   Required. Cloud SQL instance name.
+   * @param {string} request.project
+   *   Required. ID of the project that contains the instance.
+   * @param {google.cloud.sql.v1.InstancesDemoteRequest} request.body
+   *   Required. The request body.
+   * @param {object} [options]
+   *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+   * @returns {Promise} - The promise which resolves to an array.
+   *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1.Operation|Operation}.
+   *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
+   *   for more details and examples.
+   * @example <caption>include:samples/generated/v1/sql_instances_service.demote.js</caption>
+   * region_tag:sqladmin_v1_generated_SqlInstancesService_Demote_async
+   */
   demote(
-      request?: protos.google.cloud.sql.v1.ISqlInstancesDemoteRequest,
-      optionsOrCallback?: CallOptions|Callback<
-          protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlInstancesDemoteRequest|null|undefined,
-          {}|null|undefined>,
-      callback?: Callback<
+    request?: protos.google.cloud.sql.v1.ISqlInstancesDemoteRequest,
+    options?: CallOptions,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1.IOperation,
+      protos.google.cloud.sql.v1.ISqlInstancesDemoteRequest | undefined,
+      {} | undefined,
+    ]
+  >;
+  demote(
+    request: protos.google.cloud.sql.v1.ISqlInstancesDemoteRequest,
+    options: CallOptions,
+    callback: Callback<
+      protos.google.cloud.sql.v1.IOperation,
+      protos.google.cloud.sql.v1.ISqlInstancesDemoteRequest | null | undefined,
+      {} | null | undefined
+    >,
+  ): void;
+  demote(
+    request: protos.google.cloud.sql.v1.ISqlInstancesDemoteRequest,
+    callback: Callback<
+      protos.google.cloud.sql.v1.IOperation,
+      protos.google.cloud.sql.v1.ISqlInstancesDemoteRequest | null | undefined,
+      {} | null | undefined
+    >,
+  ): void;
+  demote(
+    request?: protos.google.cloud.sql.v1.ISqlInstancesDemoteRequest,
+    optionsOrCallback?:
+      | CallOptions
+      | Callback<
           protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlInstancesDemoteRequest|null|undefined,
-          {}|null|undefined>):
-      Promise<[
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlInstancesDemoteRequest|undefined, {}|undefined
-      ]>|void {
+          | protos.google.cloud.sql.v1.ISqlInstancesDemoteRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >,
+    callback?: Callback<
+      protos.google.cloud.sql.v1.IOperation,
+      protos.google.cloud.sql.v1.ISqlInstancesDemoteRequest | null | undefined,
+      {} | null | undefined
+    >,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1.IOperation,
+      protos.google.cloud.sql.v1.ISqlInstancesDemoteRequest | undefined,
+      {} | undefined,
+    ]
+  > | void {
     request = request || {};
     let options: CallOptions;
     if (typeof optionsOrCallback === 'function' && callback === undefined) {
       callback = optionsOrCallback;
       options = {};
-    }
-    else {
+    } else {
       options = optionsOrCallback as CallOptions;
     }
     options = options || {};
     options.otherArgs = options.otherArgs || {};
     options.otherArgs.headers = options.otherArgs.headers || {};
-    options.otherArgs.headers[
-      'x-goog-request-params'
-    ] = this._gaxModule.routingHeader.fromParams({
-      'project': request.project ?? '',
-      'instance': request.instance ?? '',
+    options.otherArgs.headers['x-goog-request-params'] =
+      this._gaxModule.routingHeader.fromParams({
+        project: request.project ?? '',
+        instance: request.instance ?? '',
+      });
+    this.initialize().catch((err) => {
+      throw err;
     });
-    this.initialize().catch(err => {throw err});
     this._log.info('demote request %j', request);
-    const wrappedCallback: Callback<
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlInstancesDemoteRequest|null|undefined,
-        {}|null|undefined>|undefined = callback
+    const wrappedCallback:
+      | Callback<
+          protos.google.cloud.sql.v1.IOperation,
+          | protos.google.cloud.sql.v1.ISqlInstancesDemoteRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >
+      | undefined = callback
       ? (error, response, options, rawResponse) => {
           this._log.info('demote response %j', response);
           callback!(error, response, options, rawResponse); // We verified callback above.
         }
       : undefined;
-    return this.innerApiCalls.demote(request, options, wrappedCallback)
-      ?.then(([response, options, rawResponse]: [
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlInstancesDemoteRequest|undefined,
-        {}|undefined
-      ]) => {
-        this._log.info('demote response %j', response);
-        return [response, options, rawResponse];
-      }).catch((error: any) => {
-        if (error && 'statusDetails' in error && error.statusDetails instanceof Array) {
-          const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type;
-          error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos);
+    return this.innerApiCalls
+      .demote(request, options, wrappedCallback)
+      ?.then(
+        ([response, options, rawResponse]: [
+          protos.google.cloud.sql.v1.IOperation,
+          protos.google.cloud.sql.v1.ISqlInstancesDemoteRequest | undefined,
+          {} | undefined,
+        ]) => {
+          this._log.info('demote response %j', response);
+          return [response, options, rawResponse];
+        },
+      )
+      .catch((error: any) => {
+        if (
+          error &&
+          'statusDetails' in error &&
+          error.statusDetails instanceof Array
+        ) {
+          const protos = this._gaxModule.protobuf.Root.fromJSON(
+            jsonProtos,
+          ) as unknown as gax.protobuf.Type;
+          error.statusDetails = decodeAnyProtosInArray(
+            error.statusDetails,
+            protos,
+          );
         }
         throw error;
       });
   }
-/**
- * Exports data from a Cloud SQL instance to a Cloud Storage bucket as a SQL
- * dump or CSV file.
- *
- * @param {Object} request
- *   The request object that will be sent.
- * @param {string} request.instance
- *   Cloud SQL instance ID. This does not include the project ID.
- * @param {string} request.project
- *   Project ID of the project that contains the instance to be exported.
- * @param {google.cloud.sql.v1.InstancesExportRequest} request.body
- * @param {object} [options]
- *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
- * @returns {Promise} - The promise which resolves to an array.
- *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1.Operation|Operation}.
- *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
- *   for more details and examples.
- * @example <caption>include:samples/generated/v1/sql_instances_service.export.js</caption>
- * region_tag:sqladmin_v1_generated_SqlInstancesService_Export_async
- */
+  /**
+   * Exports data from a Cloud SQL instance to a Cloud Storage bucket as a SQL
+   * dump or CSV file.
+   *
+   * @param {Object} request
+   *   The request object that will be sent.
+   * @param {string} request.instance
+   *   Cloud SQL instance ID. This does not include the project ID.
+   * @param {string} request.project
+   *   Project ID of the project that contains the instance to be exported.
+   * @param {google.cloud.sql.v1.InstancesExportRequest} request.body
+   * @param {object} [options]
+   *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+   * @returns {Promise} - The promise which resolves to an array.
+   *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1.Operation|Operation}.
+   *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
+   *   for more details and examples.
+   * @example <caption>include:samples/generated/v1/sql_instances_service.export.js</caption>
+   * region_tag:sqladmin_v1_generated_SqlInstancesService_Export_async
+   */
   export(
-      request?: protos.google.cloud.sql.v1.ISqlInstancesExportRequest,
-      options?: CallOptions):
-      Promise<[
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlInstancesExportRequest|undefined, {}|undefined
-      ]>;
+    request?: protos.google.cloud.sql.v1.ISqlInstancesExportRequest,
+    options?: CallOptions,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1.IOperation,
+      protos.google.cloud.sql.v1.ISqlInstancesExportRequest | undefined,
+      {} | undefined,
+    ]
+  >;
   export(
-      request: protos.google.cloud.sql.v1.ISqlInstancesExportRequest,
-      options: CallOptions,
-      callback: Callback<
-          protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlInstancesExportRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1.ISqlInstancesExportRequest,
+    options: CallOptions,
+    callback: Callback<
+      protos.google.cloud.sql.v1.IOperation,
+      protos.google.cloud.sql.v1.ISqlInstancesExportRequest | null | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   export(
-      request: protos.google.cloud.sql.v1.ISqlInstancesExportRequest,
-      callback: Callback<
-          protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlInstancesExportRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1.ISqlInstancesExportRequest,
+    callback: Callback<
+      protos.google.cloud.sql.v1.IOperation,
+      protos.google.cloud.sql.v1.ISqlInstancesExportRequest | null | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   export(
-      request?: protos.google.cloud.sql.v1.ISqlInstancesExportRequest,
-      optionsOrCallback?: CallOptions|Callback<
-          protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlInstancesExportRequest|null|undefined,
-          {}|null|undefined>,
-      callback?: Callback<
+    request?: protos.google.cloud.sql.v1.ISqlInstancesExportRequest,
+    optionsOrCallback?:
+      | CallOptions
+      | Callback<
           protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlInstancesExportRequest|null|undefined,
-          {}|null|undefined>):
-      Promise<[
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlInstancesExportRequest|undefined, {}|undefined
-      ]>|void {
+          | protos.google.cloud.sql.v1.ISqlInstancesExportRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >,
+    callback?: Callback<
+      protos.google.cloud.sql.v1.IOperation,
+      protos.google.cloud.sql.v1.ISqlInstancesExportRequest | null | undefined,
+      {} | null | undefined
+    >,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1.IOperation,
+      protos.google.cloud.sql.v1.ISqlInstancesExportRequest | undefined,
+      {} | undefined,
+    ]
+  > | void {
     request = request || {};
     let options: CallOptions;
     if (typeof optionsOrCallback === 'function' && callback === undefined) {
       callback = optionsOrCallback;
       options = {};
-    }
-    else {
+    } else {
       options = optionsOrCallback as CallOptions;
     }
     options = options || {};
     options.otherArgs = options.otherArgs || {};
     options.otherArgs.headers = options.otherArgs.headers || {};
-    options.otherArgs.headers[
-      'x-goog-request-params'
-    ] = this._gaxModule.routingHeader.fromParams({
-      'project': request.project ?? '',
-      'instance': request.instance ?? '',
+    options.otherArgs.headers['x-goog-request-params'] =
+      this._gaxModule.routingHeader.fromParams({
+        project: request.project ?? '',
+        instance: request.instance ?? '',
+      });
+    this.initialize().catch((err) => {
+      throw err;
     });
-    this.initialize().catch(err => {throw err});
     this._log.info('export request %j', request);
-    const wrappedCallback: Callback<
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlInstancesExportRequest|null|undefined,
-        {}|null|undefined>|undefined = callback
+    const wrappedCallback:
+      | Callback<
+          protos.google.cloud.sql.v1.IOperation,
+          | protos.google.cloud.sql.v1.ISqlInstancesExportRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >
+      | undefined = callback
       ? (error, response, options, rawResponse) => {
           this._log.info('export response %j', response);
           callback!(error, response, options, rawResponse); // We verified callback above.
         }
       : undefined;
-    return this.innerApiCalls.export(request, options, wrappedCallback)
-      ?.then(([response, options, rawResponse]: [
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlInstancesExportRequest|undefined,
-        {}|undefined
-      ]) => {
-        this._log.info('export response %j', response);
-        return [response, options, rawResponse];
-      }).catch((error: any) => {
-        if (error && 'statusDetails' in error && error.statusDetails instanceof Array) {
-          const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type;
-          error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos);
+    return this.innerApiCalls
+      .export(request, options, wrappedCallback)
+      ?.then(
+        ([response, options, rawResponse]: [
+          protos.google.cloud.sql.v1.IOperation,
+          protos.google.cloud.sql.v1.ISqlInstancesExportRequest | undefined,
+          {} | undefined,
+        ]) => {
+          this._log.info('export response %j', response);
+          return [response, options, rawResponse];
+        },
+      )
+      .catch((error: any) => {
+        if (
+          error &&
+          'statusDetails' in error &&
+          error.statusDetails instanceof Array
+        ) {
+          const protos = this._gaxModule.protobuf.Root.fromJSON(
+            jsonProtos,
+          ) as unknown as gax.protobuf.Type;
+          error.statusDetails = decodeAnyProtosInArray(
+            error.statusDetails,
+            protos,
+          );
         }
         throw error;
       });
   }
-/**
- * Initiates a manual failover of a high availability (HA) primary instance
- * to a standby instance, which becomes the primary instance. Users are
- * then rerouted to the new primary. For more information, see the
- * [Overview of high
- * availability](https://cloud.google.com/sql/docs/mysql/high-availability)
- * page in the Cloud SQL documentation.
- * If using Legacy HA (MySQL only), this causes the instance to failover to
- * its failover replica instance.
- *
- * @param {Object} request
- *   The request object that will be sent.
- * @param {string} request.instance
- *   Cloud SQL instance ID. This does not include the project ID.
- * @param {string} request.project
- *   ID of the project that contains the read replica.
- * @param {google.cloud.sql.v1.InstancesFailoverRequest} request.body
- * @param {object} [options]
- *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
- * @returns {Promise} - The promise which resolves to an array.
- *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1.Operation|Operation}.
- *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
- *   for more details and examples.
- * @example <caption>include:samples/generated/v1/sql_instances_service.failover.js</caption>
- * region_tag:sqladmin_v1_generated_SqlInstancesService_Failover_async
- */
+  /**
+   * Initiates a manual failover of a high availability (HA) primary instance
+   * to a standby instance, which becomes the primary instance. Users are
+   * then rerouted to the new primary. For more information, see the
+   * [Overview of high
+   * availability](https://cloud.google.com/sql/docs/mysql/high-availability)
+   * page in the Cloud SQL documentation.
+   * If using Legacy HA (MySQL only), this causes the instance to failover to
+   * its failover replica instance.
+   *
+   * @param {Object} request
+   *   The request object that will be sent.
+   * @param {string} request.instance
+   *   Cloud SQL instance ID. This does not include the project ID.
+   * @param {string} request.project
+   *   ID of the project that contains the read replica.
+   * @param {google.cloud.sql.v1.InstancesFailoverRequest} request.body
+   * @param {object} [options]
+   *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+   * @returns {Promise} - The promise which resolves to an array.
+   *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1.Operation|Operation}.
+   *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
+   *   for more details and examples.
+   * @example <caption>include:samples/generated/v1/sql_instances_service.failover.js</caption>
+   * region_tag:sqladmin_v1_generated_SqlInstancesService_Failover_async
+   */
   failover(
-      request?: protos.google.cloud.sql.v1.ISqlInstancesFailoverRequest,
-      options?: CallOptions):
-      Promise<[
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlInstancesFailoverRequest|undefined, {}|undefined
-      ]>;
+    request?: protos.google.cloud.sql.v1.ISqlInstancesFailoverRequest,
+    options?: CallOptions,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1.IOperation,
+      protos.google.cloud.sql.v1.ISqlInstancesFailoverRequest | undefined,
+      {} | undefined,
+    ]
+  >;
   failover(
-      request: protos.google.cloud.sql.v1.ISqlInstancesFailoverRequest,
-      options: CallOptions,
-      callback: Callback<
-          protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlInstancesFailoverRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1.ISqlInstancesFailoverRequest,
+    options: CallOptions,
+    callback: Callback<
+      protos.google.cloud.sql.v1.IOperation,
+      | protos.google.cloud.sql.v1.ISqlInstancesFailoverRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   failover(
-      request: protos.google.cloud.sql.v1.ISqlInstancesFailoverRequest,
-      callback: Callback<
-          protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlInstancesFailoverRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1.ISqlInstancesFailoverRequest,
+    callback: Callback<
+      protos.google.cloud.sql.v1.IOperation,
+      | protos.google.cloud.sql.v1.ISqlInstancesFailoverRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   failover(
-      request?: protos.google.cloud.sql.v1.ISqlInstancesFailoverRequest,
-      optionsOrCallback?: CallOptions|Callback<
-          protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlInstancesFailoverRequest|null|undefined,
-          {}|null|undefined>,
-      callback?: Callback<
+    request?: protos.google.cloud.sql.v1.ISqlInstancesFailoverRequest,
+    optionsOrCallback?:
+      | CallOptions
+      | Callback<
           protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlInstancesFailoverRequest|null|undefined,
-          {}|null|undefined>):
-      Promise<[
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlInstancesFailoverRequest|undefined, {}|undefined
-      ]>|void {
+          | protos.google.cloud.sql.v1.ISqlInstancesFailoverRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >,
+    callback?: Callback<
+      protos.google.cloud.sql.v1.IOperation,
+      | protos.google.cloud.sql.v1.ISqlInstancesFailoverRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1.IOperation,
+      protos.google.cloud.sql.v1.ISqlInstancesFailoverRequest | undefined,
+      {} | undefined,
+    ]
+  > | void {
     request = request || {};
     let options: CallOptions;
     if (typeof optionsOrCallback === 'function' && callback === undefined) {
       callback = optionsOrCallback;
       options = {};
-    }
-    else {
+    } else {
       options = optionsOrCallback as CallOptions;
     }
     options = options || {};
     options.otherArgs = options.otherArgs || {};
     options.otherArgs.headers = options.otherArgs.headers || {};
-    options.otherArgs.headers[
-      'x-goog-request-params'
-    ] = this._gaxModule.routingHeader.fromParams({
-      'project': request.project ?? '',
-      'instance': request.instance ?? '',
+    options.otherArgs.headers['x-goog-request-params'] =
+      this._gaxModule.routingHeader.fromParams({
+        project: request.project ?? '',
+        instance: request.instance ?? '',
+      });
+    this.initialize().catch((err) => {
+      throw err;
     });
-    this.initialize().catch(err => {throw err});
     this._log.info('failover request %j', request);
-    const wrappedCallback: Callback<
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlInstancesFailoverRequest|null|undefined,
-        {}|null|undefined>|undefined = callback
+    const wrappedCallback:
+      | Callback<
+          protos.google.cloud.sql.v1.IOperation,
+          | protos.google.cloud.sql.v1.ISqlInstancesFailoverRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >
+      | undefined = callback
       ? (error, response, options, rawResponse) => {
           this._log.info('failover response %j', response);
           callback!(error, response, options, rawResponse); // We verified callback above.
         }
       : undefined;
-    return this.innerApiCalls.failover(request, options, wrappedCallback)
-      ?.then(([response, options, rawResponse]: [
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlInstancesFailoverRequest|undefined,
-        {}|undefined
-      ]) => {
-        this._log.info('failover response %j', response);
-        return [response, options, rawResponse];
-      }).catch((error: any) => {
-        if (error && 'statusDetails' in error && error.statusDetails instanceof Array) {
-          const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type;
-          error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos);
+    return this.innerApiCalls
+      .failover(request, options, wrappedCallback)
+      ?.then(
+        ([response, options, rawResponse]: [
+          protos.google.cloud.sql.v1.IOperation,
+          protos.google.cloud.sql.v1.ISqlInstancesFailoverRequest | undefined,
+          {} | undefined,
+        ]) => {
+          this._log.info('failover response %j', response);
+          return [response, options, rawResponse];
+        },
+      )
+      .catch((error: any) => {
+        if (
+          error &&
+          'statusDetails' in error &&
+          error.statusDetails instanceof Array
+        ) {
+          const protos = this._gaxModule.protobuf.Root.fromJSON(
+            jsonProtos,
+          ) as unknown as gax.protobuf.Type;
+          error.statusDetails = decodeAnyProtosInArray(
+            error.statusDetails,
+            protos,
+          );
         }
         throw error;
       });
   }
-/**
- * Reencrypt CMEK instance with latest key version.
- *
- * @param {Object} request
- *   The request object that will be sent.
- * @param {string} request.instance
- *   Cloud SQL instance ID. This does not include the project ID.
- * @param {string} request.project
- *   ID of the project that contains the instance.
- * @param {google.cloud.sql.v1.InstancesReencryptRequest} request.body
- *   Reencrypt body that users request
- * @param {object} [options]
- *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
- * @returns {Promise} - The promise which resolves to an array.
- *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1.Operation|Operation}.
- *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
- *   for more details and examples.
- * @example <caption>include:samples/generated/v1/sql_instances_service.reencrypt.js</caption>
- * region_tag:sqladmin_v1_generated_SqlInstancesService_Reencrypt_async
- */
+  /**
+   * Reencrypt CMEK instance with latest key version.
+   *
+   * @param {Object} request
+   *   The request object that will be sent.
+   * @param {string} request.instance
+   *   Cloud SQL instance ID. This does not include the project ID.
+   * @param {string} request.project
+   *   ID of the project that contains the instance.
+   * @param {google.cloud.sql.v1.InstancesReencryptRequest} request.body
+   *   Reencrypt body that users request
+   * @param {object} [options]
+   *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+   * @returns {Promise} - The promise which resolves to an array.
+   *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1.Operation|Operation}.
+   *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
+   *   for more details and examples.
+   * @example <caption>include:samples/generated/v1/sql_instances_service.reencrypt.js</caption>
+   * region_tag:sqladmin_v1_generated_SqlInstancesService_Reencrypt_async
+   */
   reencrypt(
-      request?: protos.google.cloud.sql.v1.ISqlInstancesReencryptRequest,
-      options?: CallOptions):
-      Promise<[
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlInstancesReencryptRequest|undefined, {}|undefined
-      ]>;
+    request?: protos.google.cloud.sql.v1.ISqlInstancesReencryptRequest,
+    options?: CallOptions,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1.IOperation,
+      protos.google.cloud.sql.v1.ISqlInstancesReencryptRequest | undefined,
+      {} | undefined,
+    ]
+  >;
   reencrypt(
-      request: protos.google.cloud.sql.v1.ISqlInstancesReencryptRequest,
-      options: CallOptions,
-      callback: Callback<
-          protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlInstancesReencryptRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1.ISqlInstancesReencryptRequest,
+    options: CallOptions,
+    callback: Callback<
+      protos.google.cloud.sql.v1.IOperation,
+      | protos.google.cloud.sql.v1.ISqlInstancesReencryptRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   reencrypt(
-      request: protos.google.cloud.sql.v1.ISqlInstancesReencryptRequest,
-      callback: Callback<
-          protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlInstancesReencryptRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1.ISqlInstancesReencryptRequest,
+    callback: Callback<
+      protos.google.cloud.sql.v1.IOperation,
+      | protos.google.cloud.sql.v1.ISqlInstancesReencryptRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   reencrypt(
-      request?: protos.google.cloud.sql.v1.ISqlInstancesReencryptRequest,
-      optionsOrCallback?: CallOptions|Callback<
-          protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlInstancesReencryptRequest|null|undefined,
-          {}|null|undefined>,
-      callback?: Callback<
+    request?: protos.google.cloud.sql.v1.ISqlInstancesReencryptRequest,
+    optionsOrCallback?:
+      | CallOptions
+      | Callback<
           protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlInstancesReencryptRequest|null|undefined,
-          {}|null|undefined>):
-      Promise<[
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlInstancesReencryptRequest|undefined, {}|undefined
-      ]>|void {
+          | protos.google.cloud.sql.v1.ISqlInstancesReencryptRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >,
+    callback?: Callback<
+      protos.google.cloud.sql.v1.IOperation,
+      | protos.google.cloud.sql.v1.ISqlInstancesReencryptRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1.IOperation,
+      protos.google.cloud.sql.v1.ISqlInstancesReencryptRequest | undefined,
+      {} | undefined,
+    ]
+  > | void {
     request = request || {};
     let options: CallOptions;
     if (typeof optionsOrCallback === 'function' && callback === undefined) {
       callback = optionsOrCallback;
       options = {};
-    }
-    else {
+    } else {
       options = optionsOrCallback as CallOptions;
     }
     options = options || {};
     options.otherArgs = options.otherArgs || {};
     options.otherArgs.headers = options.otherArgs.headers || {};
-    options.otherArgs.headers[
-      'x-goog-request-params'
-    ] = this._gaxModule.routingHeader.fromParams({
-      'project': request.project ?? '',
-      'instance': request.instance ?? '',
+    options.otherArgs.headers['x-goog-request-params'] =
+      this._gaxModule.routingHeader.fromParams({
+        project: request.project ?? '',
+        instance: request.instance ?? '',
+      });
+    this.initialize().catch((err) => {
+      throw err;
     });
-    this.initialize().catch(err => {throw err});
     this._log.info('reencrypt request %j', request);
-    const wrappedCallback: Callback<
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlInstancesReencryptRequest|null|undefined,
-        {}|null|undefined>|undefined = callback
+    const wrappedCallback:
+      | Callback<
+          protos.google.cloud.sql.v1.IOperation,
+          | protos.google.cloud.sql.v1.ISqlInstancesReencryptRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >
+      | undefined = callback
       ? (error, response, options, rawResponse) => {
           this._log.info('reencrypt response %j', response);
           callback!(error, response, options, rawResponse); // We verified callback above.
         }
       : undefined;
-    return this.innerApiCalls.reencrypt(request, options, wrappedCallback)
-      ?.then(([response, options, rawResponse]: [
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlInstancesReencryptRequest|undefined,
-        {}|undefined
-      ]) => {
-        this._log.info('reencrypt response %j', response);
-        return [response, options, rawResponse];
-      }).catch((error: any) => {
-        if (error && 'statusDetails' in error && error.statusDetails instanceof Array) {
-          const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type;
-          error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos);
+    return this.innerApiCalls
+      .reencrypt(request, options, wrappedCallback)
+      ?.then(
+        ([response, options, rawResponse]: [
+          protos.google.cloud.sql.v1.IOperation,
+          protos.google.cloud.sql.v1.ISqlInstancesReencryptRequest | undefined,
+          {} | undefined,
+        ]) => {
+          this._log.info('reencrypt response %j', response);
+          return [response, options, rawResponse];
+        },
+      )
+      .catch((error: any) => {
+        if (
+          error &&
+          'statusDetails' in error &&
+          error.statusDetails instanceof Array
+        ) {
+          const protos = this._gaxModule.protobuf.Root.fromJSON(
+            jsonProtos,
+          ) as unknown as gax.protobuf.Type;
+          error.statusDetails = decodeAnyProtosInArray(
+            error.statusDetails,
+            protos,
+          );
         }
         throw error;
       });
   }
-/**
- * Retrieves a resource containing information about a Cloud SQL instance.
- *
- * @param {Object} request
- *   The request object that will be sent.
- * @param {string} request.instance
- *   Required. Database instance ID. This does not include the project ID.
- * @param {string} request.project
- *   Required. Project ID of the project that contains the instance.
- * @param {object} [options]
- *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
- * @returns {Promise} - The promise which resolves to an array.
- *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1.DatabaseInstance|DatabaseInstance}.
- *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
- *   for more details and examples.
- * @example <caption>include:samples/generated/v1/sql_instances_service.get.js</caption>
- * region_tag:sqladmin_v1_generated_SqlInstancesService_Get_async
- */
+  /**
+   * Retrieves a resource containing information about a Cloud SQL instance.
+   *
+   * @param {Object} request
+   *   The request object that will be sent.
+   * @param {string} request.instance
+   *   Required. Database instance ID. This does not include the project ID.
+   * @param {string} request.project
+   *   Required. Project ID of the project that contains the instance.
+   * @param {object} [options]
+   *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+   * @returns {Promise} - The promise which resolves to an array.
+   *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1.DatabaseInstance|DatabaseInstance}.
+   *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
+   *   for more details and examples.
+   * @example <caption>include:samples/generated/v1/sql_instances_service.get.js</caption>
+   * region_tag:sqladmin_v1_generated_SqlInstancesService_Get_async
+   */
   get(
-      request?: protos.google.cloud.sql.v1.ISqlInstancesGetRequest,
-      options?: CallOptions):
-      Promise<[
-        protos.google.cloud.sql.v1.IDatabaseInstance,
-        protos.google.cloud.sql.v1.ISqlInstancesGetRequest|undefined, {}|undefined
-      ]>;
+    request?: protos.google.cloud.sql.v1.ISqlInstancesGetRequest,
+    options?: CallOptions,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1.IDatabaseInstance,
+      protos.google.cloud.sql.v1.ISqlInstancesGetRequest | undefined,
+      {} | undefined,
+    ]
+  >;
   get(
-      request: protos.google.cloud.sql.v1.ISqlInstancesGetRequest,
-      options: CallOptions,
-      callback: Callback<
-          protos.google.cloud.sql.v1.IDatabaseInstance,
-          protos.google.cloud.sql.v1.ISqlInstancesGetRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1.ISqlInstancesGetRequest,
+    options: CallOptions,
+    callback: Callback<
+      protos.google.cloud.sql.v1.IDatabaseInstance,
+      protos.google.cloud.sql.v1.ISqlInstancesGetRequest | null | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   get(
-      request: protos.google.cloud.sql.v1.ISqlInstancesGetRequest,
-      callback: Callback<
-          protos.google.cloud.sql.v1.IDatabaseInstance,
-          protos.google.cloud.sql.v1.ISqlInstancesGetRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1.ISqlInstancesGetRequest,
+    callback: Callback<
+      protos.google.cloud.sql.v1.IDatabaseInstance,
+      protos.google.cloud.sql.v1.ISqlInstancesGetRequest | null | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   get(
-      request?: protos.google.cloud.sql.v1.ISqlInstancesGetRequest,
-      optionsOrCallback?: CallOptions|Callback<
-          protos.google.cloud.sql.v1.IDatabaseInstance,
-          protos.google.cloud.sql.v1.ISqlInstancesGetRequest|null|undefined,
-          {}|null|undefined>,
-      callback?: Callback<
+    request?: protos.google.cloud.sql.v1.ISqlInstancesGetRequest,
+    optionsOrCallback?:
+      | CallOptions
+      | Callback<
           protos.google.cloud.sql.v1.IDatabaseInstance,
-          protos.google.cloud.sql.v1.ISqlInstancesGetRequest|null|undefined,
-          {}|null|undefined>):
-      Promise<[
-        protos.google.cloud.sql.v1.IDatabaseInstance,
-        protos.google.cloud.sql.v1.ISqlInstancesGetRequest|undefined, {}|undefined
-      ]>|void {
+          protos.google.cloud.sql.v1.ISqlInstancesGetRequest | null | undefined,
+          {} | null | undefined
+        >,
+    callback?: Callback<
+      protos.google.cloud.sql.v1.IDatabaseInstance,
+      protos.google.cloud.sql.v1.ISqlInstancesGetRequest | null | undefined,
+      {} | null | undefined
+    >,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1.IDatabaseInstance,
+      protos.google.cloud.sql.v1.ISqlInstancesGetRequest | undefined,
+      {} | undefined,
+    ]
+  > | void {
     request = request || {};
     let options: CallOptions;
     if (typeof optionsOrCallback === 'function' && callback === undefined) {
       callback = optionsOrCallback;
       options = {};
-    }
-    else {
+    } else {
       options = optionsOrCallback as CallOptions;
     }
     options = options || {};
     options.otherArgs = options.otherArgs || {};
     options.otherArgs.headers = options.otherArgs.headers || {};
-    options.otherArgs.headers[
-      'x-goog-request-params'
-    ] = this._gaxModule.routingHeader.fromParams({
-      'project': request.project ?? '',
-      'instance': request.instance ?? '',
+    options.otherArgs.headers['x-goog-request-params'] =
+      this._gaxModule.routingHeader.fromParams({
+        project: request.project ?? '',
+        instance: request.instance ?? '',
+      });
+    this.initialize().catch((err) => {
+      throw err;
     });
-    this.initialize().catch(err => {throw err});
     this._log.info('get request %j', request);
-    const wrappedCallback: Callback<
-        protos.google.cloud.sql.v1.IDatabaseInstance,
-        protos.google.cloud.sql.v1.ISqlInstancesGetRequest|null|undefined,
-        {}|null|undefined>|undefined = callback
+    const wrappedCallback:
+      | Callback<
+          protos.google.cloud.sql.v1.IDatabaseInstance,
+          protos.google.cloud.sql.v1.ISqlInstancesGetRequest | null | undefined,
+          {} | null | undefined
+        >
+      | undefined = callback
       ? (error, response, options, rawResponse) => {
           this._log.info('get response %j', response);
           callback!(error, response, options, rawResponse); // We verified callback above.
         }
       : undefined;
-    return this.innerApiCalls.get(request, options, wrappedCallback)
-      ?.then(([response, options, rawResponse]: [
-        protos.google.cloud.sql.v1.IDatabaseInstance,
-        protos.google.cloud.sql.v1.ISqlInstancesGetRequest|undefined,
-        {}|undefined
-      ]) => {
-        this._log.info('get response %j', response);
-        return [response, options, rawResponse];
-      }).catch((error: any) => {
-        if (error && 'statusDetails' in error && error.statusDetails instanceof Array) {
-          const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type;
-          error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos);
+    return this.innerApiCalls
+      .get(request, options, wrappedCallback)
+      ?.then(
+        ([response, options, rawResponse]: [
+          protos.google.cloud.sql.v1.IDatabaseInstance,
+          protos.google.cloud.sql.v1.ISqlInstancesGetRequest | undefined,
+          {} | undefined,
+        ]) => {
+          this._log.info('get response %j', response);
+          return [response, options, rawResponse];
+        },
+      )
+      .catch((error: any) => {
+        if (
+          error &&
+          'statusDetails' in error &&
+          error.statusDetails instanceof Array
+        ) {
+          const protos = this._gaxModule.protobuf.Root.fromJSON(
+            jsonProtos,
+          ) as unknown as gax.protobuf.Type;
+          error.statusDetails = decodeAnyProtosInArray(
+            error.statusDetails,
+            protos,
+          );
         }
         throw error;
       });
   }
-/**
- * Imports data into a Cloud SQL instance from a SQL dump  or CSV file in
- * Cloud Storage.
- *
- * @param {Object} request
- *   The request object that will be sent.
- * @param {string} request.instance
- *   Cloud SQL instance ID. This does not include the project ID.
- * @param {string} request.project
- *   Project ID of the project that contains the instance.
- * @param {google.cloud.sql.v1.InstancesImportRequest} request.body
- * @param {object} [options]
- *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
- * @returns {Promise} - The promise which resolves to an array.
- *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1.Operation|Operation}.
- *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
- *   for more details and examples.
- * @example <caption>include:samples/generated/v1/sql_instances_service.import.js</caption>
- * region_tag:sqladmin_v1_generated_SqlInstancesService_Import_async
- */
+  /**
+   * Imports data into a Cloud SQL instance from a SQL dump  or CSV file in
+   * Cloud Storage.
+   *
+   * @param {Object} request
+   *   The request object that will be sent.
+   * @param {string} request.instance
+   *   Cloud SQL instance ID. This does not include the project ID.
+   * @param {string} request.project
+   *   Project ID of the project that contains the instance.
+   * @param {google.cloud.sql.v1.InstancesImportRequest} request.body
+   * @param {object} [options]
+   *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+   * @returns {Promise} - The promise which resolves to an array.
+   *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1.Operation|Operation}.
+   *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
+   *   for more details and examples.
+   * @example <caption>include:samples/generated/v1/sql_instances_service.import.js</caption>
+   * region_tag:sqladmin_v1_generated_SqlInstancesService_Import_async
+   */
   import(
-      request?: protos.google.cloud.sql.v1.ISqlInstancesImportRequest,
-      options?: CallOptions):
-      Promise<[
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlInstancesImportRequest|undefined, {}|undefined
-      ]>;
+    request?: protos.google.cloud.sql.v1.ISqlInstancesImportRequest,
+    options?: CallOptions,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1.IOperation,
+      protos.google.cloud.sql.v1.ISqlInstancesImportRequest | undefined,
+      {} | undefined,
+    ]
+  >;
   import(
-      request: protos.google.cloud.sql.v1.ISqlInstancesImportRequest,
-      options: CallOptions,
-      callback: Callback<
-          protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlInstancesImportRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1.ISqlInstancesImportRequest,
+    options: CallOptions,
+    callback: Callback<
+      protos.google.cloud.sql.v1.IOperation,
+      protos.google.cloud.sql.v1.ISqlInstancesImportRequest | null | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   import(
-      request: protos.google.cloud.sql.v1.ISqlInstancesImportRequest,
-      callback: Callback<
-          protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlInstancesImportRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1.ISqlInstancesImportRequest,
+    callback: Callback<
+      protos.google.cloud.sql.v1.IOperation,
+      protos.google.cloud.sql.v1.ISqlInstancesImportRequest | null | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   import(
-      request?: protos.google.cloud.sql.v1.ISqlInstancesImportRequest,
-      optionsOrCallback?: CallOptions|Callback<
-          protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlInstancesImportRequest|null|undefined,
-          {}|null|undefined>,
-      callback?: Callback<
+    request?: protos.google.cloud.sql.v1.ISqlInstancesImportRequest,
+    optionsOrCallback?:
+      | CallOptions
+      | Callback<
           protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlInstancesImportRequest|null|undefined,
-          {}|null|undefined>):
-      Promise<[
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlInstancesImportRequest|undefined, {}|undefined
-      ]>|void {
+          | protos.google.cloud.sql.v1.ISqlInstancesImportRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >,
+    callback?: Callback<
+      protos.google.cloud.sql.v1.IOperation,
+      protos.google.cloud.sql.v1.ISqlInstancesImportRequest | null | undefined,
+      {} | null | undefined
+    >,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1.IOperation,
+      protos.google.cloud.sql.v1.ISqlInstancesImportRequest | undefined,
+      {} | undefined,
+    ]
+  > | void {
     request = request || {};
     let options: CallOptions;
     if (typeof optionsOrCallback === 'function' && callback === undefined) {
       callback = optionsOrCallback;
       options = {};
-    }
-    else {
+    } else {
       options = optionsOrCallback as CallOptions;
     }
     options = options || {};
     options.otherArgs = options.otherArgs || {};
     options.otherArgs.headers = options.otherArgs.headers || {};
-    options.otherArgs.headers[
-      'x-goog-request-params'
-    ] = this._gaxModule.routingHeader.fromParams({
-      'project': request.project ?? '',
-      'instance': request.instance ?? '',
+    options.otherArgs.headers['x-goog-request-params'] =
+      this._gaxModule.routingHeader.fromParams({
+        project: request.project ?? '',
+        instance: request.instance ?? '',
+      });
+    this.initialize().catch((err) => {
+      throw err;
     });
-    this.initialize().catch(err => {throw err});
     this._log.info('import request %j', request);
-    const wrappedCallback: Callback<
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlInstancesImportRequest|null|undefined,
-        {}|null|undefined>|undefined = callback
+    const wrappedCallback:
+      | Callback<
+          protos.google.cloud.sql.v1.IOperation,
+          | protos.google.cloud.sql.v1.ISqlInstancesImportRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >
+      | undefined = callback
       ? (error, response, options, rawResponse) => {
           this._log.info('import response %j', response);
           callback!(error, response, options, rawResponse); // We verified callback above.
         }
       : undefined;
-    return this.innerApiCalls.import(request, options, wrappedCallback)
-      ?.then(([response, options, rawResponse]: [
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlInstancesImportRequest|undefined,
-        {}|undefined
-      ]) => {
-        this._log.info('import response %j', response);
-        return [response, options, rawResponse];
-      }).catch((error: any) => {
-        if (error && 'statusDetails' in error && error.statusDetails instanceof Array) {
-          const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type;
-          error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos);
+    return this.innerApiCalls
+      .import(request, options, wrappedCallback)
+      ?.then(
+        ([response, options, rawResponse]: [
+          protos.google.cloud.sql.v1.IOperation,
+          protos.google.cloud.sql.v1.ISqlInstancesImportRequest | undefined,
+          {} | undefined,
+        ]) => {
+          this._log.info('import response %j', response);
+          return [response, options, rawResponse];
+        },
+      )
+      .catch((error: any) => {
+        if (
+          error &&
+          'statusDetails' in error &&
+          error.statusDetails instanceof Array
+        ) {
+          const protos = this._gaxModule.protobuf.Root.fromJSON(
+            jsonProtos,
+          ) as unknown as gax.protobuf.Type;
+          error.statusDetails = decodeAnyProtosInArray(
+            error.statusDetails,
+            protos,
+          );
         }
         throw error;
       });
   }
-/**
- * Creates a new Cloud SQL instance.
- *
- * @param {Object} request
- *   The request object that will be sent.
- * @param {string} request.project
- *   Project ID of the project to which the newly created Cloud SQL instances
- *   should belong.
- * @param {google.cloud.sql.v1.DatabaseInstance} request.body
- * @param {object} [options]
- *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
- * @returns {Promise} - The promise which resolves to an array.
- *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1.Operation|Operation}.
- *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
- *   for more details and examples.
- * @example <caption>include:samples/generated/v1/sql_instances_service.insert.js</caption>
- * region_tag:sqladmin_v1_generated_SqlInstancesService_Insert_async
- */
+  /**
+   * Creates a new Cloud SQL instance.
+   *
+   * @param {Object} request
+   *   The request object that will be sent.
+   * @param {string} request.project
+   *   Project ID of the project to which the newly created Cloud SQL instances
+   *   should belong.
+   * @param {google.cloud.sql.v1.DatabaseInstance} request.body
+   * @param {object} [options]
+   *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+   * @returns {Promise} - The promise which resolves to an array.
+   *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1.Operation|Operation}.
+   *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
+   *   for more details and examples.
+   * @example <caption>include:samples/generated/v1/sql_instances_service.insert.js</caption>
+   * region_tag:sqladmin_v1_generated_SqlInstancesService_Insert_async
+   */
   insert(
-      request?: protos.google.cloud.sql.v1.ISqlInstancesInsertRequest,
-      options?: CallOptions):
-      Promise<[
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlInstancesInsertRequest|undefined, {}|undefined
-      ]>;
+    request?: protos.google.cloud.sql.v1.ISqlInstancesInsertRequest,
+    options?: CallOptions,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1.IOperation,
+      protos.google.cloud.sql.v1.ISqlInstancesInsertRequest | undefined,
+      {} | undefined,
+    ]
+  >;
   insert(
-      request: protos.google.cloud.sql.v1.ISqlInstancesInsertRequest,
-      options: CallOptions,
-      callback: Callback<
-          protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlInstancesInsertRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1.ISqlInstancesInsertRequest,
+    options: CallOptions,
+    callback: Callback<
+      protos.google.cloud.sql.v1.IOperation,
+      protos.google.cloud.sql.v1.ISqlInstancesInsertRequest | null | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   insert(
-      request: protos.google.cloud.sql.v1.ISqlInstancesInsertRequest,
-      callback: Callback<
-          protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlInstancesInsertRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1.ISqlInstancesInsertRequest,
+    callback: Callback<
+      protos.google.cloud.sql.v1.IOperation,
+      protos.google.cloud.sql.v1.ISqlInstancesInsertRequest | null | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   insert(
-      request?: protos.google.cloud.sql.v1.ISqlInstancesInsertRequest,
-      optionsOrCallback?: CallOptions|Callback<
-          protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlInstancesInsertRequest|null|undefined,
-          {}|null|undefined>,
-      callback?: Callback<
+    request?: protos.google.cloud.sql.v1.ISqlInstancesInsertRequest,
+    optionsOrCallback?:
+      | CallOptions
+      | Callback<
           protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlInstancesInsertRequest|null|undefined,
-          {}|null|undefined>):
-      Promise<[
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlInstancesInsertRequest|undefined, {}|undefined
-      ]>|void {
+          | protos.google.cloud.sql.v1.ISqlInstancesInsertRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >,
+    callback?: Callback<
+      protos.google.cloud.sql.v1.IOperation,
+      protos.google.cloud.sql.v1.ISqlInstancesInsertRequest | null | undefined,
+      {} | null | undefined
+    >,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1.IOperation,
+      protos.google.cloud.sql.v1.ISqlInstancesInsertRequest | undefined,
+      {} | undefined,
+    ]
+  > | void {
     request = request || {};
     let options: CallOptions;
     if (typeof optionsOrCallback === 'function' && callback === undefined) {
       callback = optionsOrCallback;
       options = {};
-    }
-    else {
+    } else {
       options = optionsOrCallback as CallOptions;
     }
     options = options || {};
     options.otherArgs = options.otherArgs || {};
     options.otherArgs.headers = options.otherArgs.headers || {};
-    options.otherArgs.headers[
-      'x-goog-request-params'
-    ] = this._gaxModule.routingHeader.fromParams({
-      'project': request.project ?? '',
+    options.otherArgs.headers['x-goog-request-params'] =
+      this._gaxModule.routingHeader.fromParams({
+        project: request.project ?? '',
+      });
+    this.initialize().catch((err) => {
+      throw err;
     });
-    this.initialize().catch(err => {throw err});
     this._log.info('insert request %j', request);
-    const wrappedCallback: Callback<
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlInstancesInsertRequest|null|undefined,
-        {}|null|undefined>|undefined = callback
+    const wrappedCallback:
+      | Callback<
+          protos.google.cloud.sql.v1.IOperation,
+          | protos.google.cloud.sql.v1.ISqlInstancesInsertRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >
+      | undefined = callback
       ? (error, response, options, rawResponse) => {
           this._log.info('insert response %j', response);
           callback!(error, response, options, rawResponse); // We verified callback above.
         }
       : undefined;
-    return this.innerApiCalls.insert(request, options, wrappedCallback)
-      ?.then(([response, options, rawResponse]: [
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlInstancesInsertRequest|undefined,
-        {}|undefined
-      ]) => {
-        this._log.info('insert response %j', response);
-        return [response, options, rawResponse];
-      }).catch((error: any) => {
-        if (error && 'statusDetails' in error && error.statusDetails instanceof Array) {
-          const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type;
-          error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos);
+    return this.innerApiCalls
+      .insert(request, options, wrappedCallback)
+      ?.then(
+        ([response, options, rawResponse]: [
+          protos.google.cloud.sql.v1.IOperation,
+          protos.google.cloud.sql.v1.ISqlInstancesInsertRequest | undefined,
+          {} | undefined,
+        ]) => {
+          this._log.info('insert response %j', response);
+          return [response, options, rawResponse];
+        },
+      )
+      .catch((error: any) => {
+        if (
+          error &&
+          'statusDetails' in error &&
+          error.statusDetails instanceof Array
+        ) {
+          const protos = this._gaxModule.protobuf.Root.fromJSON(
+            jsonProtos,
+          ) as unknown as gax.protobuf.Type;
+          error.statusDetails = decodeAnyProtosInArray(
+            error.statusDetails,
+            protos,
+          );
         }
         throw error;
       });
   }
-/**
- * Lists instances under a given project.
- *
- * @param {Object} request
- *   The request object that will be sent.
- * @param {string} request.filter
- *   A filter expression that filters resources listed in the response.
- *   The expression is in the form of field:value. For example,
- *   'instanceType:CLOUD_SQL_INSTANCE'. Fields can be nested as needed as per
- *   their JSON representation, such as 'settings.userLabels.auto_start:true'.
- *
- *   Multiple filter queries are space-separated. For example.
- *   'state:RUNNABLE instanceType:CLOUD_SQL_INSTANCE'. By default, each
- *   expression is an AND expression. However, you can include AND and OR
- *   expressions explicitly.
- * @param {number} request.maxResults
- *   The maximum number of instances to return. The service may return fewer
- *   than this value.
- *   If unspecified, at most 500 instances are returned.
- *   The maximum value is 1000; values above 1000 are coerced to 1000.
- * @param {string} request.pageToken
- *   A previously-returned page token representing part of the larger set of
- *   results to view.
- * @param {string} request.project
- *   Project ID of the project for which to list Cloud SQL instances.
- * @param {object} [options]
- *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
- * @returns {Promise} - The promise which resolves to an array.
- *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1.InstancesListResponse|InstancesListResponse}.
- *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
- *   for more details and examples.
- * @example <caption>include:samples/generated/v1/sql_instances_service.list.js</caption>
- * region_tag:sqladmin_v1_generated_SqlInstancesService_List_async
- */
-  list(
-      request?: protos.google.cloud.sql.v1.ISqlInstancesListRequest,
-      options?: CallOptions):
-      Promise<[
-        protos.google.cloud.sql.v1.IInstancesListResponse,
-        protos.google.cloud.sql.v1.ISqlInstancesListRequest|undefined, {}|undefined
-      ]>;
-  list(
-      request: protos.google.cloud.sql.v1.ISqlInstancesListRequest,
-      options: CallOptions,
-      callback: Callback<
-          protos.google.cloud.sql.v1.IInstancesListResponse,
-          protos.google.cloud.sql.v1.ISqlInstancesListRequest|null|undefined,
-          {}|null|undefined>): void;
+  /**
+   * Lists instances under a given project.
+   *
+   * @param {Object} request
+   *   The request object that will be sent.
+   * @param {string} request.filter
+   *   A filter expression that filters resources listed in the response.
+   *   The expression is in the form of field:value. For example,
+   *   'instanceType:CLOUD_SQL_INSTANCE'. Fields can be nested as needed as per
+   *   their JSON representation, such as 'settings.userLabels.auto_start:true'.
+   *
+   *   Multiple filter queries are space-separated. For example.
+   *   'state:RUNNABLE instanceType:CLOUD_SQL_INSTANCE'. By default, each
+   *   expression is an AND expression. However, you can include AND and OR
+   *   expressions explicitly.
+   * @param {number} request.maxResults
+   *   The maximum number of instances to return. The service may return fewer
+   *   than this value.
+   *   If unspecified, at most 500 instances are returned.
+   *   The maximum value is 1000; values above 1000 are coerced to 1000.
+   * @param {string} request.pageToken
+   *   A previously-returned page token representing part of the larger set of
+   *   results to view.
+   * @param {string} request.project
+   *   Project ID of the project for which to list Cloud SQL instances.
+   * @param {object} [options]
+   *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+   * @returns {Promise} - The promise which resolves to an array.
+   *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1.InstancesListResponse|InstancesListResponse}.
+   *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
+   *   for more details and examples.
+   * @example <caption>include:samples/generated/v1/sql_instances_service.list.js</caption>
+   * region_tag:sqladmin_v1_generated_SqlInstancesService_List_async
+   */
   list(
-      request: protos.google.cloud.sql.v1.ISqlInstancesListRequest,
-      callback: Callback<
-          protos.google.cloud.sql.v1.IInstancesListResponse,
-          protos.google.cloud.sql.v1.ISqlInstancesListRequest|null|undefined,
-          {}|null|undefined>): void;
+    request?: protos.google.cloud.sql.v1.ISqlInstancesListRequest,
+    options?: CallOptions,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1.IInstancesListResponse,
+      protos.google.cloud.sql.v1.ISqlInstancesListRequest | undefined,
+      {} | undefined,
+    ]
+  >;
   list(
-      request?: protos.google.cloud.sql.v1.ISqlInstancesListRequest,
-      optionsOrCallback?: CallOptions|Callback<
-          protos.google.cloud.sql.v1.IInstancesListResponse,
-          protos.google.cloud.sql.v1.ISqlInstancesListRequest|null|undefined,
-          {}|null|undefined>,
-      callback?: Callback<
+    request: protos.google.cloud.sql.v1.ISqlInstancesListRequest,
+    options: CallOptions,
+    callback: Callback<
+      protos.google.cloud.sql.v1.IInstancesListResponse,
+      protos.google.cloud.sql.v1.ISqlInstancesListRequest | null | undefined,
+      {} | null | undefined
+    >,
+  ): void;
+  list(
+    request: protos.google.cloud.sql.v1.ISqlInstancesListRequest,
+    callback: Callback<
+      protos.google.cloud.sql.v1.IInstancesListResponse,
+      protos.google.cloud.sql.v1.ISqlInstancesListRequest | null | undefined,
+      {} | null | undefined
+    >,
+  ): void;
+  list(
+    request?: protos.google.cloud.sql.v1.ISqlInstancesListRequest,
+    optionsOrCallback?:
+      | CallOptions
+      | Callback<
           protos.google.cloud.sql.v1.IInstancesListResponse,
-          protos.google.cloud.sql.v1.ISqlInstancesListRequest|null|undefined,
-          {}|null|undefined>):
-      Promise<[
-        protos.google.cloud.sql.v1.IInstancesListResponse,
-        protos.google.cloud.sql.v1.ISqlInstancesListRequest|undefined, {}|undefined
-      ]>|void {
+          | protos.google.cloud.sql.v1.ISqlInstancesListRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >,
+    callback?: Callback<
+      protos.google.cloud.sql.v1.IInstancesListResponse,
+      protos.google.cloud.sql.v1.ISqlInstancesListRequest | null | undefined,
+      {} | null | undefined
+    >,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1.IInstancesListResponse,
+      protos.google.cloud.sql.v1.ISqlInstancesListRequest | undefined,
+      {} | undefined,
+    ]
+  > | void {
     request = request || {};
     let options: CallOptions;
     if (typeof optionsOrCallback === 'function' && callback === undefined) {
       callback = optionsOrCallback;
       options = {};
-    }
-    else {
+    } else {
       options = optionsOrCallback as CallOptions;
     }
     options = options || {};
     options.otherArgs = options.otherArgs || {};
     options.otherArgs.headers = options.otherArgs.headers || {};
-    options.otherArgs.headers[
-      'x-goog-request-params'
-    ] = this._gaxModule.routingHeader.fromParams({
-      'project': request.project ?? '',
+    options.otherArgs.headers['x-goog-request-params'] =
+      this._gaxModule.routingHeader.fromParams({
+        project: request.project ?? '',
+      });
+    this.initialize().catch((err) => {
+      throw err;
     });
-    this.initialize().catch(err => {throw err});
     this._log.info('list request %j', request);
-    const wrappedCallback: Callback<
-        protos.google.cloud.sql.v1.IInstancesListResponse,
-        protos.google.cloud.sql.v1.ISqlInstancesListRequest|null|undefined,
-        {}|null|undefined>|undefined = callback
+    const wrappedCallback:
+      | Callback<
+          protos.google.cloud.sql.v1.IInstancesListResponse,
+          | protos.google.cloud.sql.v1.ISqlInstancesListRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >
+      | undefined = callback
       ? (error, response, options, rawResponse) => {
           this._log.info('list response %j', response);
           callback!(error, response, options, rawResponse); // We verified callback above.
         }
       : undefined;
-    return this.innerApiCalls.list(request, options, wrappedCallback)
-      ?.then(([response, options, rawResponse]: [
-        protos.google.cloud.sql.v1.IInstancesListResponse,
-        protos.google.cloud.sql.v1.ISqlInstancesListRequest|undefined,
-        {}|undefined
-      ]) => {
-        this._log.info('list response %j', response);
-        return [response, options, rawResponse];
-      }).catch((error: any) => {
-        if (error && 'statusDetails' in error && error.statusDetails instanceof Array) {
-          const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type;
-          error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos);
+    return this.innerApiCalls
+      .list(request, options, wrappedCallback)
+      ?.then(
+        ([response, options, rawResponse]: [
+          protos.google.cloud.sql.v1.IInstancesListResponse,
+          protos.google.cloud.sql.v1.ISqlInstancesListRequest | undefined,
+          {} | undefined,
+        ]) => {
+          this._log.info('list response %j', response);
+          return [response, options, rawResponse];
+        },
+      )
+      .catch((error: any) => {
+        if (
+          error &&
+          'statusDetails' in error &&
+          error.statusDetails instanceof Array
+        ) {
+          const protos = this._gaxModule.protobuf.Root.fromJSON(
+            jsonProtos,
+          ) as unknown as gax.protobuf.Type;
+          error.statusDetails = decodeAnyProtosInArray(
+            error.statusDetails,
+            protos,
+          );
         }
         throw error;
       });
   }
-/**
- * Lists all of the trusted Certificate Authorities (CAs) for the specified
- * instance. There can be up to three CAs listed: the CA that was used to sign
- * the certificate that is currently in use, a CA that has been added but not
- * yet used to sign a certificate, and a CA used to sign a certificate that
- * has previously rotated out.
- *
- * @param {Object} request
- *   The request object that will be sent.
- * @param {string} request.instance
- *   Cloud SQL instance ID. This does not include the project ID.
- * @param {string} request.project
- *   Project ID of the project that contains the instance.
- * @param {object} [options]
- *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
- * @returns {Promise} - The promise which resolves to an array.
- *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1.InstancesListServerCasResponse|InstancesListServerCasResponse}.
- *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
- *   for more details and examples.
- * @example <caption>include:samples/generated/v1/sql_instances_service.list_server_cas.js</caption>
- * region_tag:sqladmin_v1_generated_SqlInstancesService_ListServerCas_async
- */
+  /**
+   * Lists all of the trusted Certificate Authorities (CAs) for the specified
+   * instance. There can be up to three CAs listed: the CA that was used to sign
+   * the certificate that is currently in use, a CA that has been added but not
+   * yet used to sign a certificate, and a CA used to sign a certificate that
+   * has previously rotated out.
+   *
+   * @param {Object} request
+   *   The request object that will be sent.
+   * @param {string} request.instance
+   *   Cloud SQL instance ID. This does not include the project ID.
+   * @param {string} request.project
+   *   Project ID of the project that contains the instance.
+   * @param {object} [options]
+   *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+   * @returns {Promise} - The promise which resolves to an array.
+   *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1.InstancesListServerCasResponse|InstancesListServerCasResponse}.
+   *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
+   *   for more details and examples.
+   * @example <caption>include:samples/generated/v1/sql_instances_service.list_server_cas.js</caption>
+   * region_tag:sqladmin_v1_generated_SqlInstancesService_ListServerCas_async
+   */
   listServerCas(
-      request?: protos.google.cloud.sql.v1.ISqlInstancesListServerCasRequest,
-      options?: CallOptions):
-      Promise<[
-        protos.google.cloud.sql.v1.IInstancesListServerCasResponse,
-        protos.google.cloud.sql.v1.ISqlInstancesListServerCasRequest|undefined, {}|undefined
-      ]>;
+    request?: protos.google.cloud.sql.v1.ISqlInstancesListServerCasRequest,
+    options?: CallOptions,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1.IInstancesListServerCasResponse,
+      protos.google.cloud.sql.v1.ISqlInstancesListServerCasRequest | undefined,
+      {} | undefined,
+    ]
+  >;
   listServerCas(
-      request: protos.google.cloud.sql.v1.ISqlInstancesListServerCasRequest,
-      options: CallOptions,
-      callback: Callback<
-          protos.google.cloud.sql.v1.IInstancesListServerCasResponse,
-          protos.google.cloud.sql.v1.ISqlInstancesListServerCasRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1.ISqlInstancesListServerCasRequest,
+    options: CallOptions,
+    callback: Callback<
+      protos.google.cloud.sql.v1.IInstancesListServerCasResponse,
+      | protos.google.cloud.sql.v1.ISqlInstancesListServerCasRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   listServerCas(
-      request: protos.google.cloud.sql.v1.ISqlInstancesListServerCasRequest,
-      callback: Callback<
-          protos.google.cloud.sql.v1.IInstancesListServerCasResponse,
-          protos.google.cloud.sql.v1.ISqlInstancesListServerCasRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1.ISqlInstancesListServerCasRequest,
+    callback: Callback<
+      protos.google.cloud.sql.v1.IInstancesListServerCasResponse,
+      | protos.google.cloud.sql.v1.ISqlInstancesListServerCasRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   listServerCas(
-      request?: protos.google.cloud.sql.v1.ISqlInstancesListServerCasRequest,
-      optionsOrCallback?: CallOptions|Callback<
-          protos.google.cloud.sql.v1.IInstancesListServerCasResponse,
-          protos.google.cloud.sql.v1.ISqlInstancesListServerCasRequest|null|undefined,
-          {}|null|undefined>,
-      callback?: Callback<
+    request?: protos.google.cloud.sql.v1.ISqlInstancesListServerCasRequest,
+    optionsOrCallback?:
+      | CallOptions
+      | Callback<
           protos.google.cloud.sql.v1.IInstancesListServerCasResponse,
-          protos.google.cloud.sql.v1.ISqlInstancesListServerCasRequest|null|undefined,
-          {}|null|undefined>):
-      Promise<[
-        protos.google.cloud.sql.v1.IInstancesListServerCasResponse,
-        protos.google.cloud.sql.v1.ISqlInstancesListServerCasRequest|undefined, {}|undefined
-      ]>|void {
+          | protos.google.cloud.sql.v1.ISqlInstancesListServerCasRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >,
+    callback?: Callback<
+      protos.google.cloud.sql.v1.IInstancesListServerCasResponse,
+      | protos.google.cloud.sql.v1.ISqlInstancesListServerCasRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1.IInstancesListServerCasResponse,
+      protos.google.cloud.sql.v1.ISqlInstancesListServerCasRequest | undefined,
+      {} | undefined,
+    ]
+  > | void {
     request = request || {};
     let options: CallOptions;
     if (typeof optionsOrCallback === 'function' && callback === undefined) {
       callback = optionsOrCallback;
       options = {};
-    }
-    else {
+    } else {
       options = optionsOrCallback as CallOptions;
     }
     options = options || {};
     options.otherArgs = options.otherArgs || {};
     options.otherArgs.headers = options.otherArgs.headers || {};
-    options.otherArgs.headers[
-      'x-goog-request-params'
-    ] = this._gaxModule.routingHeader.fromParams({
-      'project': request.project ?? '',
-      'instance': request.instance ?? '',
+    options.otherArgs.headers['x-goog-request-params'] =
+      this._gaxModule.routingHeader.fromParams({
+        project: request.project ?? '',
+        instance: request.instance ?? '',
+      });
+    this.initialize().catch((err) => {
+      throw err;
     });
-    this.initialize().catch(err => {throw err});
     this._log.info('listServerCas request %j', request);
-    const wrappedCallback: Callback<
-        protos.google.cloud.sql.v1.IInstancesListServerCasResponse,
-        protos.google.cloud.sql.v1.ISqlInstancesListServerCasRequest|null|undefined,
-        {}|null|undefined>|undefined = callback
+    const wrappedCallback:
+      | Callback<
+          protos.google.cloud.sql.v1.IInstancesListServerCasResponse,
+          | protos.google.cloud.sql.v1.ISqlInstancesListServerCasRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >
+      | undefined = callback
       ? (error, response, options, rawResponse) => {
           this._log.info('listServerCas response %j', response);
           callback!(error, response, options, rawResponse); // We verified callback above.
         }
       : undefined;
-    return this.innerApiCalls.listServerCas(request, options, wrappedCallback)
-      ?.then(([response, options, rawResponse]: [
-        protos.google.cloud.sql.v1.IInstancesListServerCasResponse,
-        protos.google.cloud.sql.v1.ISqlInstancesListServerCasRequest|undefined,
-        {}|undefined
-      ]) => {
-        this._log.info('listServerCas response %j', response);
-        return [response, options, rawResponse];
-      }).catch((error: any) => {
-        if (error && 'statusDetails' in error && error.statusDetails instanceof Array) {
-          const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type;
-          error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos);
+    return this.innerApiCalls
+      .listServerCas(request, options, wrappedCallback)
+      ?.then(
+        ([response, options, rawResponse]: [
+          protos.google.cloud.sql.v1.IInstancesListServerCasResponse,
+          (
+            | protos.google.cloud.sql.v1.ISqlInstancesListServerCasRequest
+            | undefined
+          ),
+          {} | undefined,
+        ]) => {
+          this._log.info('listServerCas response %j', response);
+          return [response, options, rawResponse];
+        },
+      )
+      .catch((error: any) => {
+        if (
+          error &&
+          'statusDetails' in error &&
+          error.statusDetails instanceof Array
+        ) {
+          const protos = this._gaxModule.protobuf.Root.fromJSON(
+            jsonProtos,
+          ) as unknown as gax.protobuf.Type;
+          error.statusDetails = decodeAnyProtosInArray(
+            error.statusDetails,
+            protos,
+          );
         }
         throw error;
       });
   }
-/**
- * Lists all versions of server certificates and certificate authorities (CAs)
- * for the specified instance. There can be up to three sets of certs listed:
- * the certificate that is currently in use, a future that has been added but
- * not yet used to sign a certificate, and a certificate that has been rotated
- * out. For instances not using Certificate Authority Service (CAS) server CA,
- * use ListServerCas instead.
- *
- * @param {Object} request
- *   The request object that will be sent.
- * @param {string} request.instance
- *   Required. Cloud SQL instance ID. This does not include the project ID.
- * @param {string} request.project
- *   Required. Project ID of the project that contains the instance.
- * @param {object} [options]
- *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
- * @returns {Promise} - The promise which resolves to an array.
- *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1.InstancesListServerCertificatesResponse|InstancesListServerCertificatesResponse}.
- *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
- *   for more details and examples.
- * @example <caption>include:samples/generated/v1/sql_instances_service.list_server_certificates.js</caption>
- * region_tag:sqladmin_v1_generated_SqlInstancesService_ListServerCertificates_async
- */
+  /**
+   * Lists all versions of server certificates and certificate authorities (CAs)
+   * for the specified instance. There can be up to three sets of certs listed:
+   * the certificate that is currently in use, a future that has been added but
+   * not yet used to sign a certificate, and a certificate that has been rotated
+   * out. For instances not using Certificate Authority Service (CAS) server CA,
+   * use ListServerCas instead.
+   *
+   * @param {Object} request
+   *   The request object that will be sent.
+   * @param {string} request.instance
+   *   Required. Cloud SQL instance ID. This does not include the project ID.
+   * @param {string} request.project
+   *   Required. Project ID of the project that contains the instance.
+   * @param {object} [options]
+   *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+   * @returns {Promise} - The promise which resolves to an array.
+   *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1.InstancesListServerCertificatesResponse|InstancesListServerCertificatesResponse}.
+   *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
+   *   for more details and examples.
+   * @example <caption>include:samples/generated/v1/sql_instances_service.list_server_certificates.js</caption>
+   * region_tag:sqladmin_v1_generated_SqlInstancesService_ListServerCertificates_async
+   */
   listServerCertificates(
-      request?: protos.google.cloud.sql.v1.ISqlInstancesListServerCertificatesRequest,
-      options?: CallOptions):
-      Promise<[
-        protos.google.cloud.sql.v1.IInstancesListServerCertificatesResponse,
-        protos.google.cloud.sql.v1.ISqlInstancesListServerCertificatesRequest|undefined, {}|undefined
-      ]>;
+    request?: protos.google.cloud.sql.v1.ISqlInstancesListServerCertificatesRequest,
+    options?: CallOptions,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1.IInstancesListServerCertificatesResponse,
+      (
+        | protos.google.cloud.sql.v1.ISqlInstancesListServerCertificatesRequest
+        | undefined
+      ),
+      {} | undefined,
+    ]
+  >;
   listServerCertificates(
-      request: protos.google.cloud.sql.v1.ISqlInstancesListServerCertificatesRequest,
-      options: CallOptions,
-      callback: Callback<
-          protos.google.cloud.sql.v1.IInstancesListServerCertificatesResponse,
-          protos.google.cloud.sql.v1.ISqlInstancesListServerCertificatesRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1.ISqlInstancesListServerCertificatesRequest,
+    options: CallOptions,
+    callback: Callback<
+      protos.google.cloud.sql.v1.IInstancesListServerCertificatesResponse,
+      | protos.google.cloud.sql.v1.ISqlInstancesListServerCertificatesRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   listServerCertificates(
-      request: protos.google.cloud.sql.v1.ISqlInstancesListServerCertificatesRequest,
-      callback: Callback<
-          protos.google.cloud.sql.v1.IInstancesListServerCertificatesResponse,
-          protos.google.cloud.sql.v1.ISqlInstancesListServerCertificatesRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1.ISqlInstancesListServerCertificatesRequest,
+    callback: Callback<
+      protos.google.cloud.sql.v1.IInstancesListServerCertificatesResponse,
+      | protos.google.cloud.sql.v1.ISqlInstancesListServerCertificatesRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   listServerCertificates(
-      request?: protos.google.cloud.sql.v1.ISqlInstancesListServerCertificatesRequest,
-      optionsOrCallback?: CallOptions|Callback<
-          protos.google.cloud.sql.v1.IInstancesListServerCertificatesResponse,
-          protos.google.cloud.sql.v1.ISqlInstancesListServerCertificatesRequest|null|undefined,
-          {}|null|undefined>,
-      callback?: Callback<
+    request?: protos.google.cloud.sql.v1.ISqlInstancesListServerCertificatesRequest,
+    optionsOrCallback?:
+      | CallOptions
+      | Callback<
           protos.google.cloud.sql.v1.IInstancesListServerCertificatesResponse,
-          protos.google.cloud.sql.v1.ISqlInstancesListServerCertificatesRequest|null|undefined,
-          {}|null|undefined>):
-      Promise<[
-        protos.google.cloud.sql.v1.IInstancesListServerCertificatesResponse,
-        protos.google.cloud.sql.v1.ISqlInstancesListServerCertificatesRequest|undefined, {}|undefined
-      ]>|void {
+          | protos.google.cloud.sql.v1.ISqlInstancesListServerCertificatesRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >,
+    callback?: Callback<
+      protos.google.cloud.sql.v1.IInstancesListServerCertificatesResponse,
+      | protos.google.cloud.sql.v1.ISqlInstancesListServerCertificatesRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1.IInstancesListServerCertificatesResponse,
+      (
+        | protos.google.cloud.sql.v1.ISqlInstancesListServerCertificatesRequest
+        | undefined
+      ),
+      {} | undefined,
+    ]
+  > | void {
     request = request || {};
     let options: CallOptions;
     if (typeof optionsOrCallback === 'function' && callback === undefined) {
       callback = optionsOrCallback;
       options = {};
-    }
-    else {
+    } else {
       options = optionsOrCallback as CallOptions;
     }
     options = options || {};
     options.otherArgs = options.otherArgs || {};
     options.otherArgs.headers = options.otherArgs.headers || {};
-    options.otherArgs.headers[
-      'x-goog-request-params'
-    ] = this._gaxModule.routingHeader.fromParams({
-      'project': request.project ?? '',
-      'instance': request.instance ?? '',
+    options.otherArgs.headers['x-goog-request-params'] =
+      this._gaxModule.routingHeader.fromParams({
+        project: request.project ?? '',
+        instance: request.instance ?? '',
+      });
+    this.initialize().catch((err) => {
+      throw err;
     });
-    this.initialize().catch(err => {throw err});
     this._log.info('listServerCertificates request %j', request);
-    const wrappedCallback: Callback<
-        protos.google.cloud.sql.v1.IInstancesListServerCertificatesResponse,
-        protos.google.cloud.sql.v1.ISqlInstancesListServerCertificatesRequest|null|undefined,
-        {}|null|undefined>|undefined = callback
+    const wrappedCallback:
+      | Callback<
+          protos.google.cloud.sql.v1.IInstancesListServerCertificatesResponse,
+          | protos.google.cloud.sql.v1.ISqlInstancesListServerCertificatesRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >
+      | undefined = callback
       ? (error, response, options, rawResponse) => {
           this._log.info('listServerCertificates response %j', response);
           callback!(error, response, options, rawResponse); // We verified callback above.
         }
       : undefined;
-    return this.innerApiCalls.listServerCertificates(request, options, wrappedCallback)
-      ?.then(([response, options, rawResponse]: [
-        protos.google.cloud.sql.v1.IInstancesListServerCertificatesResponse,
-        protos.google.cloud.sql.v1.ISqlInstancesListServerCertificatesRequest|undefined,
-        {}|undefined
-      ]) => {
-        this._log.info('listServerCertificates response %j', response);
-        return [response, options, rawResponse];
-      }).catch((error: any) => {
-        if (error && 'statusDetails' in error && error.statusDetails instanceof Array) {
-          const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type;
-          error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos);
+    return this.innerApiCalls
+      .listServerCertificates(request, options, wrappedCallback)
+      ?.then(
+        ([response, options, rawResponse]: [
+          protos.google.cloud.sql.v1.IInstancesListServerCertificatesResponse,
+          (
+            | protos.google.cloud.sql.v1.ISqlInstancesListServerCertificatesRequest
+            | undefined
+          ),
+          {} | undefined,
+        ]) => {
+          this._log.info('listServerCertificates response %j', response);
+          return [response, options, rawResponse];
+        },
+      )
+      .catch((error: any) => {
+        if (
+          error &&
+          'statusDetails' in error &&
+          error.statusDetails instanceof Array
+        ) {
+          const protos = this._gaxModule.protobuf.Root.fromJSON(
+            jsonProtos,
+          ) as unknown as gax.protobuf.Type;
+          error.statusDetails = decodeAnyProtosInArray(
+            error.statusDetails,
+            protos,
+          );
         }
         throw error;
       });
   }
-/**
- * Lists all versions of EntraID certificates for the specified instance.
- * There can be up to three sets of certificates listed: the certificate that
- * is currently in use, a future that has been added but not yet used to sign
- * a certificate, and a certificate that has been rotated out.
- *
- * @param {Object} request
- *   The request object that will be sent.
- * @param {string} request.instance
- *   Required. Cloud SQL instance ID. This does not include the project ID.
- * @param {string} request.project
- *   Required. Project ID of the project that contains the instance.
- * @param {object} [options]
- *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
- * @returns {Promise} - The promise which resolves to an array.
- *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1.InstancesListEntraIdCertificatesResponse|InstancesListEntraIdCertificatesResponse}.
- *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
- *   for more details and examples.
- * @example <caption>include:samples/generated/v1/sql_instances_service.list_entra_id_certificates.js</caption>
- * region_tag:sqladmin_v1_generated_SqlInstancesService_ListEntraIdCertificates_async
- */
+  /**
+   * Lists all versions of EntraID certificates for the specified instance.
+   * There can be up to three sets of certificates listed: the certificate that
+   * is currently in use, a future that has been added but not yet used to sign
+   * a certificate, and a certificate that has been rotated out.
+   *
+   * @param {Object} request
+   *   The request object that will be sent.
+   * @param {string} request.instance
+   *   Required. Cloud SQL instance ID. This does not include the project ID.
+   * @param {string} request.project
+   *   Required. Project ID of the project that contains the instance.
+   * @param {object} [options]
+   *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+   * @returns {Promise} - The promise which resolves to an array.
+   *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1.InstancesListEntraIdCertificatesResponse|InstancesListEntraIdCertificatesResponse}.
+   *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
+   *   for more details and examples.
+   * @example <caption>include:samples/generated/v1/sql_instances_service.list_entra_id_certificates.js</caption>
+   * region_tag:sqladmin_v1_generated_SqlInstancesService_ListEntraIdCertificates_async
+   */
   listEntraIdCertificates(
-      request?: protos.google.cloud.sql.v1.ISqlInstancesListEntraIdCertificatesRequest,
-      options?: CallOptions):
-      Promise<[
-        protos.google.cloud.sql.v1.IInstancesListEntraIdCertificatesResponse,
-        protos.google.cloud.sql.v1.ISqlInstancesListEntraIdCertificatesRequest|undefined, {}|undefined
-      ]>;
+    request?: protos.google.cloud.sql.v1.ISqlInstancesListEntraIdCertificatesRequest,
+    options?: CallOptions,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1.IInstancesListEntraIdCertificatesResponse,
+      (
+        | protos.google.cloud.sql.v1.ISqlInstancesListEntraIdCertificatesRequest
+        | undefined
+      ),
+      {} | undefined,
+    ]
+  >;
   listEntraIdCertificates(
-      request: protos.google.cloud.sql.v1.ISqlInstancesListEntraIdCertificatesRequest,
-      options: CallOptions,
-      callback: Callback<
-          protos.google.cloud.sql.v1.IInstancesListEntraIdCertificatesResponse,
-          protos.google.cloud.sql.v1.ISqlInstancesListEntraIdCertificatesRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1.ISqlInstancesListEntraIdCertificatesRequest,
+    options: CallOptions,
+    callback: Callback<
+      protos.google.cloud.sql.v1.IInstancesListEntraIdCertificatesResponse,
+      | protos.google.cloud.sql.v1.ISqlInstancesListEntraIdCertificatesRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   listEntraIdCertificates(
-      request: protos.google.cloud.sql.v1.ISqlInstancesListEntraIdCertificatesRequest,
-      callback: Callback<
-          protos.google.cloud.sql.v1.IInstancesListEntraIdCertificatesResponse,
-          protos.google.cloud.sql.v1.ISqlInstancesListEntraIdCertificatesRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1.ISqlInstancesListEntraIdCertificatesRequest,
+    callback: Callback<
+      protos.google.cloud.sql.v1.IInstancesListEntraIdCertificatesResponse,
+      | protos.google.cloud.sql.v1.ISqlInstancesListEntraIdCertificatesRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   listEntraIdCertificates(
-      request?: protos.google.cloud.sql.v1.ISqlInstancesListEntraIdCertificatesRequest,
-      optionsOrCallback?: CallOptions|Callback<
-          protos.google.cloud.sql.v1.IInstancesListEntraIdCertificatesResponse,
-          protos.google.cloud.sql.v1.ISqlInstancesListEntraIdCertificatesRequest|null|undefined,
-          {}|null|undefined>,
-      callback?: Callback<
+    request?: protos.google.cloud.sql.v1.ISqlInstancesListEntraIdCertificatesRequest,
+    optionsOrCallback?:
+      | CallOptions
+      | Callback<
           protos.google.cloud.sql.v1.IInstancesListEntraIdCertificatesResponse,
-          protos.google.cloud.sql.v1.ISqlInstancesListEntraIdCertificatesRequest|null|undefined,
-          {}|null|undefined>):
-      Promise<[
-        protos.google.cloud.sql.v1.IInstancesListEntraIdCertificatesResponse,
-        protos.google.cloud.sql.v1.ISqlInstancesListEntraIdCertificatesRequest|undefined, {}|undefined
-      ]>|void {
+          | protos.google.cloud.sql.v1.ISqlInstancesListEntraIdCertificatesRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >,
+    callback?: Callback<
+      protos.google.cloud.sql.v1.IInstancesListEntraIdCertificatesResponse,
+      | protos.google.cloud.sql.v1.ISqlInstancesListEntraIdCertificatesRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1.IInstancesListEntraIdCertificatesResponse,
+      (
+        | protos.google.cloud.sql.v1.ISqlInstancesListEntraIdCertificatesRequest
+        | undefined
+      ),
+      {} | undefined,
+    ]
+  > | void {
     request = request || {};
     let options: CallOptions;
     if (typeof optionsOrCallback === 'function' && callback === undefined) {
       callback = optionsOrCallback;
       options = {};
-    }
-    else {
+    } else {
       options = optionsOrCallback as CallOptions;
     }
     options = options || {};
     options.otherArgs = options.otherArgs || {};
     options.otherArgs.headers = options.otherArgs.headers || {};
-    options.otherArgs.headers[
-      'x-goog-request-params'
-    ] = this._gaxModule.routingHeader.fromParams({
-      'project': request.project ?? '',
-      'instance': request.instance ?? '',
+    options.otherArgs.headers['x-goog-request-params'] =
+      this._gaxModule.routingHeader.fromParams({
+        project: request.project ?? '',
+        instance: request.instance ?? '',
+      });
+    this.initialize().catch((err) => {
+      throw err;
     });
-    this.initialize().catch(err => {throw err});
     this._log.info('listEntraIdCertificates request %j', request);
-    const wrappedCallback: Callback<
-        protos.google.cloud.sql.v1.IInstancesListEntraIdCertificatesResponse,
-        protos.google.cloud.sql.v1.ISqlInstancesListEntraIdCertificatesRequest|null|undefined,
-        {}|null|undefined>|undefined = callback
+    const wrappedCallback:
+      | Callback<
+          protos.google.cloud.sql.v1.IInstancesListEntraIdCertificatesResponse,
+          | protos.google.cloud.sql.v1.ISqlInstancesListEntraIdCertificatesRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >
+      | undefined = callback
       ? (error, response, options, rawResponse) => {
           this._log.info('listEntraIdCertificates response %j', response);
           callback!(error, response, options, rawResponse); // We verified callback above.
         }
       : undefined;
-    return this.innerApiCalls.listEntraIdCertificates(request, options, wrappedCallback)
-      ?.then(([response, options, rawResponse]: [
-        protos.google.cloud.sql.v1.IInstancesListEntraIdCertificatesResponse,
-        protos.google.cloud.sql.v1.ISqlInstancesListEntraIdCertificatesRequest|undefined,
-        {}|undefined
-      ]) => {
-        this._log.info('listEntraIdCertificates response %j', response);
-        return [response, options, rawResponse];
-      }).catch((error: any) => {
-        if (error && 'statusDetails' in error && error.statusDetails instanceof Array) {
-          const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type;
-          error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos);
+    return this.innerApiCalls
+      .listEntraIdCertificates(request, options, wrappedCallback)
+      ?.then(
+        ([response, options, rawResponse]: [
+          protos.google.cloud.sql.v1.IInstancesListEntraIdCertificatesResponse,
+          (
+            | protos.google.cloud.sql.v1.ISqlInstancesListEntraIdCertificatesRequest
+            | undefined
+          ),
+          {} | undefined,
+        ]) => {
+          this._log.info('listEntraIdCertificates response %j', response);
+          return [response, options, rawResponse];
+        },
+      )
+      .catch((error: any) => {
+        if (
+          error &&
+          'statusDetails' in error &&
+          error.statusDetails instanceof Array
+        ) {
+          const protos = this._gaxModule.protobuf.Root.fromJSON(
+            jsonProtos,
+          ) as unknown as gax.protobuf.Type;
+          error.statusDetails = decodeAnyProtosInArray(
+            error.statusDetails,
+            protos,
+          );
         }
         throw error;
       });
   }
-/**
- * Partially updates settings of a Cloud SQL instance by merging the request
- * with the current configuration. This method supports patch semantics.
- *
- * @param {Object} request
- *   The request object that will be sent.
- * @param {string} request.instance
- *   Cloud SQL instance ID. This does not include the project ID.
- * @param {string} request.project
- *   Project ID of the project that contains the instance.
- * @param {google.cloud.sql.v1.DatabaseInstance} request.body
- * @param {object} [options]
- *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
- * @returns {Promise} - The promise which resolves to an array.
- *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1.Operation|Operation}.
- *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
- *   for more details and examples.
- * @example <caption>include:samples/generated/v1/sql_instances_service.patch.js</caption>
- * region_tag:sqladmin_v1_generated_SqlInstancesService_Patch_async
- */
+  /**
+   * Partially updates settings of a Cloud SQL instance by merging the request
+   * with the current configuration. This method supports patch semantics.
+   *
+   * @param {Object} request
+   *   The request object that will be sent.
+   * @param {string} request.instance
+   *   Cloud SQL instance ID. This does not include the project ID.
+   * @param {string} request.project
+   *   Project ID of the project that contains the instance.
+   * @param {google.cloud.sql.v1.DatabaseInstance} request.body
+   * @param {object} [options]
+   *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+   * @returns {Promise} - The promise which resolves to an array.
+   *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1.Operation|Operation}.
+   *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
+   *   for more details and examples.
+   * @example <caption>include:samples/generated/v1/sql_instances_service.patch.js</caption>
+   * region_tag:sqladmin_v1_generated_SqlInstancesService_Patch_async
+   */
   patch(
-      request?: protos.google.cloud.sql.v1.ISqlInstancesPatchRequest,
-      options?: CallOptions):
-      Promise<[
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlInstancesPatchRequest|undefined, {}|undefined
-      ]>;
+    request?: protos.google.cloud.sql.v1.ISqlInstancesPatchRequest,
+    options?: CallOptions,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1.IOperation,
+      protos.google.cloud.sql.v1.ISqlInstancesPatchRequest | undefined,
+      {} | undefined,
+    ]
+  >;
   patch(
-      request: protos.google.cloud.sql.v1.ISqlInstancesPatchRequest,
-      options: CallOptions,
-      callback: Callback<
-          protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlInstancesPatchRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1.ISqlInstancesPatchRequest,
+    options: CallOptions,
+    callback: Callback<
+      protos.google.cloud.sql.v1.IOperation,
+      protos.google.cloud.sql.v1.ISqlInstancesPatchRequest | null | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   patch(
-      request: protos.google.cloud.sql.v1.ISqlInstancesPatchRequest,
-      callback: Callback<
-          protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlInstancesPatchRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1.ISqlInstancesPatchRequest,
+    callback: Callback<
+      protos.google.cloud.sql.v1.IOperation,
+      protos.google.cloud.sql.v1.ISqlInstancesPatchRequest | null | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   patch(
-      request?: protos.google.cloud.sql.v1.ISqlInstancesPatchRequest,
-      optionsOrCallback?: CallOptions|Callback<
-          protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlInstancesPatchRequest|null|undefined,
-          {}|null|undefined>,
-      callback?: Callback<
+    request?: protos.google.cloud.sql.v1.ISqlInstancesPatchRequest,
+    optionsOrCallback?:
+      | CallOptions
+      | Callback<
           protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlInstancesPatchRequest|null|undefined,
-          {}|null|undefined>):
-      Promise<[
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlInstancesPatchRequest|undefined, {}|undefined
-      ]>|void {
+          | protos.google.cloud.sql.v1.ISqlInstancesPatchRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >,
+    callback?: Callback<
+      protos.google.cloud.sql.v1.IOperation,
+      protos.google.cloud.sql.v1.ISqlInstancesPatchRequest | null | undefined,
+      {} | null | undefined
+    >,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1.IOperation,
+      protos.google.cloud.sql.v1.ISqlInstancesPatchRequest | undefined,
+      {} | undefined,
+    ]
+  > | void {
     request = request || {};
     let options: CallOptions;
     if (typeof optionsOrCallback === 'function' && callback === undefined) {
       callback = optionsOrCallback;
       options = {};
-    }
-    else {
+    } else {
       options = optionsOrCallback as CallOptions;
     }
     options = options || {};
     options.otherArgs = options.otherArgs || {};
     options.otherArgs.headers = options.otherArgs.headers || {};
-    options.otherArgs.headers[
-      'x-goog-request-params'
-    ] = this._gaxModule.routingHeader.fromParams({
-      'project': request.project ?? '',
-      'instance': request.instance ?? '',
+    options.otherArgs.headers['x-goog-request-params'] =
+      this._gaxModule.routingHeader.fromParams({
+        project: request.project ?? '',
+        instance: request.instance ?? '',
+      });
+    this.initialize().catch((err) => {
+      throw err;
     });
-    this.initialize().catch(err => {throw err});
     this._log.info('patch request %j', request);
-    const wrappedCallback: Callback<
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlInstancesPatchRequest|null|undefined,
-        {}|null|undefined>|undefined = callback
+    const wrappedCallback:
+      | Callback<
+          protos.google.cloud.sql.v1.IOperation,
+          | protos.google.cloud.sql.v1.ISqlInstancesPatchRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >
+      | undefined = callback
       ? (error, response, options, rawResponse) => {
           this._log.info('patch response %j', response);
           callback!(error, response, options, rawResponse); // We verified callback above.
         }
       : undefined;
-    return this.innerApiCalls.patch(request, options, wrappedCallback)
-      ?.then(([response, options, rawResponse]: [
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlInstancesPatchRequest|undefined,
-        {}|undefined
-      ]) => {
-        this._log.info('patch response %j', response);
-        return [response, options, rawResponse];
-      }).catch((error: any) => {
-        if (error && 'statusDetails' in error && error.statusDetails instanceof Array) {
-          const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type;
-          error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos);
+    return this.innerApiCalls
+      .patch(request, options, wrappedCallback)
+      ?.then(
+        ([response, options, rawResponse]: [
+          protos.google.cloud.sql.v1.IOperation,
+          protos.google.cloud.sql.v1.ISqlInstancesPatchRequest | undefined,
+          {} | undefined,
+        ]) => {
+          this._log.info('patch response %j', response);
+          return [response, options, rawResponse];
+        },
+      )
+      .catch((error: any) => {
+        if (
+          error &&
+          'statusDetails' in error &&
+          error.statusDetails instanceof Array
+        ) {
+          const protos = this._gaxModule.protobuf.Root.fromJSON(
+            jsonProtos,
+          ) as unknown as gax.protobuf.Type;
+          error.statusDetails = decodeAnyProtosInArray(
+            error.statusDetails,
+            protos,
+          );
         }
         throw error;
       });
   }
-/**
- * Promotes the read replica instance to be an independent Cloud SQL
- * primary instance.
- * Using this operation might cause your instance to restart.
- *
- * @param {Object} request
- *   The request object that will be sent.
- * @param {string} request.instance
- *   Cloud SQL read replica instance name.
- * @param {string} request.project
- *   ID of the project that contains the read replica.
- * @param {boolean} request.failover
- *   Set to true to invoke a replica failover to the DR
- *   replica. As part of replica failover, the promote operation attempts
- *   to add the original primary instance as a replica of the promoted
- *   DR replica when the original primary instance comes back online.
- *   If set to false or not specified, then the original primary
- *   instance becomes an independent Cloud SQL primary instance.
- * @param {object} [options]
- *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
- * @returns {Promise} - The promise which resolves to an array.
- *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1.Operation|Operation}.
- *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
- *   for more details and examples.
- * @example <caption>include:samples/generated/v1/sql_instances_service.promote_replica.js</caption>
- * region_tag:sqladmin_v1_generated_SqlInstancesService_PromoteReplica_async
- */
+  /**
+   * Promotes the read replica instance to be an independent Cloud SQL
+   * primary instance.
+   * Using this operation might cause your instance to restart.
+   *
+   * @param {Object} request
+   *   The request object that will be sent.
+   * @param {string} request.instance
+   *   Cloud SQL read replica instance name.
+   * @param {string} request.project
+   *   ID of the project that contains the read replica.
+   * @param {boolean} request.failover
+   *   Set to true to invoke a replica failover to the DR
+   *   replica. As part of replica failover, the promote operation attempts
+   *   to add the original primary instance as a replica of the promoted
+   *   DR replica when the original primary instance comes back online.
+   *   If set to false or not specified, then the original primary
+   *   instance becomes an independent Cloud SQL primary instance.
+   * @param {object} [options]
+   *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+   * @returns {Promise} - The promise which resolves to an array.
+   *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1.Operation|Operation}.
+   *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
+   *   for more details and examples.
+   * @example <caption>include:samples/generated/v1/sql_instances_service.promote_replica.js</caption>
+   * region_tag:sqladmin_v1_generated_SqlInstancesService_PromoteReplica_async
+   */
   promoteReplica(
-      request?: protos.google.cloud.sql.v1.ISqlInstancesPromoteReplicaRequest,
-      options?: CallOptions):
-      Promise<[
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlInstancesPromoteReplicaRequest|undefined, {}|undefined
-      ]>;
+    request?: protos.google.cloud.sql.v1.ISqlInstancesPromoteReplicaRequest,
+    options?: CallOptions,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1.IOperation,
+      protos.google.cloud.sql.v1.ISqlInstancesPromoteReplicaRequest | undefined,
+      {} | undefined,
+    ]
+  >;
   promoteReplica(
-      request: protos.google.cloud.sql.v1.ISqlInstancesPromoteReplicaRequest,
-      options: CallOptions,
-      callback: Callback<
-          protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlInstancesPromoteReplicaRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1.ISqlInstancesPromoteReplicaRequest,
+    options: CallOptions,
+    callback: Callback<
+      protos.google.cloud.sql.v1.IOperation,
+      | protos.google.cloud.sql.v1.ISqlInstancesPromoteReplicaRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   promoteReplica(
-      request: protos.google.cloud.sql.v1.ISqlInstancesPromoteReplicaRequest,
-      callback: Callback<
-          protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlInstancesPromoteReplicaRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1.ISqlInstancesPromoteReplicaRequest,
+    callback: Callback<
+      protos.google.cloud.sql.v1.IOperation,
+      | protos.google.cloud.sql.v1.ISqlInstancesPromoteReplicaRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   promoteReplica(
-      request?: protos.google.cloud.sql.v1.ISqlInstancesPromoteReplicaRequest,
-      optionsOrCallback?: CallOptions|Callback<
-          protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlInstancesPromoteReplicaRequest|null|undefined,
-          {}|null|undefined>,
-      callback?: Callback<
+    request?: protos.google.cloud.sql.v1.ISqlInstancesPromoteReplicaRequest,
+    optionsOrCallback?:
+      | CallOptions
+      | Callback<
           protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlInstancesPromoteReplicaRequest|null|undefined,
-          {}|null|undefined>):
-      Promise<[
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlInstancesPromoteReplicaRequest|undefined, {}|undefined
-      ]>|void {
+          | protos.google.cloud.sql.v1.ISqlInstancesPromoteReplicaRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >,
+    callback?: Callback<
+      protos.google.cloud.sql.v1.IOperation,
+      | protos.google.cloud.sql.v1.ISqlInstancesPromoteReplicaRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1.IOperation,
+      protos.google.cloud.sql.v1.ISqlInstancesPromoteReplicaRequest | undefined,
+      {} | undefined,
+    ]
+  > | void {
     request = request || {};
     let options: CallOptions;
     if (typeof optionsOrCallback === 'function' && callback === undefined) {
       callback = optionsOrCallback;
       options = {};
-    }
-    else {
+    } else {
       options = optionsOrCallback as CallOptions;
     }
     options = options || {};
     options.otherArgs = options.otherArgs || {};
     options.otherArgs.headers = options.otherArgs.headers || {};
-    options.otherArgs.headers[
-      'x-goog-request-params'
-    ] = this._gaxModule.routingHeader.fromParams({
-      'project': request.project ?? '',
-      'instance': request.instance ?? '',
+    options.otherArgs.headers['x-goog-request-params'] =
+      this._gaxModule.routingHeader.fromParams({
+        project: request.project ?? '',
+        instance: request.instance ?? '',
+      });
+    this.initialize().catch((err) => {
+      throw err;
     });
-    this.initialize().catch(err => {throw err});
     this._log.info('promoteReplica request %j', request);
-    const wrappedCallback: Callback<
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlInstancesPromoteReplicaRequest|null|undefined,
-        {}|null|undefined>|undefined = callback
+    const wrappedCallback:
+      | Callback<
+          protos.google.cloud.sql.v1.IOperation,
+          | protos.google.cloud.sql.v1.ISqlInstancesPromoteReplicaRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >
+      | undefined = callback
       ? (error, response, options, rawResponse) => {
           this._log.info('promoteReplica response %j', response);
           callback!(error, response, options, rawResponse); // We verified callback above.
         }
       : undefined;
-    return this.innerApiCalls.promoteReplica(request, options, wrappedCallback)
-      ?.then(([response, options, rawResponse]: [
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlInstancesPromoteReplicaRequest|undefined,
-        {}|undefined
-      ]) => {
-        this._log.info('promoteReplica response %j', response);
-        return [response, options, rawResponse];
-      }).catch((error: any) => {
-        if (error && 'statusDetails' in error && error.statusDetails instanceof Array) {
-          const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type;
-          error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos);
+    return this.innerApiCalls
+      .promoteReplica(request, options, wrappedCallback)
+      ?.then(
+        ([response, options, rawResponse]: [
+          protos.google.cloud.sql.v1.IOperation,
+          (
+            | protos.google.cloud.sql.v1.ISqlInstancesPromoteReplicaRequest
+            | undefined
+          ),
+          {} | undefined,
+        ]) => {
+          this._log.info('promoteReplica response %j', response);
+          return [response, options, rawResponse];
+        },
+      )
+      .catch((error: any) => {
+        if (
+          error &&
+          'statusDetails' in error &&
+          error.statusDetails instanceof Array
+        ) {
+          const protos = this._gaxModule.protobuf.Root.fromJSON(
+            jsonProtos,
+          ) as unknown as gax.protobuf.Type;
+          error.statusDetails = decodeAnyProtosInArray(
+            error.statusDetails,
+            protos,
+          );
         }
         throw error;
       });
   }
-/**
- * Switches over from the primary instance to the DR replica
- * instance.
- *
- * @param {Object} request
- *   The request object that will be sent.
- * @param {string} request.instance
- *   Cloud SQL read replica instance name.
- * @param {string} request.project
- *   ID of the project that contains the replica.
- * @param {google.protobuf.Duration} [request.dbTimeout]
- *   Optional. (MySQL and PostgreSQL only) Cloud SQL instance operations
- *   timeout, which is a sum of all database operations. Default value is 10
- *   minutes and can be modified to a maximum value of 24 hours.
- * @param {object} [options]
- *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
- * @returns {Promise} - The promise which resolves to an array.
- *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1.Operation|Operation}.
- *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
- *   for more details and examples.
- * @example <caption>include:samples/generated/v1/sql_instances_service.switchover.js</caption>
- * region_tag:sqladmin_v1_generated_SqlInstancesService_Switchover_async
- */
+  /**
+   * Switches over from the primary instance to the DR replica
+   * instance.
+   *
+   * @param {Object} request
+   *   The request object that will be sent.
+   * @param {string} request.instance
+   *   Cloud SQL read replica instance name.
+   * @param {string} request.project
+   *   ID of the project that contains the replica.
+   * @param {google.protobuf.Duration} [request.dbTimeout]
+   *   Optional. (MySQL and PostgreSQL only) Cloud SQL instance operations
+   *   timeout, which is a sum of all database operations. Default value is 10
+   *   minutes and can be modified to a maximum value of 24 hours.
+   * @param {object} [options]
+   *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+   * @returns {Promise} - The promise which resolves to an array.
+   *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1.Operation|Operation}.
+   *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
+   *   for more details and examples.
+   * @example <caption>include:samples/generated/v1/sql_instances_service.switchover.js</caption>
+   * region_tag:sqladmin_v1_generated_SqlInstancesService_Switchover_async
+   */
   switchover(
-      request?: protos.google.cloud.sql.v1.ISqlInstancesSwitchoverRequest,
-      options?: CallOptions):
-      Promise<[
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlInstancesSwitchoverRequest|undefined, {}|undefined
-      ]>;
+    request?: protos.google.cloud.sql.v1.ISqlInstancesSwitchoverRequest,
+    options?: CallOptions,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1.IOperation,
+      protos.google.cloud.sql.v1.ISqlInstancesSwitchoverRequest | undefined,
+      {} | undefined,
+    ]
+  >;
   switchover(
-      request: protos.google.cloud.sql.v1.ISqlInstancesSwitchoverRequest,
-      options: CallOptions,
-      callback: Callback<
-          protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlInstancesSwitchoverRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1.ISqlInstancesSwitchoverRequest,
+    options: CallOptions,
+    callback: Callback<
+      protos.google.cloud.sql.v1.IOperation,
+      | protos.google.cloud.sql.v1.ISqlInstancesSwitchoverRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   switchover(
-      request: protos.google.cloud.sql.v1.ISqlInstancesSwitchoverRequest,
-      callback: Callback<
-          protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlInstancesSwitchoverRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1.ISqlInstancesSwitchoverRequest,
+    callback: Callback<
+      protos.google.cloud.sql.v1.IOperation,
+      | protos.google.cloud.sql.v1.ISqlInstancesSwitchoverRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   switchover(
-      request?: protos.google.cloud.sql.v1.ISqlInstancesSwitchoverRequest,
-      optionsOrCallback?: CallOptions|Callback<
-          protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlInstancesSwitchoverRequest|null|undefined,
-          {}|null|undefined>,
-      callback?: Callback<
+    request?: protos.google.cloud.sql.v1.ISqlInstancesSwitchoverRequest,
+    optionsOrCallback?:
+      | CallOptions
+      | Callback<
           protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlInstancesSwitchoverRequest|null|undefined,
-          {}|null|undefined>):
-      Promise<[
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlInstancesSwitchoverRequest|undefined, {}|undefined
-      ]>|void {
+          | protos.google.cloud.sql.v1.ISqlInstancesSwitchoverRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >,
+    callback?: Callback<
+      protos.google.cloud.sql.v1.IOperation,
+      | protos.google.cloud.sql.v1.ISqlInstancesSwitchoverRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1.IOperation,
+      protos.google.cloud.sql.v1.ISqlInstancesSwitchoverRequest | undefined,
+      {} | undefined,
+    ]
+  > | void {
     request = request || {};
     let options: CallOptions;
     if (typeof optionsOrCallback === 'function' && callback === undefined) {
       callback = optionsOrCallback;
       options = {};
-    }
-    else {
+    } else {
       options = optionsOrCallback as CallOptions;
     }
     options = options || {};
     options.otherArgs = options.otherArgs || {};
     options.otherArgs.headers = options.otherArgs.headers || {};
-    options.otherArgs.headers[
-      'x-goog-request-params'
-    ] = this._gaxModule.routingHeader.fromParams({
-      'project': request.project ?? '',
-      'instance': request.instance ?? '',
+    options.otherArgs.headers['x-goog-request-params'] =
+      this._gaxModule.routingHeader.fromParams({
+        project: request.project ?? '',
+        instance: request.instance ?? '',
+      });
+    this.initialize().catch((err) => {
+      throw err;
     });
-    this.initialize().catch(err => {throw err});
     this._log.info('switchover request %j', request);
-    const wrappedCallback: Callback<
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlInstancesSwitchoverRequest|null|undefined,
-        {}|null|undefined>|undefined = callback
+    const wrappedCallback:
+      | Callback<
+          protos.google.cloud.sql.v1.IOperation,
+          | protos.google.cloud.sql.v1.ISqlInstancesSwitchoverRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >
+      | undefined = callback
       ? (error, response, options, rawResponse) => {
           this._log.info('switchover response %j', response);
           callback!(error, response, options, rawResponse); // We verified callback above.
         }
       : undefined;
-    return this.innerApiCalls.switchover(request, options, wrappedCallback)
-      ?.then(([response, options, rawResponse]: [
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlInstancesSwitchoverRequest|undefined,
-        {}|undefined
-      ]) => {
-        this._log.info('switchover response %j', response);
-        return [response, options, rawResponse];
-      }).catch((error: any) => {
-        if (error && 'statusDetails' in error && error.statusDetails instanceof Array) {
-          const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type;
-          error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos);
+    return this.innerApiCalls
+      .switchover(request, options, wrappedCallback)
+      ?.then(
+        ([response, options, rawResponse]: [
+          protos.google.cloud.sql.v1.IOperation,
+          protos.google.cloud.sql.v1.ISqlInstancesSwitchoverRequest | undefined,
+          {} | undefined,
+        ]) => {
+          this._log.info('switchover response %j', response);
+          return [response, options, rawResponse];
+        },
+      )
+      .catch((error: any) => {
+        if (
+          error &&
+          'statusDetails' in error &&
+          error.statusDetails instanceof Array
+        ) {
+          const protos = this._gaxModule.protobuf.Root.fromJSON(
+            jsonProtos,
+          ) as unknown as gax.protobuf.Type;
+          error.statusDetails = decodeAnyProtosInArray(
+            error.statusDetails,
+            protos,
+          );
         }
         throw error;
       });
   }
-/**
- * Deletes all client certificates and generates a new server SSL certificate
- * for the instance.
- *
- * @param {Object} request
- *   The request object that will be sent.
- * @param {string} request.instance
- *   Cloud SQL instance ID. This does not include the project ID.
- * @param {string} request.project
- *   Project ID of the project that contains the instance.
- * @param {google.cloud.sql.v1.SqlInstancesResetSslConfigRequest.ResetSslMode} [request.mode]
- *   Optional. Reset SSL mode to use.
- * @param {object} [options]
- *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
- * @returns {Promise} - The promise which resolves to an array.
- *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1.Operation|Operation}.
- *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
- *   for more details and examples.
- * @example <caption>include:samples/generated/v1/sql_instances_service.reset_ssl_config.js</caption>
- * region_tag:sqladmin_v1_generated_SqlInstancesService_ResetSslConfig_async
- */
+  /**
+   * Deletes all client certificates and generates a new server SSL certificate
+   * for the instance.
+   *
+   * @param {Object} request
+   *   The request object that will be sent.
+   * @param {string} request.instance
+   *   Cloud SQL instance ID. This does not include the project ID.
+   * @param {string} request.project
+   *   Project ID of the project that contains the instance.
+   * @param {google.cloud.sql.v1.SqlInstancesResetSslConfigRequest.ResetSslMode} [request.mode]
+   *   Optional. Reset SSL mode to use.
+   * @param {object} [options]
+   *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+   * @returns {Promise} - The promise which resolves to an array.
+   *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1.Operation|Operation}.
+   *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
+   *   for more details and examples.
+   * @example <caption>include:samples/generated/v1/sql_instances_service.reset_ssl_config.js</caption>
+   * region_tag:sqladmin_v1_generated_SqlInstancesService_ResetSslConfig_async
+   */
   resetSslConfig(
-      request?: protos.google.cloud.sql.v1.ISqlInstancesResetSslConfigRequest,
-      options?: CallOptions):
-      Promise<[
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlInstancesResetSslConfigRequest|undefined, {}|undefined
-      ]>;
+    request?: protos.google.cloud.sql.v1.ISqlInstancesResetSslConfigRequest,
+    options?: CallOptions,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1.IOperation,
+      protos.google.cloud.sql.v1.ISqlInstancesResetSslConfigRequest | undefined,
+      {} | undefined,
+    ]
+  >;
   resetSslConfig(
-      request: protos.google.cloud.sql.v1.ISqlInstancesResetSslConfigRequest,
-      options: CallOptions,
-      callback: Callback<
-          protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlInstancesResetSslConfigRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1.ISqlInstancesResetSslConfigRequest,
+    options: CallOptions,
+    callback: Callback<
+      protos.google.cloud.sql.v1.IOperation,
+      | protos.google.cloud.sql.v1.ISqlInstancesResetSslConfigRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   resetSslConfig(
-      request: protos.google.cloud.sql.v1.ISqlInstancesResetSslConfigRequest,
-      callback: Callback<
-          protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlInstancesResetSslConfigRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1.ISqlInstancesResetSslConfigRequest,
+    callback: Callback<
+      protos.google.cloud.sql.v1.IOperation,
+      | protos.google.cloud.sql.v1.ISqlInstancesResetSslConfigRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   resetSslConfig(
-      request?: protos.google.cloud.sql.v1.ISqlInstancesResetSslConfigRequest,
-      optionsOrCallback?: CallOptions|Callback<
-          protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlInstancesResetSslConfigRequest|null|undefined,
-          {}|null|undefined>,
-      callback?: Callback<
+    request?: protos.google.cloud.sql.v1.ISqlInstancesResetSslConfigRequest,
+    optionsOrCallback?:
+      | CallOptions
+      | Callback<
           protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlInstancesResetSslConfigRequest|null|undefined,
-          {}|null|undefined>):
-      Promise<[
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlInstancesResetSslConfigRequest|undefined, {}|undefined
-      ]>|void {
+          | protos.google.cloud.sql.v1.ISqlInstancesResetSslConfigRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >,
+    callback?: Callback<
+      protos.google.cloud.sql.v1.IOperation,
+      | protos.google.cloud.sql.v1.ISqlInstancesResetSslConfigRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1.IOperation,
+      protos.google.cloud.sql.v1.ISqlInstancesResetSslConfigRequest | undefined,
+      {} | undefined,
+    ]
+  > | void {
     request = request || {};
     let options: CallOptions;
     if (typeof optionsOrCallback === 'function' && callback === undefined) {
       callback = optionsOrCallback;
       options = {};
-    }
-    else {
+    } else {
       options = optionsOrCallback as CallOptions;
     }
     options = options || {};
     options.otherArgs = options.otherArgs || {};
     options.otherArgs.headers = options.otherArgs.headers || {};
-    options.otherArgs.headers[
-      'x-goog-request-params'
-    ] = this._gaxModule.routingHeader.fromParams({
-      'project': request.project ?? '',
-      'instance': request.instance ?? '',
+    options.otherArgs.headers['x-goog-request-params'] =
+      this._gaxModule.routingHeader.fromParams({
+        project: request.project ?? '',
+        instance: request.instance ?? '',
+      });
+    this.initialize().catch((err) => {
+      throw err;
     });
-    this.initialize().catch(err => {throw err});
     this._log.info('resetSslConfig request %j', request);
-    const wrappedCallback: Callback<
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlInstancesResetSslConfigRequest|null|undefined,
-        {}|null|undefined>|undefined = callback
+    const wrappedCallback:
+      | Callback<
+          protos.google.cloud.sql.v1.IOperation,
+          | protos.google.cloud.sql.v1.ISqlInstancesResetSslConfigRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >
+      | undefined = callback
       ? (error, response, options, rawResponse) => {
           this._log.info('resetSslConfig response %j', response);
           callback!(error, response, options, rawResponse); // We verified callback above.
         }
       : undefined;
-    return this.innerApiCalls.resetSslConfig(request, options, wrappedCallback)
-      ?.then(([response, options, rawResponse]: [
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlInstancesResetSslConfigRequest|undefined,
-        {}|undefined
-      ]) => {
-        this._log.info('resetSslConfig response %j', response);
-        return [response, options, rawResponse];
-      }).catch((error: any) => {
-        if (error && 'statusDetails' in error && error.statusDetails instanceof Array) {
-          const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type;
-          error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos);
+    return this.innerApiCalls
+      .resetSslConfig(request, options, wrappedCallback)
+      ?.then(
+        ([response, options, rawResponse]: [
+          protos.google.cloud.sql.v1.IOperation,
+          (
+            | protos.google.cloud.sql.v1.ISqlInstancesResetSslConfigRequest
+            | undefined
+          ),
+          {} | undefined,
+        ]) => {
+          this._log.info('resetSslConfig response %j', response);
+          return [response, options, rawResponse];
+        },
+      )
+      .catch((error: any) => {
+        if (
+          error &&
+          'statusDetails' in error &&
+          error.statusDetails instanceof Array
+        ) {
+          const protos = this._gaxModule.protobuf.Root.fromJSON(
+            jsonProtos,
+          ) as unknown as gax.protobuf.Type;
+          error.statusDetails = decodeAnyProtosInArray(
+            error.statusDetails,
+            protos,
+          );
         }
         throw error;
       });
   }
-/**
- * Restarts a Cloud SQL instance.
- *
- * @param {Object} request
- *   The request object that will be sent.
- * @param {string} request.instance
- *   Cloud SQL instance ID. This does not include the project ID.
- * @param {string} request.project
- *   Project ID of the project that contains the instance to be restarted.
- * @param {object} [options]
- *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
- * @returns {Promise} - The promise which resolves to an array.
- *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1.Operation|Operation}.
- *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
- *   for more details and examples.
- * @example <caption>include:samples/generated/v1/sql_instances_service.restart.js</caption>
- * region_tag:sqladmin_v1_generated_SqlInstancesService_Restart_async
- */
+  /**
+   * Restarts a Cloud SQL instance.
+   *
+   * @param {Object} request
+   *   The request object that will be sent.
+   * @param {string} request.instance
+   *   Cloud SQL instance ID. This does not include the project ID.
+   * @param {string} request.project
+   *   Project ID of the project that contains the instance to be restarted.
+   * @param {object} [options]
+   *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+   * @returns {Promise} - The promise which resolves to an array.
+   *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1.Operation|Operation}.
+   *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
+   *   for more details and examples.
+   * @example <caption>include:samples/generated/v1/sql_instances_service.restart.js</caption>
+   * region_tag:sqladmin_v1_generated_SqlInstancesService_Restart_async
+   */
   restart(
-      request?: protos.google.cloud.sql.v1.ISqlInstancesRestartRequest,
-      options?: CallOptions):
-      Promise<[
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlInstancesRestartRequest|undefined, {}|undefined
-      ]>;
+    request?: protos.google.cloud.sql.v1.ISqlInstancesRestartRequest,
+    options?: CallOptions,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1.IOperation,
+      protos.google.cloud.sql.v1.ISqlInstancesRestartRequest | undefined,
+      {} | undefined,
+    ]
+  >;
   restart(
-      request: protos.google.cloud.sql.v1.ISqlInstancesRestartRequest,
-      options: CallOptions,
-      callback: Callback<
-          protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlInstancesRestartRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1.ISqlInstancesRestartRequest,
+    options: CallOptions,
+    callback: Callback<
+      protos.google.cloud.sql.v1.IOperation,
+      protos.google.cloud.sql.v1.ISqlInstancesRestartRequest | null | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   restart(
-      request: protos.google.cloud.sql.v1.ISqlInstancesRestartRequest,
-      callback: Callback<
-          protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlInstancesRestartRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1.ISqlInstancesRestartRequest,
+    callback: Callback<
+      protos.google.cloud.sql.v1.IOperation,
+      protos.google.cloud.sql.v1.ISqlInstancesRestartRequest | null | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   restart(
-      request?: protos.google.cloud.sql.v1.ISqlInstancesRestartRequest,
-      optionsOrCallback?: CallOptions|Callback<
-          protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlInstancesRestartRequest|null|undefined,
-          {}|null|undefined>,
-      callback?: Callback<
+    request?: protos.google.cloud.sql.v1.ISqlInstancesRestartRequest,
+    optionsOrCallback?:
+      | CallOptions
+      | Callback<
           protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlInstancesRestartRequest|null|undefined,
-          {}|null|undefined>):
-      Promise<[
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlInstancesRestartRequest|undefined, {}|undefined
-      ]>|void {
+          | protos.google.cloud.sql.v1.ISqlInstancesRestartRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >,
+    callback?: Callback<
+      protos.google.cloud.sql.v1.IOperation,
+      protos.google.cloud.sql.v1.ISqlInstancesRestartRequest | null | undefined,
+      {} | null | undefined
+    >,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1.IOperation,
+      protos.google.cloud.sql.v1.ISqlInstancesRestartRequest | undefined,
+      {} | undefined,
+    ]
+  > | void {
     request = request || {};
     let options: CallOptions;
     if (typeof optionsOrCallback === 'function' && callback === undefined) {
       callback = optionsOrCallback;
       options = {};
-    }
-    else {
+    } else {
       options = optionsOrCallback as CallOptions;
     }
     options = options || {};
     options.otherArgs = options.otherArgs || {};
     options.otherArgs.headers = options.otherArgs.headers || {};
-    options.otherArgs.headers[
-      'x-goog-request-params'
-    ] = this._gaxModule.routingHeader.fromParams({
-      'project': request.project ?? '',
-      'instance': request.instance ?? '',
+    options.otherArgs.headers['x-goog-request-params'] =
+      this._gaxModule.routingHeader.fromParams({
+        project: request.project ?? '',
+        instance: request.instance ?? '',
+      });
+    this.initialize().catch((err) => {
+      throw err;
     });
-    this.initialize().catch(err => {throw err});
     this._log.info('restart request %j', request);
-    const wrappedCallback: Callback<
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlInstancesRestartRequest|null|undefined,
-        {}|null|undefined>|undefined = callback
+    const wrappedCallback:
+      | Callback<
+          protos.google.cloud.sql.v1.IOperation,
+          | protos.google.cloud.sql.v1.ISqlInstancesRestartRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >
+      | undefined = callback
       ? (error, response, options, rawResponse) => {
           this._log.info('restart response %j', response);
           callback!(error, response, options, rawResponse); // We verified callback above.
         }
       : undefined;
-    return this.innerApiCalls.restart(request, options, wrappedCallback)
-      ?.then(([response, options, rawResponse]: [
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlInstancesRestartRequest|undefined,
-        {}|undefined
-      ]) => {
-        this._log.info('restart response %j', response);
-        return [response, options, rawResponse];
-      }).catch((error: any) => {
-        if (error && 'statusDetails' in error && error.statusDetails instanceof Array) {
-          const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type;
-          error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos);
+    return this.innerApiCalls
+      .restart(request, options, wrappedCallback)
+      ?.then(
+        ([response, options, rawResponse]: [
+          protos.google.cloud.sql.v1.IOperation,
+          protos.google.cloud.sql.v1.ISqlInstancesRestartRequest | undefined,
+          {} | undefined,
+        ]) => {
+          this._log.info('restart response %j', response);
+          return [response, options, rawResponse];
+        },
+      )
+      .catch((error: any) => {
+        if (
+          error &&
+          'statusDetails' in error &&
+          error.statusDetails instanceof Array
+        ) {
+          const protos = this._gaxModule.protobuf.Root.fromJSON(
+            jsonProtos,
+          ) as unknown as gax.protobuf.Type;
+          error.statusDetails = decodeAnyProtosInArray(
+            error.statusDetails,
+            protos,
+          );
         }
         throw error;
       });
   }
-/**
- * Restores a backup of a Cloud SQL instance. Using this operation might cause
- * your instance to restart.
- *
- * @param {Object} request
- *   The request object that will be sent.
- * @param {string} request.instance
- *   Cloud SQL instance ID. This does not include the project ID.
- * @param {string} request.project
- *   Project ID of the project that contains the instance.
- * @param {google.cloud.sql.v1.InstancesRestoreBackupRequest} request.body
- * @param {object} [options]
- *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
- * @returns {Promise} - The promise which resolves to an array.
- *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1.Operation|Operation}.
- *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
- *   for more details and examples.
- * @example <caption>include:samples/generated/v1/sql_instances_service.restore_backup.js</caption>
- * region_tag:sqladmin_v1_generated_SqlInstancesService_RestoreBackup_async
- */
+  /**
+   * Restores a backup of a Cloud SQL instance. Using this operation might cause
+   * your instance to restart.
+   *
+   * @param {Object} request
+   *   The request object that will be sent.
+   * @param {string} request.instance
+   *   Cloud SQL instance ID. This does not include the project ID.
+   * @param {string} request.project
+   *   Project ID of the project that contains the instance.
+   * @param {google.cloud.sql.v1.InstancesRestoreBackupRequest} request.body
+   * @param {object} [options]
+   *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+   * @returns {Promise} - The promise which resolves to an array.
+   *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1.Operation|Operation}.
+   *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
+   *   for more details and examples.
+   * @example <caption>include:samples/generated/v1/sql_instances_service.restore_backup.js</caption>
+   * region_tag:sqladmin_v1_generated_SqlInstancesService_RestoreBackup_async
+   */
   restoreBackup(
-      request?: protos.google.cloud.sql.v1.ISqlInstancesRestoreBackupRequest,
-      options?: CallOptions):
-      Promise<[
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlInstancesRestoreBackupRequest|undefined, {}|undefined
-      ]>;
+    request?: protos.google.cloud.sql.v1.ISqlInstancesRestoreBackupRequest,
+    options?: CallOptions,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1.IOperation,
+      protos.google.cloud.sql.v1.ISqlInstancesRestoreBackupRequest | undefined,
+      {} | undefined,
+    ]
+  >;
   restoreBackup(
-      request: protos.google.cloud.sql.v1.ISqlInstancesRestoreBackupRequest,
-      options: CallOptions,
-      callback: Callback<
-          protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlInstancesRestoreBackupRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1.ISqlInstancesRestoreBackupRequest,
+    options: CallOptions,
+    callback: Callback<
+      protos.google.cloud.sql.v1.IOperation,
+      | protos.google.cloud.sql.v1.ISqlInstancesRestoreBackupRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   restoreBackup(
-      request: protos.google.cloud.sql.v1.ISqlInstancesRestoreBackupRequest,
-      callback: Callback<
-          protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlInstancesRestoreBackupRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1.ISqlInstancesRestoreBackupRequest,
+    callback: Callback<
+      protos.google.cloud.sql.v1.IOperation,
+      | protos.google.cloud.sql.v1.ISqlInstancesRestoreBackupRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   restoreBackup(
-      request?: protos.google.cloud.sql.v1.ISqlInstancesRestoreBackupRequest,
-      optionsOrCallback?: CallOptions|Callback<
-          protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlInstancesRestoreBackupRequest|null|undefined,
-          {}|null|undefined>,
-      callback?: Callback<
+    request?: protos.google.cloud.sql.v1.ISqlInstancesRestoreBackupRequest,
+    optionsOrCallback?:
+      | CallOptions
+      | Callback<
           protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlInstancesRestoreBackupRequest|null|undefined,
-          {}|null|undefined>):
-      Promise<[
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlInstancesRestoreBackupRequest|undefined, {}|undefined
-      ]>|void {
+          | protos.google.cloud.sql.v1.ISqlInstancesRestoreBackupRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >,
+    callback?: Callback<
+      protos.google.cloud.sql.v1.IOperation,
+      | protos.google.cloud.sql.v1.ISqlInstancesRestoreBackupRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1.IOperation,
+      protos.google.cloud.sql.v1.ISqlInstancesRestoreBackupRequest | undefined,
+      {} | undefined,
+    ]
+  > | void {
     request = request || {};
     let options: CallOptions;
     if (typeof optionsOrCallback === 'function' && callback === undefined) {
       callback = optionsOrCallback;
       options = {};
-    }
-    else {
+    } else {
       options = optionsOrCallback as CallOptions;
     }
     options = options || {};
     options.otherArgs = options.otherArgs || {};
     options.otherArgs.headers = options.otherArgs.headers || {};
-    options.otherArgs.headers[
-      'x-goog-request-params'
-    ] = this._gaxModule.routingHeader.fromParams({
-      'project': request.project ?? '',
-      'instance': request.instance ?? '',
+    options.otherArgs.headers['x-goog-request-params'] =
+      this._gaxModule.routingHeader.fromParams({
+        project: request.project ?? '',
+        instance: request.instance ?? '',
+      });
+    this.initialize().catch((err) => {
+      throw err;
     });
-    this.initialize().catch(err => {throw err});
     this._log.info('restoreBackup request %j', request);
-    const wrappedCallback: Callback<
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlInstancesRestoreBackupRequest|null|undefined,
-        {}|null|undefined>|undefined = callback
+    const wrappedCallback:
+      | Callback<
+          protos.google.cloud.sql.v1.IOperation,
+          | protos.google.cloud.sql.v1.ISqlInstancesRestoreBackupRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >
+      | undefined = callback
       ? (error, response, options, rawResponse) => {
           this._log.info('restoreBackup response %j', response);
           callback!(error, response, options, rawResponse); // We verified callback above.
         }
       : undefined;
-    return this.innerApiCalls.restoreBackup(request, options, wrappedCallback)
-      ?.then(([response, options, rawResponse]: [
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlInstancesRestoreBackupRequest|undefined,
-        {}|undefined
-      ]) => {
-        this._log.info('restoreBackup response %j', response);
-        return [response, options, rawResponse];
-      }).catch((error: any) => {
-        if (error && 'statusDetails' in error && error.statusDetails instanceof Array) {
-          const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type;
-          error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos);
+    return this.innerApiCalls
+      .restoreBackup(request, options, wrappedCallback)
+      ?.then(
+        ([response, options, rawResponse]: [
+          protos.google.cloud.sql.v1.IOperation,
+          (
+            | protos.google.cloud.sql.v1.ISqlInstancesRestoreBackupRequest
+            | undefined
+          ),
+          {} | undefined,
+        ]) => {
+          this._log.info('restoreBackup response %j', response);
+          return [response, options, rawResponse];
+        },
+      )
+      .catch((error: any) => {
+        if (
+          error &&
+          'statusDetails' in error &&
+          error.statusDetails instanceof Array
+        ) {
+          const protos = this._gaxModule.protobuf.Root.fromJSON(
+            jsonProtos,
+          ) as unknown as gax.protobuf.Type;
+          error.statusDetails = decodeAnyProtosInArray(
+            error.statusDetails,
+            protos,
+          );
         }
         throw error;
       });
   }
-/**
- * Rotates the server certificate to one signed by the Certificate Authority
- * (CA) version previously added with the addServerCA method. For instances
- * that have enabled Certificate Authority Service (CAS) based server CA,
- * use RotateServerCertificate to rotate the server certificate.
- *
- * @param {Object} request
- *   The request object that will be sent.
- * @param {string} request.instance
- *   Cloud SQL instance ID. This does not include the project ID.
- * @param {string} request.project
- *   Project ID of the project that contains the instance.
- * @param {google.cloud.sql.v1.InstancesRotateServerCaRequest} request.body
- * @param {object} [options]
- *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
- * @returns {Promise} - The promise which resolves to an array.
- *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1.Operation|Operation}.
- *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
- *   for more details and examples.
- * @example <caption>include:samples/generated/v1/sql_instances_service.rotate_server_ca.js</caption>
- * region_tag:sqladmin_v1_generated_SqlInstancesService_RotateServerCa_async
- */
+  /**
+   * Rotates the server certificate to one signed by the Certificate Authority
+   * (CA) version previously added with the addServerCA method. For instances
+   * that have enabled Certificate Authority Service (CAS) based server CA,
+   * use RotateServerCertificate to rotate the server certificate.
+   *
+   * @param {Object} request
+   *   The request object that will be sent.
+   * @param {string} request.instance
+   *   Cloud SQL instance ID. This does not include the project ID.
+   * @param {string} request.project
+   *   Project ID of the project that contains the instance.
+   * @param {google.cloud.sql.v1.InstancesRotateServerCaRequest} request.body
+   * @param {object} [options]
+   *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+   * @returns {Promise} - The promise which resolves to an array.
+   *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1.Operation|Operation}.
+   *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
+   *   for more details and examples.
+   * @example <caption>include:samples/generated/v1/sql_instances_service.rotate_server_ca.js</caption>
+   * region_tag:sqladmin_v1_generated_SqlInstancesService_RotateServerCa_async
+   */
   rotateServerCa(
-      request?: protos.google.cloud.sql.v1.ISqlInstancesRotateServerCaRequest,
-      options?: CallOptions):
-      Promise<[
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlInstancesRotateServerCaRequest|undefined, {}|undefined
-      ]>;
+    request?: protos.google.cloud.sql.v1.ISqlInstancesRotateServerCaRequest,
+    options?: CallOptions,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1.IOperation,
+      protos.google.cloud.sql.v1.ISqlInstancesRotateServerCaRequest | undefined,
+      {} | undefined,
+    ]
+  >;
   rotateServerCa(
-      request: protos.google.cloud.sql.v1.ISqlInstancesRotateServerCaRequest,
-      options: CallOptions,
-      callback: Callback<
-          protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlInstancesRotateServerCaRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1.ISqlInstancesRotateServerCaRequest,
+    options: CallOptions,
+    callback: Callback<
+      protos.google.cloud.sql.v1.IOperation,
+      | protos.google.cloud.sql.v1.ISqlInstancesRotateServerCaRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   rotateServerCa(
-      request: protos.google.cloud.sql.v1.ISqlInstancesRotateServerCaRequest,
-      callback: Callback<
-          protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlInstancesRotateServerCaRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1.ISqlInstancesRotateServerCaRequest,
+    callback: Callback<
+      protos.google.cloud.sql.v1.IOperation,
+      | protos.google.cloud.sql.v1.ISqlInstancesRotateServerCaRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   rotateServerCa(
-      request?: protos.google.cloud.sql.v1.ISqlInstancesRotateServerCaRequest,
-      optionsOrCallback?: CallOptions|Callback<
-          protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlInstancesRotateServerCaRequest|null|undefined,
-          {}|null|undefined>,
-      callback?: Callback<
+    request?: protos.google.cloud.sql.v1.ISqlInstancesRotateServerCaRequest,
+    optionsOrCallback?:
+      | CallOptions
+      | Callback<
           protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlInstancesRotateServerCaRequest|null|undefined,
-          {}|null|undefined>):
-      Promise<[
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlInstancesRotateServerCaRequest|undefined, {}|undefined
-      ]>|void {
+          | protos.google.cloud.sql.v1.ISqlInstancesRotateServerCaRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >,
+    callback?: Callback<
+      protos.google.cloud.sql.v1.IOperation,
+      | protos.google.cloud.sql.v1.ISqlInstancesRotateServerCaRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1.IOperation,
+      protos.google.cloud.sql.v1.ISqlInstancesRotateServerCaRequest | undefined,
+      {} | undefined,
+    ]
+  > | void {
     request = request || {};
     let options: CallOptions;
     if (typeof optionsOrCallback === 'function' && callback === undefined) {
       callback = optionsOrCallback;
       options = {};
-    }
-    else {
+    } else {
       options = optionsOrCallback as CallOptions;
     }
     options = options || {};
     options.otherArgs = options.otherArgs || {};
     options.otherArgs.headers = options.otherArgs.headers || {};
-    options.otherArgs.headers[
-      'x-goog-request-params'
-    ] = this._gaxModule.routingHeader.fromParams({
-      'project': request.project ?? '',
-      'instance': request.instance ?? '',
+    options.otherArgs.headers['x-goog-request-params'] =
+      this._gaxModule.routingHeader.fromParams({
+        project: request.project ?? '',
+        instance: request.instance ?? '',
+      });
+    this.initialize().catch((err) => {
+      throw err;
     });
-    this.initialize().catch(err => {throw err});
     this._log.info('rotateServerCa request %j', request);
-    const wrappedCallback: Callback<
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlInstancesRotateServerCaRequest|null|undefined,
-        {}|null|undefined>|undefined = callback
+    const wrappedCallback:
+      | Callback<
+          protos.google.cloud.sql.v1.IOperation,
+          | protos.google.cloud.sql.v1.ISqlInstancesRotateServerCaRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >
+      | undefined = callback
       ? (error, response, options, rawResponse) => {
           this._log.info('rotateServerCa response %j', response);
           callback!(error, response, options, rawResponse); // We verified callback above.
         }
       : undefined;
-    return this.innerApiCalls.rotateServerCa(request, options, wrappedCallback)
-      ?.then(([response, options, rawResponse]: [
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlInstancesRotateServerCaRequest|undefined,
-        {}|undefined
-      ]) => {
-        this._log.info('rotateServerCa response %j', response);
-        return [response, options, rawResponse];
-      }).catch((error: any) => {
-        if (error && 'statusDetails' in error && error.statusDetails instanceof Array) {
-          const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type;
-          error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos);
+    return this.innerApiCalls
+      .rotateServerCa(request, options, wrappedCallback)
+      ?.then(
+        ([response, options, rawResponse]: [
+          protos.google.cloud.sql.v1.IOperation,
+          (
+            | protos.google.cloud.sql.v1.ISqlInstancesRotateServerCaRequest
+            | undefined
+          ),
+          {} | undefined,
+        ]) => {
+          this._log.info('rotateServerCa response %j', response);
+          return [response, options, rawResponse];
+        },
+      )
+      .catch((error: any) => {
+        if (
+          error &&
+          'statusDetails' in error &&
+          error.statusDetails instanceof Array
+        ) {
+          const protos = this._gaxModule.protobuf.Root.fromJSON(
+            jsonProtos,
+          ) as unknown as gax.protobuf.Type;
+          error.statusDetails = decodeAnyProtosInArray(
+            error.statusDetails,
+            protos,
+          );
         }
         throw error;
       });
   }
-/**
- * Rotates the server certificate version to one previously added with the
- * addServerCertificate method. For instances not using Certificate Authority
- * Service (CAS) server CA, use RotateServerCa instead.
- *
- * @param {Object} request
- *   The request object that will be sent.
- * @param {string} request.instance
- *   Required. Cloud SQL instance ID. This does not include the project ID.
- * @param {string} request.project
- *   Required. Project ID of the project that contains the instance.
- * @param {google.cloud.sql.v1.InstancesRotateServerCertificateRequest} [request.body]
- *   Optional. Rotate server certificate request body.
- * @param {object} [options]
- *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
- * @returns {Promise} - The promise which resolves to an array.
- *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1.Operation|Operation}.
- *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
- *   for more details and examples.
- * @example <caption>include:samples/generated/v1/sql_instances_service.rotate_server_certificate.js</caption>
- * region_tag:sqladmin_v1_generated_SqlInstancesService_RotateServerCertificate_async
- */
+  /**
+   * Rotates the server certificate version to one previously added with the
+   * addServerCertificate method. For instances not using Certificate Authority
+   * Service (CAS) server CA, use RotateServerCa instead.
+   *
+   * @param {Object} request
+   *   The request object that will be sent.
+   * @param {string} request.instance
+   *   Required. Cloud SQL instance ID. This does not include the project ID.
+   * @param {string} request.project
+   *   Required. Project ID of the project that contains the instance.
+   * @param {google.cloud.sql.v1.InstancesRotateServerCertificateRequest} [request.body]
+   *   Optional. Rotate server certificate request body.
+   * @param {object} [options]
+   *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+   * @returns {Promise} - The promise which resolves to an array.
+   *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1.Operation|Operation}.
+   *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
+   *   for more details and examples.
+   * @example <caption>include:samples/generated/v1/sql_instances_service.rotate_server_certificate.js</caption>
+   * region_tag:sqladmin_v1_generated_SqlInstancesService_RotateServerCertificate_async
+   */
   rotateServerCertificate(
-      request?: protos.google.cloud.sql.v1.ISqlInstancesRotateServerCertificateRequest,
-      options?: CallOptions):
-      Promise<[
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlInstancesRotateServerCertificateRequest|undefined, {}|undefined
-      ]>;
+    request?: protos.google.cloud.sql.v1.ISqlInstancesRotateServerCertificateRequest,
+    options?: CallOptions,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1.IOperation,
+      (
+        | protos.google.cloud.sql.v1.ISqlInstancesRotateServerCertificateRequest
+        | undefined
+      ),
+      {} | undefined,
+    ]
+  >;
   rotateServerCertificate(
-      request: protos.google.cloud.sql.v1.ISqlInstancesRotateServerCertificateRequest,
-      options: CallOptions,
-      callback: Callback<
-          protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlInstancesRotateServerCertificateRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1.ISqlInstancesRotateServerCertificateRequest,
+    options: CallOptions,
+    callback: Callback<
+      protos.google.cloud.sql.v1.IOperation,
+      | protos.google.cloud.sql.v1.ISqlInstancesRotateServerCertificateRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   rotateServerCertificate(
-      request: protos.google.cloud.sql.v1.ISqlInstancesRotateServerCertificateRequest,
-      callback: Callback<
-          protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlInstancesRotateServerCertificateRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1.ISqlInstancesRotateServerCertificateRequest,
+    callback: Callback<
+      protos.google.cloud.sql.v1.IOperation,
+      | protos.google.cloud.sql.v1.ISqlInstancesRotateServerCertificateRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   rotateServerCertificate(
-      request?: protos.google.cloud.sql.v1.ISqlInstancesRotateServerCertificateRequest,
-      optionsOrCallback?: CallOptions|Callback<
-          protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlInstancesRotateServerCertificateRequest|null|undefined,
-          {}|null|undefined>,
-      callback?: Callback<
+    request?: protos.google.cloud.sql.v1.ISqlInstancesRotateServerCertificateRequest,
+    optionsOrCallback?:
+      | CallOptions
+      | Callback<
           protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlInstancesRotateServerCertificateRequest|null|undefined,
-          {}|null|undefined>):
-      Promise<[
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlInstancesRotateServerCertificateRequest|undefined, {}|undefined
-      ]>|void {
+          | protos.google.cloud.sql.v1.ISqlInstancesRotateServerCertificateRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >,
+    callback?: Callback<
+      protos.google.cloud.sql.v1.IOperation,
+      | protos.google.cloud.sql.v1.ISqlInstancesRotateServerCertificateRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1.IOperation,
+      (
+        | protos.google.cloud.sql.v1.ISqlInstancesRotateServerCertificateRequest
+        | undefined
+      ),
+      {} | undefined,
+    ]
+  > | void {
     request = request || {};
     let options: CallOptions;
     if (typeof optionsOrCallback === 'function' && callback === undefined) {
       callback = optionsOrCallback;
       options = {};
-    }
-    else {
+    } else {
       options = optionsOrCallback as CallOptions;
     }
     options = options || {};
     options.otherArgs = options.otherArgs || {};
     options.otherArgs.headers = options.otherArgs.headers || {};
-    options.otherArgs.headers[
-      'x-goog-request-params'
-    ] = this._gaxModule.routingHeader.fromParams({
-      'project': request.project ?? '',
-      'instance': request.instance ?? '',
+    options.otherArgs.headers['x-goog-request-params'] =
+      this._gaxModule.routingHeader.fromParams({
+        project: request.project ?? '',
+        instance: request.instance ?? '',
+      });
+    this.initialize().catch((err) => {
+      throw err;
     });
-    this.initialize().catch(err => {throw err});
     this._log.info('rotateServerCertificate request %j', request);
-    const wrappedCallback: Callback<
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlInstancesRotateServerCertificateRequest|null|undefined,
-        {}|null|undefined>|undefined = callback
+    const wrappedCallback:
+      | Callback<
+          protos.google.cloud.sql.v1.IOperation,
+          | protos.google.cloud.sql.v1.ISqlInstancesRotateServerCertificateRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >
+      | undefined = callback
       ? (error, response, options, rawResponse) => {
           this._log.info('rotateServerCertificate response %j', response);
           callback!(error, response, options, rawResponse); // We verified callback above.
         }
       : undefined;
-    return this.innerApiCalls.rotateServerCertificate(request, options, wrappedCallback)
-      ?.then(([response, options, rawResponse]: [
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlInstancesRotateServerCertificateRequest|undefined,
-        {}|undefined
-      ]) => {
-        this._log.info('rotateServerCertificate response %j', response);
-        return [response, options, rawResponse];
-      }).catch((error: any) => {
-        if (error && 'statusDetails' in error && error.statusDetails instanceof Array) {
-          const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type;
-          error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos);
+    return this.innerApiCalls
+      .rotateServerCertificate(request, options, wrappedCallback)
+      ?.then(
+        ([response, options, rawResponse]: [
+          protos.google.cloud.sql.v1.IOperation,
+          (
+            | protos.google.cloud.sql.v1.ISqlInstancesRotateServerCertificateRequest
+            | undefined
+          ),
+          {} | undefined,
+        ]) => {
+          this._log.info('rotateServerCertificate response %j', response);
+          return [response, options, rawResponse];
+        },
+      )
+      .catch((error: any) => {
+        if (
+          error &&
+          'statusDetails' in error &&
+          error.statusDetails instanceof Array
+        ) {
+          const protos = this._gaxModule.protobuf.Root.fromJSON(
+            jsonProtos,
+          ) as unknown as gax.protobuf.Type;
+          error.statusDetails = decodeAnyProtosInArray(
+            error.statusDetails,
+            protos,
+          );
         }
         throw error;
       });
   }
-/**
- * Rotates the server certificate version to one previously added with the
- * addEntraIdCertificate method.
- *
- * @param {Object} request
- *   The request object that will be sent.
- * @param {string} request.instance
- *   Required. Cloud SQL instance ID. This does not include the project ID.
- * @param {string} request.project
- *   Required. Project ID of the project that contains the instance.
- * @param {google.cloud.sql.v1.InstancesRotateEntraIdCertificateRequest} [request.body]
- *   Optional. Rotate Entra ID certificate request body.
- * @param {object} [options]
- *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
- * @returns {Promise} - The promise which resolves to an array.
- *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1.Operation|Operation}.
- *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
- *   for more details and examples.
- * @example <caption>include:samples/generated/v1/sql_instances_service.rotate_entra_id_certificate.js</caption>
- * region_tag:sqladmin_v1_generated_SqlInstancesService_RotateEntraIdCertificate_async
- */
+  /**
+   * Rotates the server certificate version to one previously added with the
+   * addEntraIdCertificate method.
+   *
+   * @param {Object} request
+   *   The request object that will be sent.
+   * @param {string} request.instance
+   *   Required. Cloud SQL instance ID. This does not include the project ID.
+   * @param {string} request.project
+   *   Required. Project ID of the project that contains the instance.
+   * @param {google.cloud.sql.v1.InstancesRotateEntraIdCertificateRequest} [request.body]
+   *   Optional. Rotate Entra ID certificate request body.
+   * @param {object} [options]
+   *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+   * @returns {Promise} - The promise which resolves to an array.
+   *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1.Operation|Operation}.
+   *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
+   *   for more details and examples.
+   * @example <caption>include:samples/generated/v1/sql_instances_service.rotate_entra_id_certificate.js</caption>
+   * region_tag:sqladmin_v1_generated_SqlInstancesService_RotateEntraIdCertificate_async
+   */
   rotateEntraIdCertificate(
-      request?: protos.google.cloud.sql.v1.ISqlInstancesRotateEntraIdCertificateRequest,
-      options?: CallOptions):
-      Promise<[
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlInstancesRotateEntraIdCertificateRequest|undefined, {}|undefined
-      ]>;
+    request?: protos.google.cloud.sql.v1.ISqlInstancesRotateEntraIdCertificateRequest,
+    options?: CallOptions,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1.IOperation,
+      (
+        | protos.google.cloud.sql.v1.ISqlInstancesRotateEntraIdCertificateRequest
+        | undefined
+      ),
+      {} | undefined,
+    ]
+  >;
   rotateEntraIdCertificate(
-      request: protos.google.cloud.sql.v1.ISqlInstancesRotateEntraIdCertificateRequest,
-      options: CallOptions,
-      callback: Callback<
-          protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlInstancesRotateEntraIdCertificateRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1.ISqlInstancesRotateEntraIdCertificateRequest,
+    options: CallOptions,
+    callback: Callback<
+      protos.google.cloud.sql.v1.IOperation,
+      | protos.google.cloud.sql.v1.ISqlInstancesRotateEntraIdCertificateRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   rotateEntraIdCertificate(
-      request: protos.google.cloud.sql.v1.ISqlInstancesRotateEntraIdCertificateRequest,
-      callback: Callback<
-          protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlInstancesRotateEntraIdCertificateRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1.ISqlInstancesRotateEntraIdCertificateRequest,
+    callback: Callback<
+      protos.google.cloud.sql.v1.IOperation,
+      | protos.google.cloud.sql.v1.ISqlInstancesRotateEntraIdCertificateRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   rotateEntraIdCertificate(
-      request?: protos.google.cloud.sql.v1.ISqlInstancesRotateEntraIdCertificateRequest,
-      optionsOrCallback?: CallOptions|Callback<
-          protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlInstancesRotateEntraIdCertificateRequest|null|undefined,
-          {}|null|undefined>,
-      callback?: Callback<
+    request?: protos.google.cloud.sql.v1.ISqlInstancesRotateEntraIdCertificateRequest,
+    optionsOrCallback?:
+      | CallOptions
+      | Callback<
           protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlInstancesRotateEntraIdCertificateRequest|null|undefined,
-          {}|null|undefined>):
-      Promise<[
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlInstancesRotateEntraIdCertificateRequest|undefined, {}|undefined
-      ]>|void {
+          | protos.google.cloud.sql.v1.ISqlInstancesRotateEntraIdCertificateRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >,
+    callback?: Callback<
+      protos.google.cloud.sql.v1.IOperation,
+      | protos.google.cloud.sql.v1.ISqlInstancesRotateEntraIdCertificateRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1.IOperation,
+      (
+        | protos.google.cloud.sql.v1.ISqlInstancesRotateEntraIdCertificateRequest
+        | undefined
+      ),
+      {} | undefined,
+    ]
+  > | void {
     request = request || {};
     let options: CallOptions;
     if (typeof optionsOrCallback === 'function' && callback === undefined) {
       callback = optionsOrCallback;
       options = {};
-    }
-    else {
+    } else {
       options = optionsOrCallback as CallOptions;
     }
     options = options || {};
     options.otherArgs = options.otherArgs || {};
     options.otherArgs.headers = options.otherArgs.headers || {};
-    options.otherArgs.headers[
-      'x-goog-request-params'
-    ] = this._gaxModule.routingHeader.fromParams({
-      'project': request.project ?? '',
-      'instance': request.instance ?? '',
+    options.otherArgs.headers['x-goog-request-params'] =
+      this._gaxModule.routingHeader.fromParams({
+        project: request.project ?? '',
+        instance: request.instance ?? '',
+      });
+    this.initialize().catch((err) => {
+      throw err;
     });
-    this.initialize().catch(err => {throw err});
     this._log.info('rotateEntraIdCertificate request %j', request);
-    const wrappedCallback: Callback<
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlInstancesRotateEntraIdCertificateRequest|null|undefined,
-        {}|null|undefined>|undefined = callback
+    const wrappedCallback:
+      | Callback<
+          protos.google.cloud.sql.v1.IOperation,
+          | protos.google.cloud.sql.v1.ISqlInstancesRotateEntraIdCertificateRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >
+      | undefined = callback
       ? (error, response, options, rawResponse) => {
           this._log.info('rotateEntraIdCertificate response %j', response);
           callback!(error, response, options, rawResponse); // We verified callback above.
         }
       : undefined;
-    return this.innerApiCalls.rotateEntraIdCertificate(request, options, wrappedCallback)
-      ?.then(([response, options, rawResponse]: [
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlInstancesRotateEntraIdCertificateRequest|undefined,
-        {}|undefined
-      ]) => {
-        this._log.info('rotateEntraIdCertificate response %j', response);
-        return [response, options, rawResponse];
-      }).catch((error: any) => {
-        if (error && 'statusDetails' in error && error.statusDetails instanceof Array) {
-          const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type;
-          error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos);
+    return this.innerApiCalls
+      .rotateEntraIdCertificate(request, options, wrappedCallback)
+      ?.then(
+        ([response, options, rawResponse]: [
+          protos.google.cloud.sql.v1.IOperation,
+          (
+            | protos.google.cloud.sql.v1.ISqlInstancesRotateEntraIdCertificateRequest
+            | undefined
+          ),
+          {} | undefined,
+        ]) => {
+          this._log.info('rotateEntraIdCertificate response %j', response);
+          return [response, options, rawResponse];
+        },
+      )
+      .catch((error: any) => {
+        if (
+          error &&
+          'statusDetails' in error &&
+          error.statusDetails instanceof Array
+        ) {
+          const protos = this._gaxModule.protobuf.Root.fromJSON(
+            jsonProtos,
+          ) as unknown as gax.protobuf.Type;
+          error.statusDetails = decodeAnyProtosInArray(
+            error.statusDetails,
+            protos,
+          );
         }
         throw error;
       });
   }
-/**
- * Starts the replication in the read replica instance.
- *
- * @param {Object} request
- *   The request object that will be sent.
- * @param {string} request.instance
- *   Cloud SQL read replica instance name.
- * @param {string} request.project
- *   ID of the project that contains the read replica.
- * @param {object} [options]
- *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
- * @returns {Promise} - The promise which resolves to an array.
- *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1.Operation|Operation}.
- *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
- *   for more details and examples.
- * @example <caption>include:samples/generated/v1/sql_instances_service.start_replica.js</caption>
- * region_tag:sqladmin_v1_generated_SqlInstancesService_StartReplica_async
- */
+  /**
+   * Starts the replication in the read replica instance.
+   *
+   * @param {Object} request
+   *   The request object that will be sent.
+   * @param {string} request.instance
+   *   Cloud SQL read replica instance name.
+   * @param {string} request.project
+   *   ID of the project that contains the read replica.
+   * @param {object} [options]
+   *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+   * @returns {Promise} - The promise which resolves to an array.
+   *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1.Operation|Operation}.
+   *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
+   *   for more details and examples.
+   * @example <caption>include:samples/generated/v1/sql_instances_service.start_replica.js</caption>
+   * region_tag:sqladmin_v1_generated_SqlInstancesService_StartReplica_async
+   */
   startReplica(
-      request?: protos.google.cloud.sql.v1.ISqlInstancesStartReplicaRequest,
-      options?: CallOptions):
-      Promise<[
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlInstancesStartReplicaRequest|undefined, {}|undefined
-      ]>;
+    request?: protos.google.cloud.sql.v1.ISqlInstancesStartReplicaRequest,
+    options?: CallOptions,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1.IOperation,
+      protos.google.cloud.sql.v1.ISqlInstancesStartReplicaRequest | undefined,
+      {} | undefined,
+    ]
+  >;
   startReplica(
-      request: protos.google.cloud.sql.v1.ISqlInstancesStartReplicaRequest,
-      options: CallOptions,
-      callback: Callback<
-          protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlInstancesStartReplicaRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1.ISqlInstancesStartReplicaRequest,
+    options: CallOptions,
+    callback: Callback<
+      protos.google.cloud.sql.v1.IOperation,
+      | protos.google.cloud.sql.v1.ISqlInstancesStartReplicaRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   startReplica(
-      request: protos.google.cloud.sql.v1.ISqlInstancesStartReplicaRequest,
-      callback: Callback<
-          protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlInstancesStartReplicaRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1.ISqlInstancesStartReplicaRequest,
+    callback: Callback<
+      protos.google.cloud.sql.v1.IOperation,
+      | protos.google.cloud.sql.v1.ISqlInstancesStartReplicaRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   startReplica(
-      request?: protos.google.cloud.sql.v1.ISqlInstancesStartReplicaRequest,
-      optionsOrCallback?: CallOptions|Callback<
-          protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlInstancesStartReplicaRequest|null|undefined,
-          {}|null|undefined>,
-      callback?: Callback<
+    request?: protos.google.cloud.sql.v1.ISqlInstancesStartReplicaRequest,
+    optionsOrCallback?:
+      | CallOptions
+      | Callback<
           protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlInstancesStartReplicaRequest|null|undefined,
-          {}|null|undefined>):
-      Promise<[
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlInstancesStartReplicaRequest|undefined, {}|undefined
-      ]>|void {
+          | protos.google.cloud.sql.v1.ISqlInstancesStartReplicaRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >,
+    callback?: Callback<
+      protos.google.cloud.sql.v1.IOperation,
+      | protos.google.cloud.sql.v1.ISqlInstancesStartReplicaRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1.IOperation,
+      protos.google.cloud.sql.v1.ISqlInstancesStartReplicaRequest | undefined,
+      {} | undefined,
+    ]
+  > | void {
     request = request || {};
     let options: CallOptions;
     if (typeof optionsOrCallback === 'function' && callback === undefined) {
       callback = optionsOrCallback;
       options = {};
-    }
-    else {
+    } else {
       options = optionsOrCallback as CallOptions;
     }
     options = options || {};
     options.otherArgs = options.otherArgs || {};
     options.otherArgs.headers = options.otherArgs.headers || {};
-    options.otherArgs.headers[
-      'x-goog-request-params'
-    ] = this._gaxModule.routingHeader.fromParams({
-      'project': request.project ?? '',
-      'instance': request.instance ?? '',
+    options.otherArgs.headers['x-goog-request-params'] =
+      this._gaxModule.routingHeader.fromParams({
+        project: request.project ?? '',
+        instance: request.instance ?? '',
+      });
+    this.initialize().catch((err) => {
+      throw err;
     });
-    this.initialize().catch(err => {throw err});
     this._log.info('startReplica request %j', request);
-    const wrappedCallback: Callback<
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlInstancesStartReplicaRequest|null|undefined,
-        {}|null|undefined>|undefined = callback
+    const wrappedCallback:
+      | Callback<
+          protos.google.cloud.sql.v1.IOperation,
+          | protos.google.cloud.sql.v1.ISqlInstancesStartReplicaRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >
+      | undefined = callback
       ? (error, response, options, rawResponse) => {
           this._log.info('startReplica response %j', response);
           callback!(error, response, options, rawResponse); // We verified callback above.
         }
       : undefined;
-    return this.innerApiCalls.startReplica(request, options, wrappedCallback)
-      ?.then(([response, options, rawResponse]: [
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlInstancesStartReplicaRequest|undefined,
-        {}|undefined
-      ]) => {
-        this._log.info('startReplica response %j', response);
-        return [response, options, rawResponse];
-      }).catch((error: any) => {
-        if (error && 'statusDetails' in error && error.statusDetails instanceof Array) {
-          const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type;
-          error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos);
+    return this.innerApiCalls
+      .startReplica(request, options, wrappedCallback)
+      ?.then(
+        ([response, options, rawResponse]: [
+          protos.google.cloud.sql.v1.IOperation,
+          (
+            | protos.google.cloud.sql.v1.ISqlInstancesStartReplicaRequest
+            | undefined
+          ),
+          {} | undefined,
+        ]) => {
+          this._log.info('startReplica response %j', response);
+          return [response, options, rawResponse];
+        },
+      )
+      .catch((error: any) => {
+        if (
+          error &&
+          'statusDetails' in error &&
+          error.statusDetails instanceof Array
+        ) {
+          const protos = this._gaxModule.protobuf.Root.fromJSON(
+            jsonProtos,
+          ) as unknown as gax.protobuf.Type;
+          error.statusDetails = decodeAnyProtosInArray(
+            error.statusDetails,
+            protos,
+          );
         }
         throw error;
       });
   }
-/**
- * Stops the replication in the read replica instance.
- *
- * @param {Object} request
- *   The request object that will be sent.
- * @param {string} request.instance
- *   Cloud SQL read replica instance name.
- * @param {string} request.project
- *   ID of the project that contains the read replica.
- * @param {object} [options]
- *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
- * @returns {Promise} - The promise which resolves to an array.
- *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1.Operation|Operation}.
- *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
- *   for more details and examples.
- * @example <caption>include:samples/generated/v1/sql_instances_service.stop_replica.js</caption>
- * region_tag:sqladmin_v1_generated_SqlInstancesService_StopReplica_async
- */
+  /**
+   * Stops the replication in the read replica instance.
+   *
+   * @param {Object} request
+   *   The request object that will be sent.
+   * @param {string} request.instance
+   *   Cloud SQL read replica instance name.
+   * @param {string} request.project
+   *   ID of the project that contains the read replica.
+   * @param {object} [options]
+   *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+   * @returns {Promise} - The promise which resolves to an array.
+   *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1.Operation|Operation}.
+   *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
+   *   for more details and examples.
+   * @example <caption>include:samples/generated/v1/sql_instances_service.stop_replica.js</caption>
+   * region_tag:sqladmin_v1_generated_SqlInstancesService_StopReplica_async
+   */
   stopReplica(
-      request?: protos.google.cloud.sql.v1.ISqlInstancesStopReplicaRequest,
-      options?: CallOptions):
-      Promise<[
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlInstancesStopReplicaRequest|undefined, {}|undefined
-      ]>;
+    request?: protos.google.cloud.sql.v1.ISqlInstancesStopReplicaRequest,
+    options?: CallOptions,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1.IOperation,
+      protos.google.cloud.sql.v1.ISqlInstancesStopReplicaRequest | undefined,
+      {} | undefined,
+    ]
+  >;
   stopReplica(
-      request: protos.google.cloud.sql.v1.ISqlInstancesStopReplicaRequest,
-      options: CallOptions,
-      callback: Callback<
-          protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlInstancesStopReplicaRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1.ISqlInstancesStopReplicaRequest,
+    options: CallOptions,
+    callback: Callback<
+      protos.google.cloud.sql.v1.IOperation,
+      | protos.google.cloud.sql.v1.ISqlInstancesStopReplicaRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   stopReplica(
-      request: protos.google.cloud.sql.v1.ISqlInstancesStopReplicaRequest,
-      callback: Callback<
-          protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlInstancesStopReplicaRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1.ISqlInstancesStopReplicaRequest,
+    callback: Callback<
+      protos.google.cloud.sql.v1.IOperation,
+      | protos.google.cloud.sql.v1.ISqlInstancesStopReplicaRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   stopReplica(
-      request?: protos.google.cloud.sql.v1.ISqlInstancesStopReplicaRequest,
-      optionsOrCallback?: CallOptions|Callback<
-          protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlInstancesStopReplicaRequest|null|undefined,
-          {}|null|undefined>,
-      callback?: Callback<
+    request?: protos.google.cloud.sql.v1.ISqlInstancesStopReplicaRequest,
+    optionsOrCallback?:
+      | CallOptions
+      | Callback<
           protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlInstancesStopReplicaRequest|null|undefined,
-          {}|null|undefined>):
-      Promise<[
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlInstancesStopReplicaRequest|undefined, {}|undefined
-      ]>|void {
+          | protos.google.cloud.sql.v1.ISqlInstancesStopReplicaRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >,
+    callback?: Callback<
+      protos.google.cloud.sql.v1.IOperation,
+      | protos.google.cloud.sql.v1.ISqlInstancesStopReplicaRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1.IOperation,
+      protos.google.cloud.sql.v1.ISqlInstancesStopReplicaRequest | undefined,
+      {} | undefined,
+    ]
+  > | void {
     request = request || {};
     let options: CallOptions;
     if (typeof optionsOrCallback === 'function' && callback === undefined) {
       callback = optionsOrCallback;
       options = {};
-    }
-    else {
+    } else {
       options = optionsOrCallback as CallOptions;
     }
     options = options || {};
     options.otherArgs = options.otherArgs || {};
     options.otherArgs.headers = options.otherArgs.headers || {};
-    options.otherArgs.headers[
-      'x-goog-request-params'
-    ] = this._gaxModule.routingHeader.fromParams({
-      'project': request.project ?? '',
-      'instance': request.instance ?? '',
+    options.otherArgs.headers['x-goog-request-params'] =
+      this._gaxModule.routingHeader.fromParams({
+        project: request.project ?? '',
+        instance: request.instance ?? '',
+      });
+    this.initialize().catch((err) => {
+      throw err;
     });
-    this.initialize().catch(err => {throw err});
     this._log.info('stopReplica request %j', request);
-    const wrappedCallback: Callback<
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlInstancesStopReplicaRequest|null|undefined,
-        {}|null|undefined>|undefined = callback
+    const wrappedCallback:
+      | Callback<
+          protos.google.cloud.sql.v1.IOperation,
+          | protos.google.cloud.sql.v1.ISqlInstancesStopReplicaRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >
+      | undefined = callback
       ? (error, response, options, rawResponse) => {
           this._log.info('stopReplica response %j', response);
           callback!(error, response, options, rawResponse); // We verified callback above.
         }
       : undefined;
-    return this.innerApiCalls.stopReplica(request, options, wrappedCallback)
-      ?.then(([response, options, rawResponse]: [
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlInstancesStopReplicaRequest|undefined,
-        {}|undefined
-      ]) => {
-        this._log.info('stopReplica response %j', response);
-        return [response, options, rawResponse];
-      }).catch((error: any) => {
-        if (error && 'statusDetails' in error && error.statusDetails instanceof Array) {
-          const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type;
-          error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos);
+    return this.innerApiCalls
+      .stopReplica(request, options, wrappedCallback)
+      ?.then(
+        ([response, options, rawResponse]: [
+          protos.google.cloud.sql.v1.IOperation,
+          (
+            | protos.google.cloud.sql.v1.ISqlInstancesStopReplicaRequest
+            | undefined
+          ),
+          {} | undefined,
+        ]) => {
+          this._log.info('stopReplica response %j', response);
+          return [response, options, rawResponse];
+        },
+      )
+      .catch((error: any) => {
+        if (
+          error &&
+          'statusDetails' in error &&
+          error.statusDetails instanceof Array
+        ) {
+          const protos = this._gaxModule.protobuf.Root.fromJSON(
+            jsonProtos,
+          ) as unknown as gax.protobuf.Type;
+          error.statusDetails = decodeAnyProtosInArray(
+            error.statusDetails,
+            protos,
+          );
         }
         throw error;
       });
   }
-/**
- * Truncate MySQL general and slow query log tables
- * MySQL only.
- *
- * @param {Object} request
- *   The request object that will be sent.
- * @param {string} request.instance
- *   Cloud SQL instance ID. This does not include the project ID.
- * @param {string} request.project
- *   Project ID of the Cloud SQL project.
- * @param {google.cloud.sql.v1.InstancesTruncateLogRequest} request.body
- * @param {object} [options]
- *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
- * @returns {Promise} - The promise which resolves to an array.
- *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1.Operation|Operation}.
- *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
- *   for more details and examples.
- * @example <caption>include:samples/generated/v1/sql_instances_service.truncate_log.js</caption>
- * region_tag:sqladmin_v1_generated_SqlInstancesService_TruncateLog_async
- */
+  /**
+   * Truncate MySQL general and slow query log tables
+   * MySQL only.
+   *
+   * @param {Object} request
+   *   The request object that will be sent.
+   * @param {string} request.instance
+   *   Cloud SQL instance ID. This does not include the project ID.
+   * @param {string} request.project
+   *   Project ID of the Cloud SQL project.
+   * @param {google.cloud.sql.v1.InstancesTruncateLogRequest} request.body
+   * @param {object} [options]
+   *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+   * @returns {Promise} - The promise which resolves to an array.
+   *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1.Operation|Operation}.
+   *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
+   *   for more details and examples.
+   * @example <caption>include:samples/generated/v1/sql_instances_service.truncate_log.js</caption>
+   * region_tag:sqladmin_v1_generated_SqlInstancesService_TruncateLog_async
+   */
   truncateLog(
-      request?: protos.google.cloud.sql.v1.ISqlInstancesTruncateLogRequest,
-      options?: CallOptions):
-      Promise<[
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlInstancesTruncateLogRequest|undefined, {}|undefined
-      ]>;
+    request?: protos.google.cloud.sql.v1.ISqlInstancesTruncateLogRequest,
+    options?: CallOptions,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1.IOperation,
+      protos.google.cloud.sql.v1.ISqlInstancesTruncateLogRequest | undefined,
+      {} | undefined,
+    ]
+  >;
   truncateLog(
-      request: protos.google.cloud.sql.v1.ISqlInstancesTruncateLogRequest,
-      options: CallOptions,
-      callback: Callback<
-          protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlInstancesTruncateLogRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1.ISqlInstancesTruncateLogRequest,
+    options: CallOptions,
+    callback: Callback<
+      protos.google.cloud.sql.v1.IOperation,
+      | protos.google.cloud.sql.v1.ISqlInstancesTruncateLogRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   truncateLog(
-      request: protos.google.cloud.sql.v1.ISqlInstancesTruncateLogRequest,
-      callback: Callback<
-          protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlInstancesTruncateLogRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1.ISqlInstancesTruncateLogRequest,
+    callback: Callback<
+      protos.google.cloud.sql.v1.IOperation,
+      | protos.google.cloud.sql.v1.ISqlInstancesTruncateLogRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   truncateLog(
-      request?: protos.google.cloud.sql.v1.ISqlInstancesTruncateLogRequest,
-      optionsOrCallback?: CallOptions|Callback<
-          protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlInstancesTruncateLogRequest|null|undefined,
-          {}|null|undefined>,
-      callback?: Callback<
+    request?: protos.google.cloud.sql.v1.ISqlInstancesTruncateLogRequest,
+    optionsOrCallback?:
+      | CallOptions
+      | Callback<
           protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlInstancesTruncateLogRequest|null|undefined,
-          {}|null|undefined>):
-      Promise<[
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlInstancesTruncateLogRequest|undefined, {}|undefined
-      ]>|void {
+          | protos.google.cloud.sql.v1.ISqlInstancesTruncateLogRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >,
+    callback?: Callback<
+      protos.google.cloud.sql.v1.IOperation,
+      | protos.google.cloud.sql.v1.ISqlInstancesTruncateLogRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1.IOperation,
+      protos.google.cloud.sql.v1.ISqlInstancesTruncateLogRequest | undefined,
+      {} | undefined,
+    ]
+  > | void {
     request = request || {};
     let options: CallOptions;
     if (typeof optionsOrCallback === 'function' && callback === undefined) {
       callback = optionsOrCallback;
       options = {};
-    }
-    else {
+    } else {
       options = optionsOrCallback as CallOptions;
     }
     options = options || {};
     options.otherArgs = options.otherArgs || {};
     options.otherArgs.headers = options.otherArgs.headers || {};
-    options.otherArgs.headers[
-      'x-goog-request-params'
-    ] = this._gaxModule.routingHeader.fromParams({
-      'project': request.project ?? '',
-      'instance': request.instance ?? '',
+    options.otherArgs.headers['x-goog-request-params'] =
+      this._gaxModule.routingHeader.fromParams({
+        project: request.project ?? '',
+        instance: request.instance ?? '',
+      });
+    this.initialize().catch((err) => {
+      throw err;
     });
-    this.initialize().catch(err => {throw err});
     this._log.info('truncateLog request %j', request);
-    const wrappedCallback: Callback<
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlInstancesTruncateLogRequest|null|undefined,
-        {}|null|undefined>|undefined = callback
+    const wrappedCallback:
+      | Callback<
+          protos.google.cloud.sql.v1.IOperation,
+          | protos.google.cloud.sql.v1.ISqlInstancesTruncateLogRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >
+      | undefined = callback
       ? (error, response, options, rawResponse) => {
           this._log.info('truncateLog response %j', response);
           callback!(error, response, options, rawResponse); // We verified callback above.
         }
       : undefined;
-    return this.innerApiCalls.truncateLog(request, options, wrappedCallback)
-      ?.then(([response, options, rawResponse]: [
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlInstancesTruncateLogRequest|undefined,
-        {}|undefined
-      ]) => {
-        this._log.info('truncateLog response %j', response);
-        return [response, options, rawResponse];
-      }).catch((error: any) => {
-        if (error && 'statusDetails' in error && error.statusDetails instanceof Array) {
-          const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type;
-          error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos);
+    return this.innerApiCalls
+      .truncateLog(request, options, wrappedCallback)
+      ?.then(
+        ([response, options, rawResponse]: [
+          protos.google.cloud.sql.v1.IOperation,
+          (
+            | protos.google.cloud.sql.v1.ISqlInstancesTruncateLogRequest
+            | undefined
+          ),
+          {} | undefined,
+        ]) => {
+          this._log.info('truncateLog response %j', response);
+          return [response, options, rawResponse];
+        },
+      )
+      .catch((error: any) => {
+        if (
+          error &&
+          'statusDetails' in error &&
+          error.statusDetails instanceof Array
+        ) {
+          const protos = this._gaxModule.protobuf.Root.fromJSON(
+            jsonProtos,
+          ) as unknown as gax.protobuf.Type;
+          error.statusDetails = decodeAnyProtosInArray(
+            error.statusDetails,
+            protos,
+          );
         }
         throw error;
       });
   }
-/**
- * Updates settings of a Cloud SQL instance. Using this operation might cause
- * your instance to restart.
- *
- * @param {Object} request
- *   The request object that will be sent.
- * @param {string} request.instance
- *   Cloud SQL instance ID. This does not include the project ID.
- * @param {string} request.project
- *   Project ID of the project that contains the instance.
- * @param {google.cloud.sql.v1.DatabaseInstance} request.body
- * @param {object} [options]
- *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
- * @returns {Promise} - The promise which resolves to an array.
- *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1.Operation|Operation}.
- *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
- *   for more details and examples.
- * @example <caption>include:samples/generated/v1/sql_instances_service.update.js</caption>
- * region_tag:sqladmin_v1_generated_SqlInstancesService_Update_async
- */
+  /**
+   * Updates settings of a Cloud SQL instance. Using this operation might cause
+   * your instance to restart.
+   *
+   * @param {Object} request
+   *   The request object that will be sent.
+   * @param {string} request.instance
+   *   Cloud SQL instance ID. This does not include the project ID.
+   * @param {string} request.project
+   *   Project ID of the project that contains the instance.
+   * @param {google.cloud.sql.v1.DatabaseInstance} request.body
+   * @param {object} [options]
+   *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+   * @returns {Promise} - The promise which resolves to an array.
+   *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1.Operation|Operation}.
+   *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
+   *   for more details and examples.
+   * @example <caption>include:samples/generated/v1/sql_instances_service.update.js</caption>
+   * region_tag:sqladmin_v1_generated_SqlInstancesService_Update_async
+   */
   update(
-      request?: protos.google.cloud.sql.v1.ISqlInstancesUpdateRequest,
-      options?: CallOptions):
-      Promise<[
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlInstancesUpdateRequest|undefined, {}|undefined
-      ]>;
+    request?: protos.google.cloud.sql.v1.ISqlInstancesUpdateRequest,
+    options?: CallOptions,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1.IOperation,
+      protos.google.cloud.sql.v1.ISqlInstancesUpdateRequest | undefined,
+      {} | undefined,
+    ]
+  >;
   update(
-      request: protos.google.cloud.sql.v1.ISqlInstancesUpdateRequest,
-      options: CallOptions,
-      callback: Callback<
-          protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlInstancesUpdateRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1.ISqlInstancesUpdateRequest,
+    options: CallOptions,
+    callback: Callback<
+      protos.google.cloud.sql.v1.IOperation,
+      protos.google.cloud.sql.v1.ISqlInstancesUpdateRequest | null | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   update(
-      request: protos.google.cloud.sql.v1.ISqlInstancesUpdateRequest,
-      callback: Callback<
-          protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlInstancesUpdateRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1.ISqlInstancesUpdateRequest,
+    callback: Callback<
+      protos.google.cloud.sql.v1.IOperation,
+      protos.google.cloud.sql.v1.ISqlInstancesUpdateRequest | null | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   update(
-      request?: protos.google.cloud.sql.v1.ISqlInstancesUpdateRequest,
-      optionsOrCallback?: CallOptions|Callback<
-          protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlInstancesUpdateRequest|null|undefined,
-          {}|null|undefined>,
-      callback?: Callback<
+    request?: protos.google.cloud.sql.v1.ISqlInstancesUpdateRequest,
+    optionsOrCallback?:
+      | CallOptions
+      | Callback<
           protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlInstancesUpdateRequest|null|undefined,
-          {}|null|undefined>):
-      Promise<[
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlInstancesUpdateRequest|undefined, {}|undefined
-      ]>|void {
+          | protos.google.cloud.sql.v1.ISqlInstancesUpdateRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >,
+    callback?: Callback<
+      protos.google.cloud.sql.v1.IOperation,
+      protos.google.cloud.sql.v1.ISqlInstancesUpdateRequest | null | undefined,
+      {} | null | undefined
+    >,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1.IOperation,
+      protos.google.cloud.sql.v1.ISqlInstancesUpdateRequest | undefined,
+      {} | undefined,
+    ]
+  > | void {
     request = request || {};
     let options: CallOptions;
     if (typeof optionsOrCallback === 'function' && callback === undefined) {
       callback = optionsOrCallback;
       options = {};
-    }
-    else {
+    } else {
       options = optionsOrCallback as CallOptions;
     }
     options = options || {};
     options.otherArgs = options.otherArgs || {};
     options.otherArgs.headers = options.otherArgs.headers || {};
-    options.otherArgs.headers[
-      'x-goog-request-params'
-    ] = this._gaxModule.routingHeader.fromParams({
-      'project': request.project ?? '',
-      'instance': request.instance ?? '',
+    options.otherArgs.headers['x-goog-request-params'] =
+      this._gaxModule.routingHeader.fromParams({
+        project: request.project ?? '',
+        instance: request.instance ?? '',
+      });
+    this.initialize().catch((err) => {
+      throw err;
     });
-    this.initialize().catch(err => {throw err});
     this._log.info('update request %j', request);
-    const wrappedCallback: Callback<
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlInstancesUpdateRequest|null|undefined,
-        {}|null|undefined>|undefined = callback
+    const wrappedCallback:
+      | Callback<
+          protos.google.cloud.sql.v1.IOperation,
+          | protos.google.cloud.sql.v1.ISqlInstancesUpdateRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >
+      | undefined = callback
       ? (error, response, options, rawResponse) => {
           this._log.info('update response %j', response);
           callback!(error, response, options, rawResponse); // We verified callback above.
         }
       : undefined;
-    return this.innerApiCalls.update(request, options, wrappedCallback)
-      ?.then(([response, options, rawResponse]: [
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlInstancesUpdateRequest|undefined,
-        {}|undefined
-      ]) => {
-        this._log.info('update response %j', response);
-        return [response, options, rawResponse];
-      }).catch((error: any) => {
-        if (error && 'statusDetails' in error && error.statusDetails instanceof Array) {
-          const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type;
-          error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos);
+    return this.innerApiCalls
+      .update(request, options, wrappedCallback)
+      ?.then(
+        ([response, options, rawResponse]: [
+          protos.google.cloud.sql.v1.IOperation,
+          protos.google.cloud.sql.v1.ISqlInstancesUpdateRequest | undefined,
+          {} | undefined,
+        ]) => {
+          this._log.info('update response %j', response);
+          return [response, options, rawResponse];
+        },
+      )
+      .catch((error: any) => {
+        if (
+          error &&
+          'statusDetails' in error &&
+          error.statusDetails instanceof Array
+        ) {
+          const protos = this._gaxModule.protobuf.Root.fromJSON(
+            jsonProtos,
+          ) as unknown as gax.protobuf.Type;
+          error.statusDetails = decodeAnyProtosInArray(
+            error.statusDetails,
+            protos,
+          );
         }
         throw error;
       });
   }
-/**
- * Generates a short-lived X509 certificate containing the provided public key
- * and signed by a private key specific to the target instance. Users may use
- * the certificate to authenticate as themselves when connecting to the
- * database.
- *
- * @param {Object} request
- *   The request object that will be sent.
- * @param {string} request.instance
- *   Cloud SQL instance ID. This does not include the project ID.
- * @param {string} request.project
- *   Project ID of the Cloud SQL project.
- * @param {google.cloud.sql.v1.SslCertsCreateEphemeralRequest} request.body
- * @param {object} [options]
- *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
- * @returns {Promise} - The promise which resolves to an array.
- *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1.SslCert|SslCert}.
- *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
- *   for more details and examples.
- * @example <caption>include:samples/generated/v1/sql_instances_service.create_ephemeral.js</caption>
- * region_tag:sqladmin_v1_generated_SqlInstancesService_CreateEphemeral_async
- */
+  /**
+   * Generates a short-lived X509 certificate containing the provided public key
+   * and signed by a private key specific to the target instance. Users may use
+   * the certificate to authenticate as themselves when connecting to the
+   * database.
+   *
+   * @param {Object} request
+   *   The request object that will be sent.
+   * @param {string} request.instance
+   *   Cloud SQL instance ID. This does not include the project ID.
+   * @param {string} request.project
+   *   Project ID of the Cloud SQL project.
+   * @param {google.cloud.sql.v1.SslCertsCreateEphemeralRequest} request.body
+   * @param {object} [options]
+   *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+   * @returns {Promise} - The promise which resolves to an array.
+   *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1.SslCert|SslCert}.
+   *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
+   *   for more details and examples.
+   * @example <caption>include:samples/generated/v1/sql_instances_service.create_ephemeral.js</caption>
+   * region_tag:sqladmin_v1_generated_SqlInstancesService_CreateEphemeral_async
+   */
   createEphemeral(
-      request?: protos.google.cloud.sql.v1.ISqlInstancesCreateEphemeralCertRequest,
-      options?: CallOptions):
-      Promise<[
-        protos.google.cloud.sql.v1.ISslCert,
-        protos.google.cloud.sql.v1.ISqlInstancesCreateEphemeralCertRequest|undefined, {}|undefined
-      ]>;
+    request?: protos.google.cloud.sql.v1.ISqlInstancesCreateEphemeralCertRequest,
+    options?: CallOptions,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1.ISslCert,
+      (
+        | protos.google.cloud.sql.v1.ISqlInstancesCreateEphemeralCertRequest
+        | undefined
+      ),
+      {} | undefined,
+    ]
+  >;
   createEphemeral(
-      request: protos.google.cloud.sql.v1.ISqlInstancesCreateEphemeralCertRequest,
-      options: CallOptions,
-      callback: Callback<
-          protos.google.cloud.sql.v1.ISslCert,
-          protos.google.cloud.sql.v1.ISqlInstancesCreateEphemeralCertRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1.ISqlInstancesCreateEphemeralCertRequest,
+    options: CallOptions,
+    callback: Callback<
+      protos.google.cloud.sql.v1.ISslCert,
+      | protos.google.cloud.sql.v1.ISqlInstancesCreateEphemeralCertRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   createEphemeral(
-      request: protos.google.cloud.sql.v1.ISqlInstancesCreateEphemeralCertRequest,
-      callback: Callback<
-          protos.google.cloud.sql.v1.ISslCert,
-          protos.google.cloud.sql.v1.ISqlInstancesCreateEphemeralCertRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1.ISqlInstancesCreateEphemeralCertRequest,
+    callback: Callback<
+      protos.google.cloud.sql.v1.ISslCert,
+      | protos.google.cloud.sql.v1.ISqlInstancesCreateEphemeralCertRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   createEphemeral(
-      request?: protos.google.cloud.sql.v1.ISqlInstancesCreateEphemeralCertRequest,
-      optionsOrCallback?: CallOptions|Callback<
-          protos.google.cloud.sql.v1.ISslCert,
-          protos.google.cloud.sql.v1.ISqlInstancesCreateEphemeralCertRequest|null|undefined,
-          {}|null|undefined>,
-      callback?: Callback<
+    request?: protos.google.cloud.sql.v1.ISqlInstancesCreateEphemeralCertRequest,
+    optionsOrCallback?:
+      | CallOptions
+      | Callback<
           protos.google.cloud.sql.v1.ISslCert,
-          protos.google.cloud.sql.v1.ISqlInstancesCreateEphemeralCertRequest|null|undefined,
-          {}|null|undefined>):
-      Promise<[
-        protos.google.cloud.sql.v1.ISslCert,
-        protos.google.cloud.sql.v1.ISqlInstancesCreateEphemeralCertRequest|undefined, {}|undefined
-      ]>|void {
+          | protos.google.cloud.sql.v1.ISqlInstancesCreateEphemeralCertRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >,
+    callback?: Callback<
+      protos.google.cloud.sql.v1.ISslCert,
+      | protos.google.cloud.sql.v1.ISqlInstancesCreateEphemeralCertRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1.ISslCert,
+      (
+        | protos.google.cloud.sql.v1.ISqlInstancesCreateEphemeralCertRequest
+        | undefined
+      ),
+      {} | undefined,
+    ]
+  > | void {
     request = request || {};
     let options: CallOptions;
     if (typeof optionsOrCallback === 'function' && callback === undefined) {
       callback = optionsOrCallback;
       options = {};
-    }
-    else {
+    } else {
       options = optionsOrCallback as CallOptions;
     }
     options = options || {};
     options.otherArgs = options.otherArgs || {};
     options.otherArgs.headers = options.otherArgs.headers || {};
-    options.otherArgs.headers[
-      'x-goog-request-params'
-    ] = this._gaxModule.routingHeader.fromParams({
-      'project': request.project ?? '',
-      'instance': request.instance ?? '',
+    options.otherArgs.headers['x-goog-request-params'] =
+      this._gaxModule.routingHeader.fromParams({
+        project: request.project ?? '',
+        instance: request.instance ?? '',
+      });
+    this.initialize().catch((err) => {
+      throw err;
     });
-    this.initialize().catch(err => {throw err});
     this._log.info('createEphemeral request %j', request);
-    const wrappedCallback: Callback<
-        protos.google.cloud.sql.v1.ISslCert,
-        protos.google.cloud.sql.v1.ISqlInstancesCreateEphemeralCertRequest|null|undefined,
-        {}|null|undefined>|undefined = callback
+    const wrappedCallback:
+      | Callback<
+          protos.google.cloud.sql.v1.ISslCert,
+          | protos.google.cloud.sql.v1.ISqlInstancesCreateEphemeralCertRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >
+      | undefined = callback
       ? (error, response, options, rawResponse) => {
           this._log.info('createEphemeral response %j', response);
           callback!(error, response, options, rawResponse); // We verified callback above.
         }
       : undefined;
-    return this.innerApiCalls.createEphemeral(request, options, wrappedCallback)
-      ?.then(([response, options, rawResponse]: [
-        protos.google.cloud.sql.v1.ISslCert,
-        protos.google.cloud.sql.v1.ISqlInstancesCreateEphemeralCertRequest|undefined,
-        {}|undefined
-      ]) => {
-        this._log.info('createEphemeral response %j', response);
-        return [response, options, rawResponse];
-      }).catch((error: any) => {
-        if (error && 'statusDetails' in error && error.statusDetails instanceof Array) {
-          const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type;
-          error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos);
+    return this.innerApiCalls
+      .createEphemeral(request, options, wrappedCallback)
+      ?.then(
+        ([response, options, rawResponse]: [
+          protos.google.cloud.sql.v1.ISslCert,
+          (
+            | protos.google.cloud.sql.v1.ISqlInstancesCreateEphemeralCertRequest
+            | undefined
+          ),
+          {} | undefined,
+        ]) => {
+          this._log.info('createEphemeral response %j', response);
+          return [response, options, rawResponse];
+        },
+      )
+      .catch((error: any) => {
+        if (
+          error &&
+          'statusDetails' in error &&
+          error.statusDetails instanceof Array
+        ) {
+          const protos = this._gaxModule.protobuf.Root.fromJSON(
+            jsonProtos,
+          ) as unknown as gax.protobuf.Type;
+          error.statusDetails = decodeAnyProtosInArray(
+            error.statusDetails,
+            protos,
+          );
         }
         throw error;
       });
   }
-/**
- * Reschedules the maintenance on the given instance.
- *
- * @param {Object} request
- *   The request object that will be sent.
- * @param {string} request.instance
- *   Cloud SQL instance ID. This does not include the project ID.
- * @param {string} request.project
- *   ID of the project that contains the instance.
- * @param {google.cloud.sql.v1.SqlInstancesRescheduleMaintenanceRequestBody} request.body
- * @param {object} [options]
- *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
- * @returns {Promise} - The promise which resolves to an array.
- *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1.Operation|Operation}.
- *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
- *   for more details and examples.
- * @example <caption>include:samples/generated/v1/sql_instances_service.reschedule_maintenance.js</caption>
- * region_tag:sqladmin_v1_generated_SqlInstancesService_RescheduleMaintenance_async
- */
+  /**
+   * Reschedules the maintenance on the given instance.
+   *
+   * @param {Object} request
+   *   The request object that will be sent.
+   * @param {string} request.instance
+   *   Cloud SQL instance ID. This does not include the project ID.
+   * @param {string} request.project
+   *   ID of the project that contains the instance.
+   * @param {google.cloud.sql.v1.SqlInstancesRescheduleMaintenanceRequestBody} request.body
+   * @param {object} [options]
+   *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+   * @returns {Promise} - The promise which resolves to an array.
+   *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1.Operation|Operation}.
+   *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
+   *   for more details and examples.
+   * @example <caption>include:samples/generated/v1/sql_instances_service.reschedule_maintenance.js</caption>
+   * region_tag:sqladmin_v1_generated_SqlInstancesService_RescheduleMaintenance_async
+   */
   rescheduleMaintenance(
-      request?: protos.google.cloud.sql.v1.ISqlInstancesRescheduleMaintenanceRequest,
-      options?: CallOptions):
-      Promise<[
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlInstancesRescheduleMaintenanceRequest|undefined, {}|undefined
-      ]>;
+    request?: protos.google.cloud.sql.v1.ISqlInstancesRescheduleMaintenanceRequest,
+    options?: CallOptions,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1.IOperation,
+      (
+        | protos.google.cloud.sql.v1.ISqlInstancesRescheduleMaintenanceRequest
+        | undefined
+      ),
+      {} | undefined,
+    ]
+  >;
   rescheduleMaintenance(
-      request: protos.google.cloud.sql.v1.ISqlInstancesRescheduleMaintenanceRequest,
-      options: CallOptions,
-      callback: Callback<
-          protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlInstancesRescheduleMaintenanceRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1.ISqlInstancesRescheduleMaintenanceRequest,
+    options: CallOptions,
+    callback: Callback<
+      protos.google.cloud.sql.v1.IOperation,
+      | protos.google.cloud.sql.v1.ISqlInstancesRescheduleMaintenanceRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   rescheduleMaintenance(
-      request: protos.google.cloud.sql.v1.ISqlInstancesRescheduleMaintenanceRequest,
-      callback: Callback<
-          protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlInstancesRescheduleMaintenanceRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1.ISqlInstancesRescheduleMaintenanceRequest,
+    callback: Callback<
+      protos.google.cloud.sql.v1.IOperation,
+      | protos.google.cloud.sql.v1.ISqlInstancesRescheduleMaintenanceRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   rescheduleMaintenance(
-      request?: protos.google.cloud.sql.v1.ISqlInstancesRescheduleMaintenanceRequest,
-      optionsOrCallback?: CallOptions|Callback<
-          protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlInstancesRescheduleMaintenanceRequest|null|undefined,
-          {}|null|undefined>,
-      callback?: Callback<
+    request?: protos.google.cloud.sql.v1.ISqlInstancesRescheduleMaintenanceRequest,
+    optionsOrCallback?:
+      | CallOptions
+      | Callback<
           protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlInstancesRescheduleMaintenanceRequest|null|undefined,
-          {}|null|undefined>):
-      Promise<[
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlInstancesRescheduleMaintenanceRequest|undefined, {}|undefined
-      ]>|void {
+          | protos.google.cloud.sql.v1.ISqlInstancesRescheduleMaintenanceRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >,
+    callback?: Callback<
+      protos.google.cloud.sql.v1.IOperation,
+      | protos.google.cloud.sql.v1.ISqlInstancesRescheduleMaintenanceRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1.IOperation,
+      (
+        | protos.google.cloud.sql.v1.ISqlInstancesRescheduleMaintenanceRequest
+        | undefined
+      ),
+      {} | undefined,
+    ]
+  > | void {
     request = request || {};
     let options: CallOptions;
     if (typeof optionsOrCallback === 'function' && callback === undefined) {
       callback = optionsOrCallback;
       options = {};
-    }
-    else {
+    } else {
       options = optionsOrCallback as CallOptions;
     }
     options = options || {};
     options.otherArgs = options.otherArgs || {};
     options.otherArgs.headers = options.otherArgs.headers || {};
-    options.otherArgs.headers[
-      'x-goog-request-params'
-    ] = this._gaxModule.routingHeader.fromParams({
-      'project': request.project ?? '',
-      'instance': request.instance ?? '',
+    options.otherArgs.headers['x-goog-request-params'] =
+      this._gaxModule.routingHeader.fromParams({
+        project: request.project ?? '',
+        instance: request.instance ?? '',
+      });
+    this.initialize().catch((err) => {
+      throw err;
     });
-    this.initialize().catch(err => {throw err});
     this._log.info('rescheduleMaintenance request %j', request);
-    const wrappedCallback: Callback<
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlInstancesRescheduleMaintenanceRequest|null|undefined,
-        {}|null|undefined>|undefined = callback
+    const wrappedCallback:
+      | Callback<
+          protos.google.cloud.sql.v1.IOperation,
+          | protos.google.cloud.sql.v1.ISqlInstancesRescheduleMaintenanceRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >
+      | undefined = callback
       ? (error, response, options, rawResponse) => {
           this._log.info('rescheduleMaintenance response %j', response);
           callback!(error, response, options, rawResponse); // We verified callback above.
         }
       : undefined;
-    return this.innerApiCalls.rescheduleMaintenance(request, options, wrappedCallback)
-      ?.then(([response, options, rawResponse]: [
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlInstancesRescheduleMaintenanceRequest|undefined,
-        {}|undefined
-      ]) => {
-        this._log.info('rescheduleMaintenance response %j', response);
-        return [response, options, rawResponse];
-      }).catch((error: any) => {
-        if (error && 'statusDetails' in error && error.statusDetails instanceof Array) {
-          const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type;
-          error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos);
+    return this.innerApiCalls
+      .rescheduleMaintenance(request, options, wrappedCallback)
+      ?.then(
+        ([response, options, rawResponse]: [
+          protos.google.cloud.sql.v1.IOperation,
+          (
+            | protos.google.cloud.sql.v1.ISqlInstancesRescheduleMaintenanceRequest
+            | undefined
+          ),
+          {} | undefined,
+        ]) => {
+          this._log.info('rescheduleMaintenance response %j', response);
+          return [response, options, rawResponse];
+        },
+      )
+      .catch((error: any) => {
+        if (
+          error &&
+          'statusDetails' in error &&
+          error.statusDetails instanceof Array
+        ) {
+          const protos = this._gaxModule.protobuf.Root.fromJSON(
+            jsonProtos,
+          ) as unknown as gax.protobuf.Type;
+          error.statusDetails = decodeAnyProtosInArray(
+            error.statusDetails,
+            protos,
+          );
         }
         throw error;
       });
   }
-/**
- * Verify External primary instance external sync settings.
- *
- * @param {Object} request
- *   The request object that will be sent.
- * @param {string} request.instance
- *   Cloud SQL instance ID. This does not include the project ID.
- * @param {string} request.project
- *   Project ID of the project that contains the instance.
- * @param {boolean} request.verifyConnectionOnly
- *   Flag to enable verifying connection only
- * @param {google.cloud.sql.v1.SqlInstancesVerifyExternalSyncSettingsRequest.ExternalSyncMode} request.syncMode
- *   External sync mode
- * @param {boolean} [request.verifyReplicationOnly]
- *   Optional. Flag to verify settings required by replication setup only
- * @param {google.cloud.sql.v1.MySqlSyncConfig} [request.mysqlSyncConfig]
- *   Optional. MySQL-specific settings for start external sync.
- * @param {google.cloud.sql.v1.SqlInstancesVerifyExternalSyncSettingsRequest.MigrationType} [request.migrationType]
- *   Optional. MigrationType configures the migration to use physical files or
- *   logical dump files. If not set, then the logical dump file configuration is
- *   used. Valid values are `LOGICAL` or `PHYSICAL`. Only applicable to MySQL.
- * @param {google.cloud.sql.v1.ExternalSyncParallelLevel} [request.syncParallelLevel]
- *   Optional. Parallel level for initial data sync. Only applicable for
- *   PostgreSQL.
- * @param {number[]} [request.selectedObjects]
- *   Optional. Migrate only the specified objects from the source instance. If
- *   this field is empty, then migrate all objects.
- * @param {object} [options]
- *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
- * @returns {Promise} - The promise which resolves to an array.
- *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1.SqlInstancesVerifyExternalSyncSettingsResponse|SqlInstancesVerifyExternalSyncSettingsResponse}.
- *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
- *   for more details and examples.
- * @example <caption>include:samples/generated/v1/sql_instances_service.verify_external_sync_settings.js</caption>
- * region_tag:sqladmin_v1_generated_SqlInstancesService_VerifyExternalSyncSettings_async
- */
+  /**
+   * Verify External primary instance external sync settings.
+   *
+   * @param {Object} request
+   *   The request object that will be sent.
+   * @param {string} request.instance
+   *   Cloud SQL instance ID. This does not include the project ID.
+   * @param {string} request.project
+   *   Project ID of the project that contains the instance.
+   * @param {boolean} request.verifyConnectionOnly
+   *   Flag to enable verifying connection only
+   * @param {google.cloud.sql.v1.SqlInstancesVerifyExternalSyncSettingsRequest.ExternalSyncMode} request.syncMode
+   *   External sync mode
+   * @param {boolean} [request.verifyReplicationOnly]
+   *   Optional. Flag to verify settings required by replication setup only
+   * @param {google.cloud.sql.v1.MySqlSyncConfig} [request.mysqlSyncConfig]
+   *   Optional. MySQL-specific settings for start external sync.
+   * @param {google.cloud.sql.v1.SqlInstancesVerifyExternalSyncSettingsRequest.MigrationType} [request.migrationType]
+   *   Optional. MigrationType configures the migration to use physical files or
+   *   logical dump files. If not set, then the logical dump file configuration is
+   *   used. Valid values are `LOGICAL` or `PHYSICAL`. Only applicable to MySQL.
+   * @param {google.cloud.sql.v1.ExternalSyncParallelLevel} [request.syncParallelLevel]
+   *   Optional. Parallel level for initial data sync. Only applicable for
+   *   PostgreSQL.
+   * @param {number[]} [request.selectedObjects]
+   *   Optional. Migrate only the specified objects from the source instance. If
+   *   this field is empty, then migrate all objects.
+   * @param {object} [options]
+   *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+   * @returns {Promise} - The promise which resolves to an array.
+   *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1.SqlInstancesVerifyExternalSyncSettingsResponse|SqlInstancesVerifyExternalSyncSettingsResponse}.
+   *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
+   *   for more details and examples.
+   * @example <caption>include:samples/generated/v1/sql_instances_service.verify_external_sync_settings.js</caption>
+   * region_tag:sqladmin_v1_generated_SqlInstancesService_VerifyExternalSyncSettings_async
+   */
   verifyExternalSyncSettings(
-      request?: protos.google.cloud.sql.v1.ISqlInstancesVerifyExternalSyncSettingsRequest,
-      options?: CallOptions):
-      Promise<[
-        protos.google.cloud.sql.v1.ISqlInstancesVerifyExternalSyncSettingsResponse,
-        protos.google.cloud.sql.v1.ISqlInstancesVerifyExternalSyncSettingsRequest|undefined, {}|undefined
-      ]>;
+    request?: protos.google.cloud.sql.v1.ISqlInstancesVerifyExternalSyncSettingsRequest,
+    options?: CallOptions,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1.ISqlInstancesVerifyExternalSyncSettingsResponse,
+      (
+        | protos.google.cloud.sql.v1.ISqlInstancesVerifyExternalSyncSettingsRequest
+        | undefined
+      ),
+      {} | undefined,
+    ]
+  >;
   verifyExternalSyncSettings(
-      request: protos.google.cloud.sql.v1.ISqlInstancesVerifyExternalSyncSettingsRequest,
-      options: CallOptions,
-      callback: Callback<
-          protos.google.cloud.sql.v1.ISqlInstancesVerifyExternalSyncSettingsResponse,
-          protos.google.cloud.sql.v1.ISqlInstancesVerifyExternalSyncSettingsRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1.ISqlInstancesVerifyExternalSyncSettingsRequest,
+    options: CallOptions,
+    callback: Callback<
+      protos.google.cloud.sql.v1.ISqlInstancesVerifyExternalSyncSettingsResponse,
+      | protos.google.cloud.sql.v1.ISqlInstancesVerifyExternalSyncSettingsRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   verifyExternalSyncSettings(
-      request: protos.google.cloud.sql.v1.ISqlInstancesVerifyExternalSyncSettingsRequest,
-      callback: Callback<
-          protos.google.cloud.sql.v1.ISqlInstancesVerifyExternalSyncSettingsResponse,
-          protos.google.cloud.sql.v1.ISqlInstancesVerifyExternalSyncSettingsRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1.ISqlInstancesVerifyExternalSyncSettingsRequest,
+    callback: Callback<
+      protos.google.cloud.sql.v1.ISqlInstancesVerifyExternalSyncSettingsResponse,
+      | protos.google.cloud.sql.v1.ISqlInstancesVerifyExternalSyncSettingsRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   verifyExternalSyncSettings(
-      request?: protos.google.cloud.sql.v1.ISqlInstancesVerifyExternalSyncSettingsRequest,
-      optionsOrCallback?: CallOptions|Callback<
-          protos.google.cloud.sql.v1.ISqlInstancesVerifyExternalSyncSettingsResponse,
-          protos.google.cloud.sql.v1.ISqlInstancesVerifyExternalSyncSettingsRequest|null|undefined,
-          {}|null|undefined>,
-      callback?: Callback<
+    request?: protos.google.cloud.sql.v1.ISqlInstancesVerifyExternalSyncSettingsRequest,
+    optionsOrCallback?:
+      | CallOptions
+      | Callback<
           protos.google.cloud.sql.v1.ISqlInstancesVerifyExternalSyncSettingsResponse,
-          protos.google.cloud.sql.v1.ISqlInstancesVerifyExternalSyncSettingsRequest|null|undefined,
-          {}|null|undefined>):
-      Promise<[
-        protos.google.cloud.sql.v1.ISqlInstancesVerifyExternalSyncSettingsResponse,
-        protos.google.cloud.sql.v1.ISqlInstancesVerifyExternalSyncSettingsRequest|undefined, {}|undefined
-      ]>|void {
+          | protos.google.cloud.sql.v1.ISqlInstancesVerifyExternalSyncSettingsRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >,
+    callback?: Callback<
+      protos.google.cloud.sql.v1.ISqlInstancesVerifyExternalSyncSettingsResponse,
+      | protos.google.cloud.sql.v1.ISqlInstancesVerifyExternalSyncSettingsRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1.ISqlInstancesVerifyExternalSyncSettingsResponse,
+      (
+        | protos.google.cloud.sql.v1.ISqlInstancesVerifyExternalSyncSettingsRequest
+        | undefined
+      ),
+      {} | undefined,
+    ]
+  > | void {
     request = request || {};
     let options: CallOptions;
     if (typeof optionsOrCallback === 'function' && callback === undefined) {
       callback = optionsOrCallback;
       options = {};
-    }
-    else {
+    } else {
       options = optionsOrCallback as CallOptions;
     }
     options = options || {};
     options.otherArgs = options.otherArgs || {};
     options.otherArgs.headers = options.otherArgs.headers || {};
-    options.otherArgs.headers[
-      'x-goog-request-params'
-    ] = this._gaxModule.routingHeader.fromParams({
-      'project': request.project ?? '',
-      'instance': request.instance ?? '',
+    options.otherArgs.headers['x-goog-request-params'] =
+      this._gaxModule.routingHeader.fromParams({
+        project: request.project ?? '',
+        instance: request.instance ?? '',
+      });
+    this.initialize().catch((err) => {
+      throw err;
     });
-    this.initialize().catch(err => {throw err});
     this._log.info('verifyExternalSyncSettings request %j', request);
-    const wrappedCallback: Callback<
-        protos.google.cloud.sql.v1.ISqlInstancesVerifyExternalSyncSettingsResponse,
-        protos.google.cloud.sql.v1.ISqlInstancesVerifyExternalSyncSettingsRequest|null|undefined,
-        {}|null|undefined>|undefined = callback
+    const wrappedCallback:
+      | Callback<
+          protos.google.cloud.sql.v1.ISqlInstancesVerifyExternalSyncSettingsResponse,
+          | protos.google.cloud.sql.v1.ISqlInstancesVerifyExternalSyncSettingsRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >
+      | undefined = callback
       ? (error, response, options, rawResponse) => {
           this._log.info('verifyExternalSyncSettings response %j', response);
           callback!(error, response, options, rawResponse); // We verified callback above.
         }
       : undefined;
-    return this.innerApiCalls.verifyExternalSyncSettings(request, options, wrappedCallback)
-      ?.then(([response, options, rawResponse]: [
-        protos.google.cloud.sql.v1.ISqlInstancesVerifyExternalSyncSettingsResponse,
-        protos.google.cloud.sql.v1.ISqlInstancesVerifyExternalSyncSettingsRequest|undefined,
-        {}|undefined
-      ]) => {
-        this._log.info('verifyExternalSyncSettings response %j', response);
-        return [response, options, rawResponse];
-      }).catch((error: any) => {
-        if (error && 'statusDetails' in error && error.statusDetails instanceof Array) {
-          const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type;
-          error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos);
+    return this.innerApiCalls
+      .verifyExternalSyncSettings(request, options, wrappedCallback)
+      ?.then(
+        ([response, options, rawResponse]: [
+          protos.google.cloud.sql.v1.ISqlInstancesVerifyExternalSyncSettingsResponse,
+          (
+            | protos.google.cloud.sql.v1.ISqlInstancesVerifyExternalSyncSettingsRequest
+            | undefined
+          ),
+          {} | undefined,
+        ]) => {
+          this._log.info('verifyExternalSyncSettings response %j', response);
+          return [response, options, rawResponse];
+        },
+      )
+      .catch((error: any) => {
+        if (
+          error &&
+          'statusDetails' in error &&
+          error.statusDetails instanceof Array
+        ) {
+          const protos = this._gaxModule.protobuf.Root.fromJSON(
+            jsonProtos,
+          ) as unknown as gax.protobuf.Type;
+          error.statusDetails = decodeAnyProtosInArray(
+            error.statusDetails,
+            protos,
+          );
         }
         throw error;
       });
   }
-/**
- * Start External primary instance migration.
- *
- * @param {Object} request
- *   The request object that will be sent.
- * @param {string} request.instance
- *   Cloud SQL instance ID. This does not include the project ID.
- * @param {string} request.project
- *   ID of the project that contains the instance.
- * @param {google.cloud.sql.v1.SqlInstancesVerifyExternalSyncSettingsRequest.ExternalSyncMode} request.syncMode
- *   External sync mode.
- * @param {boolean} request.skipVerification
- *   Whether to skip the verification step (VESS).
- * @param {google.cloud.sql.v1.MySqlSyncConfig} request.mysqlSyncConfig
- *   MySQL-specific settings for start external sync.
- * @param {google.cloud.sql.v1.ExternalSyncParallelLevel} [request.syncParallelLevel]
- *   Optional. Parallel level for initial data sync. Currently only applicable
- *   for MySQL.
- * @param {google.cloud.sql.v1.SqlInstancesVerifyExternalSyncSettingsRequest.MigrationType} [request.migrationType]
- *   Optional. MigrationType configures the migration to use physical files or
- *   logical dump files. If not set, then the logical dump file configuration is
- *   used. Valid values are `LOGICAL` or `PHYSICAL`. Only applicable to MySQL.
- * @param {boolean} [request.replicaOverwriteEnabled]
- *   Optional. MySQL only. True if end-user has confirmed that this SES call
- *   will wipe replica databases overlapping with the proposed selected_objects.
- *   If this field is not set and there are both overlapping and additional
- *   databases proposed, an error will be returned.
- * @param {object} [options]
- *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
- * @returns {Promise} - The promise which resolves to an array.
- *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1.Operation|Operation}.
- *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
- *   for more details and examples.
- * @example <caption>include:samples/generated/v1/sql_instances_service.start_external_sync.js</caption>
- * region_tag:sqladmin_v1_generated_SqlInstancesService_StartExternalSync_async
- */
+  /**
+   * Start External primary instance migration.
+   *
+   * @param {Object} request
+   *   The request object that will be sent.
+   * @param {string} request.instance
+   *   Cloud SQL instance ID. This does not include the project ID.
+   * @param {string} request.project
+   *   ID of the project that contains the instance.
+   * @param {google.cloud.sql.v1.SqlInstancesVerifyExternalSyncSettingsRequest.ExternalSyncMode} request.syncMode
+   *   External sync mode.
+   * @param {boolean} request.skipVerification
+   *   Whether to skip the verification step (VESS).
+   * @param {google.cloud.sql.v1.MySqlSyncConfig} request.mysqlSyncConfig
+   *   MySQL-specific settings for start external sync.
+   * @param {google.cloud.sql.v1.ExternalSyncParallelLevel} [request.syncParallelLevel]
+   *   Optional. Parallel level for initial data sync. Currently only applicable
+   *   for MySQL.
+   * @param {google.cloud.sql.v1.SqlInstancesVerifyExternalSyncSettingsRequest.MigrationType} [request.migrationType]
+   *   Optional. MigrationType configures the migration to use physical files or
+   *   logical dump files. If not set, then the logical dump file configuration is
+   *   used. Valid values are `LOGICAL` or `PHYSICAL`. Only applicable to MySQL.
+   * @param {boolean} [request.replicaOverwriteEnabled]
+   *   Optional. MySQL only. True if end-user has confirmed that this SES call
+   *   will wipe replica databases overlapping with the proposed selected_objects.
+   *   If this field is not set and there are both overlapping and additional
+   *   databases proposed, an error will be returned.
+   * @param {object} [options]
+   *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+   * @returns {Promise} - The promise which resolves to an array.
+   *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1.Operation|Operation}.
+   *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
+   *   for more details and examples.
+   * @example <caption>include:samples/generated/v1/sql_instances_service.start_external_sync.js</caption>
+   * region_tag:sqladmin_v1_generated_SqlInstancesService_StartExternalSync_async
+   */
   startExternalSync(
-      request?: protos.google.cloud.sql.v1.ISqlInstancesStartExternalSyncRequest,
-      options?: CallOptions):
-      Promise<[
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlInstancesStartExternalSyncRequest|undefined, {}|undefined
-      ]>;
+    request?: protos.google.cloud.sql.v1.ISqlInstancesStartExternalSyncRequest,
+    options?: CallOptions,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1.IOperation,
+      (
+        | protos.google.cloud.sql.v1.ISqlInstancesStartExternalSyncRequest
+        | undefined
+      ),
+      {} | undefined,
+    ]
+  >;
   startExternalSync(
-      request: protos.google.cloud.sql.v1.ISqlInstancesStartExternalSyncRequest,
-      options: CallOptions,
-      callback: Callback<
-          protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlInstancesStartExternalSyncRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1.ISqlInstancesStartExternalSyncRequest,
+    options: CallOptions,
+    callback: Callback<
+      protos.google.cloud.sql.v1.IOperation,
+      | protos.google.cloud.sql.v1.ISqlInstancesStartExternalSyncRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   startExternalSync(
-      request: protos.google.cloud.sql.v1.ISqlInstancesStartExternalSyncRequest,
-      callback: Callback<
-          protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlInstancesStartExternalSyncRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1.ISqlInstancesStartExternalSyncRequest,
+    callback: Callback<
+      protos.google.cloud.sql.v1.IOperation,
+      | protos.google.cloud.sql.v1.ISqlInstancesStartExternalSyncRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   startExternalSync(
-      request?: protos.google.cloud.sql.v1.ISqlInstancesStartExternalSyncRequest,
-      optionsOrCallback?: CallOptions|Callback<
-          protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlInstancesStartExternalSyncRequest|null|undefined,
-          {}|null|undefined>,
-      callback?: Callback<
+    request?: protos.google.cloud.sql.v1.ISqlInstancesStartExternalSyncRequest,
+    optionsOrCallback?:
+      | CallOptions
+      | Callback<
           protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlInstancesStartExternalSyncRequest|null|undefined,
-          {}|null|undefined>):
-      Promise<[
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlInstancesStartExternalSyncRequest|undefined, {}|undefined
-      ]>|void {
+          | protos.google.cloud.sql.v1.ISqlInstancesStartExternalSyncRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >,
+    callback?: Callback<
+      protos.google.cloud.sql.v1.IOperation,
+      | protos.google.cloud.sql.v1.ISqlInstancesStartExternalSyncRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1.IOperation,
+      (
+        | protos.google.cloud.sql.v1.ISqlInstancesStartExternalSyncRequest
+        | undefined
+      ),
+      {} | undefined,
+    ]
+  > | void {
     request = request || {};
     let options: CallOptions;
     if (typeof optionsOrCallback === 'function' && callback === undefined) {
       callback = optionsOrCallback;
       options = {};
-    }
-    else {
+    } else {
       options = optionsOrCallback as CallOptions;
     }
     options = options || {};
     options.otherArgs = options.otherArgs || {};
     options.otherArgs.headers = options.otherArgs.headers || {};
-    options.otherArgs.headers[
-      'x-goog-request-params'
-    ] = this._gaxModule.routingHeader.fromParams({
-      'project': request.project ?? '',
-      'instance': request.instance ?? '',
+    options.otherArgs.headers['x-goog-request-params'] =
+      this._gaxModule.routingHeader.fromParams({
+        project: request.project ?? '',
+        instance: request.instance ?? '',
+      });
+    this.initialize().catch((err) => {
+      throw err;
     });
-    this.initialize().catch(err => {throw err});
     this._log.info('startExternalSync request %j', request);
-    const wrappedCallback: Callback<
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlInstancesStartExternalSyncRequest|null|undefined,
-        {}|null|undefined>|undefined = callback
+    const wrappedCallback:
+      | Callback<
+          protos.google.cloud.sql.v1.IOperation,
+          | protos.google.cloud.sql.v1.ISqlInstancesStartExternalSyncRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >
+      | undefined = callback
       ? (error, response, options, rawResponse) => {
           this._log.info('startExternalSync response %j', response);
           callback!(error, response, options, rawResponse); // We verified callback above.
         }
       : undefined;
-    return this.innerApiCalls.startExternalSync(request, options, wrappedCallback)
-      ?.then(([response, options, rawResponse]: [
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlInstancesStartExternalSyncRequest|undefined,
-        {}|undefined
-      ]) => {
-        this._log.info('startExternalSync response %j', response);
-        return [response, options, rawResponse];
-      }).catch((error: any) => {
-        if (error && 'statusDetails' in error && error.statusDetails instanceof Array) {
-          const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type;
-          error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos);
+    return this.innerApiCalls
+      .startExternalSync(request, options, wrappedCallback)
+      ?.then(
+        ([response, options, rawResponse]: [
+          protos.google.cloud.sql.v1.IOperation,
+          (
+            | protos.google.cloud.sql.v1.ISqlInstancesStartExternalSyncRequest
+            | undefined
+          ),
+          {} | undefined,
+        ]) => {
+          this._log.info('startExternalSync response %j', response);
+          return [response, options, rawResponse];
+        },
+      )
+      .catch((error: any) => {
+        if (
+          error &&
+          'statusDetails' in error &&
+          error.statusDetails instanceof Array
+        ) {
+          const protos = this._gaxModule.protobuf.Root.fromJSON(
+            jsonProtos,
+          ) as unknown as gax.protobuf.Type;
+          error.statusDetails = decodeAnyProtosInArray(
+            error.statusDetails,
+            protos,
+          );
         }
         throw error;
       });
   }
-/**
- * Perform Disk Shrink on primary instance.
- *
- * @param {Object} request
- *   The request object that will be sent.
- * @param {string} request.instance
- *   Cloud SQL instance ID. This does not include the project ID.
- * @param {string} request.project
- *   Project ID of the project that contains the instance.
- * @param {google.cloud.sql.v1.PerformDiskShrinkContext} request.body
- *   Perform disk shrink context.
- * @param {object} [options]
- *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
- * @returns {Promise} - The promise which resolves to an array.
- *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1.Operation|Operation}.
- *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
- *   for more details and examples.
- * @example <caption>include:samples/generated/v1/sql_instances_service.perform_disk_shrink.js</caption>
- * region_tag:sqladmin_v1_generated_SqlInstancesService_PerformDiskShrink_async
- */
+  /**
+   * Perform Disk Shrink on primary instance.
+   *
+   * @param {Object} request
+   *   The request object that will be sent.
+   * @param {string} request.instance
+   *   Cloud SQL instance ID. This does not include the project ID.
+   * @param {string} request.project
+   *   Project ID of the project that contains the instance.
+   * @param {google.cloud.sql.v1.PerformDiskShrinkContext} request.body
+   *   Perform disk shrink context.
+   * @param {object} [options]
+   *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+   * @returns {Promise} - The promise which resolves to an array.
+   *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1.Operation|Operation}.
+   *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
+   *   for more details and examples.
+   * @example <caption>include:samples/generated/v1/sql_instances_service.perform_disk_shrink.js</caption>
+   * region_tag:sqladmin_v1_generated_SqlInstancesService_PerformDiskShrink_async
+   */
   performDiskShrink(
-      request?: protos.google.cloud.sql.v1.ISqlInstancesPerformDiskShrinkRequest,
-      options?: CallOptions):
-      Promise<[
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlInstancesPerformDiskShrinkRequest|undefined, {}|undefined
-      ]>;
+    request?: protos.google.cloud.sql.v1.ISqlInstancesPerformDiskShrinkRequest,
+    options?: CallOptions,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1.IOperation,
+      (
+        | protos.google.cloud.sql.v1.ISqlInstancesPerformDiskShrinkRequest
+        | undefined
+      ),
+      {} | undefined,
+    ]
+  >;
   performDiskShrink(
-      request: protos.google.cloud.sql.v1.ISqlInstancesPerformDiskShrinkRequest,
-      options: CallOptions,
-      callback: Callback<
-          protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlInstancesPerformDiskShrinkRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1.ISqlInstancesPerformDiskShrinkRequest,
+    options: CallOptions,
+    callback: Callback<
+      protos.google.cloud.sql.v1.IOperation,
+      | protos.google.cloud.sql.v1.ISqlInstancesPerformDiskShrinkRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   performDiskShrink(
-      request: protos.google.cloud.sql.v1.ISqlInstancesPerformDiskShrinkRequest,
-      callback: Callback<
-          protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlInstancesPerformDiskShrinkRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1.ISqlInstancesPerformDiskShrinkRequest,
+    callback: Callback<
+      protos.google.cloud.sql.v1.IOperation,
+      | protos.google.cloud.sql.v1.ISqlInstancesPerformDiskShrinkRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   performDiskShrink(
-      request?: protos.google.cloud.sql.v1.ISqlInstancesPerformDiskShrinkRequest,
-      optionsOrCallback?: CallOptions|Callback<
-          protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlInstancesPerformDiskShrinkRequest|null|undefined,
-          {}|null|undefined>,
-      callback?: Callback<
+    request?: protos.google.cloud.sql.v1.ISqlInstancesPerformDiskShrinkRequest,
+    optionsOrCallback?:
+      | CallOptions
+      | Callback<
           protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlInstancesPerformDiskShrinkRequest|null|undefined,
-          {}|null|undefined>):
-      Promise<[
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlInstancesPerformDiskShrinkRequest|undefined, {}|undefined
-      ]>|void {
+          | protos.google.cloud.sql.v1.ISqlInstancesPerformDiskShrinkRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >,
+    callback?: Callback<
+      protos.google.cloud.sql.v1.IOperation,
+      | protos.google.cloud.sql.v1.ISqlInstancesPerformDiskShrinkRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1.IOperation,
+      (
+        | protos.google.cloud.sql.v1.ISqlInstancesPerformDiskShrinkRequest
+        | undefined
+      ),
+      {} | undefined,
+    ]
+  > | void {
     request = request || {};
     let options: CallOptions;
     if (typeof optionsOrCallback === 'function' && callback === undefined) {
       callback = optionsOrCallback;
       options = {};
-    }
-    else {
+    } else {
       options = optionsOrCallback as CallOptions;
     }
     options = options || {};
     options.otherArgs = options.otherArgs || {};
     options.otherArgs.headers = options.otherArgs.headers || {};
-    options.otherArgs.headers[
-      'x-goog-request-params'
-    ] = this._gaxModule.routingHeader.fromParams({
-      'project': request.project ?? '',
-      'instance': request.instance ?? '',
+    options.otherArgs.headers['x-goog-request-params'] =
+      this._gaxModule.routingHeader.fromParams({
+        project: request.project ?? '',
+        instance: request.instance ?? '',
+      });
+    this.initialize().catch((err) => {
+      throw err;
     });
-    this.initialize().catch(err => {throw err});
     this._log.info('performDiskShrink request %j', request);
-    const wrappedCallback: Callback<
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlInstancesPerformDiskShrinkRequest|null|undefined,
-        {}|null|undefined>|undefined = callback
+    const wrappedCallback:
+      | Callback<
+          protos.google.cloud.sql.v1.IOperation,
+          | protos.google.cloud.sql.v1.ISqlInstancesPerformDiskShrinkRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >
+      | undefined = callback
       ? (error, response, options, rawResponse) => {
           this._log.info('performDiskShrink response %j', response);
           callback!(error, response, options, rawResponse); // We verified callback above.
         }
       : undefined;
-    return this.innerApiCalls.performDiskShrink(request, options, wrappedCallback)
-      ?.then(([response, options, rawResponse]: [
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlInstancesPerformDiskShrinkRequest|undefined,
-        {}|undefined
-      ]) => {
-        this._log.info('performDiskShrink response %j', response);
-        return [response, options, rawResponse];
-      }).catch((error: any) => {
-        if (error && 'statusDetails' in error && error.statusDetails instanceof Array) {
-          const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type;
-          error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos);
+    return this.innerApiCalls
+      .performDiskShrink(request, options, wrappedCallback)
+      ?.then(
+        ([response, options, rawResponse]: [
+          protos.google.cloud.sql.v1.IOperation,
+          (
+            | protos.google.cloud.sql.v1.ISqlInstancesPerformDiskShrinkRequest
+            | undefined
+          ),
+          {} | undefined,
+        ]) => {
+          this._log.info('performDiskShrink response %j', response);
+          return [response, options, rawResponse];
+        },
+      )
+      .catch((error: any) => {
+        if (
+          error &&
+          'statusDetails' in error &&
+          error.statusDetails instanceof Array
+        ) {
+          const protos = this._gaxModule.protobuf.Root.fromJSON(
+            jsonProtos,
+          ) as unknown as gax.protobuf.Type;
+          error.statusDetails = decodeAnyProtosInArray(
+            error.statusDetails,
+            protos,
+          );
         }
         throw error;
       });
   }
-/**
- * Get Disk Shrink Config for a given instance.
- *
- * @param {Object} request
- *   The request object that will be sent.
- * @param {string} request.instance
- *   Cloud SQL instance ID. This does not include the project ID.
- * @param {string} request.project
- *   Project ID of the project that contains the instance.
- * @param {object} [options]
- *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
- * @returns {Promise} - The promise which resolves to an array.
- *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1.SqlInstancesGetDiskShrinkConfigResponse|SqlInstancesGetDiskShrinkConfigResponse}.
- *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
- *   for more details and examples.
- * @example <caption>include:samples/generated/v1/sql_instances_service.get_disk_shrink_config.js</caption>
- * region_tag:sqladmin_v1_generated_SqlInstancesService_GetDiskShrinkConfig_async
- */
+  /**
+   * Get Disk Shrink Config for a given instance.
+   *
+   * @param {Object} request
+   *   The request object that will be sent.
+   * @param {string} request.instance
+   *   Cloud SQL instance ID. This does not include the project ID.
+   * @param {string} request.project
+   *   Project ID of the project that contains the instance.
+   * @param {object} [options]
+   *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+   * @returns {Promise} - The promise which resolves to an array.
+   *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1.SqlInstancesGetDiskShrinkConfigResponse|SqlInstancesGetDiskShrinkConfigResponse}.
+   *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
+   *   for more details and examples.
+   * @example <caption>include:samples/generated/v1/sql_instances_service.get_disk_shrink_config.js</caption>
+   * region_tag:sqladmin_v1_generated_SqlInstancesService_GetDiskShrinkConfig_async
+   */
   getDiskShrinkConfig(
-      request?: protos.google.cloud.sql.v1.ISqlInstancesGetDiskShrinkConfigRequest,
-      options?: CallOptions):
-      Promise<[
-        protos.google.cloud.sql.v1.ISqlInstancesGetDiskShrinkConfigResponse,
-        protos.google.cloud.sql.v1.ISqlInstancesGetDiskShrinkConfigRequest|undefined, {}|undefined
-      ]>;
+    request?: protos.google.cloud.sql.v1.ISqlInstancesGetDiskShrinkConfigRequest,
+    options?: CallOptions,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1.ISqlInstancesGetDiskShrinkConfigResponse,
+      (
+        | protos.google.cloud.sql.v1.ISqlInstancesGetDiskShrinkConfigRequest
+        | undefined
+      ),
+      {} | undefined,
+    ]
+  >;
   getDiskShrinkConfig(
-      request: protos.google.cloud.sql.v1.ISqlInstancesGetDiskShrinkConfigRequest,
-      options: CallOptions,
-      callback: Callback<
-          protos.google.cloud.sql.v1.ISqlInstancesGetDiskShrinkConfigResponse,
-          protos.google.cloud.sql.v1.ISqlInstancesGetDiskShrinkConfigRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1.ISqlInstancesGetDiskShrinkConfigRequest,
+    options: CallOptions,
+    callback: Callback<
+      protos.google.cloud.sql.v1.ISqlInstancesGetDiskShrinkConfigResponse,
+      | protos.google.cloud.sql.v1.ISqlInstancesGetDiskShrinkConfigRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   getDiskShrinkConfig(
-      request: protos.google.cloud.sql.v1.ISqlInstancesGetDiskShrinkConfigRequest,
-      callback: Callback<
-          protos.google.cloud.sql.v1.ISqlInstancesGetDiskShrinkConfigResponse,
-          protos.google.cloud.sql.v1.ISqlInstancesGetDiskShrinkConfigRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1.ISqlInstancesGetDiskShrinkConfigRequest,
+    callback: Callback<
+      protos.google.cloud.sql.v1.ISqlInstancesGetDiskShrinkConfigResponse,
+      | protos.google.cloud.sql.v1.ISqlInstancesGetDiskShrinkConfigRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   getDiskShrinkConfig(
-      request?: protos.google.cloud.sql.v1.ISqlInstancesGetDiskShrinkConfigRequest,
-      optionsOrCallback?: CallOptions|Callback<
-          protos.google.cloud.sql.v1.ISqlInstancesGetDiskShrinkConfigResponse,
-          protos.google.cloud.sql.v1.ISqlInstancesGetDiskShrinkConfigRequest|null|undefined,
-          {}|null|undefined>,
-      callback?: Callback<
+    request?: protos.google.cloud.sql.v1.ISqlInstancesGetDiskShrinkConfigRequest,
+    optionsOrCallback?:
+      | CallOptions
+      | Callback<
           protos.google.cloud.sql.v1.ISqlInstancesGetDiskShrinkConfigResponse,
-          protos.google.cloud.sql.v1.ISqlInstancesGetDiskShrinkConfigRequest|null|undefined,
-          {}|null|undefined>):
-      Promise<[
-        protos.google.cloud.sql.v1.ISqlInstancesGetDiskShrinkConfigResponse,
-        protos.google.cloud.sql.v1.ISqlInstancesGetDiskShrinkConfigRequest|undefined, {}|undefined
-      ]>|void {
+          | protos.google.cloud.sql.v1.ISqlInstancesGetDiskShrinkConfigRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >,
+    callback?: Callback<
+      protos.google.cloud.sql.v1.ISqlInstancesGetDiskShrinkConfigResponse,
+      | protos.google.cloud.sql.v1.ISqlInstancesGetDiskShrinkConfigRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1.ISqlInstancesGetDiskShrinkConfigResponse,
+      (
+        | protos.google.cloud.sql.v1.ISqlInstancesGetDiskShrinkConfigRequest
+        | undefined
+      ),
+      {} | undefined,
+    ]
+  > | void {
     request = request || {};
     let options: CallOptions;
     if (typeof optionsOrCallback === 'function' && callback === undefined) {
       callback = optionsOrCallback;
       options = {};
-    }
-    else {
+    } else {
       options = optionsOrCallback as CallOptions;
     }
     options = options || {};
     options.otherArgs = options.otherArgs || {};
     options.otherArgs.headers = options.otherArgs.headers || {};
-    options.otherArgs.headers[
-      'x-goog-request-params'
-    ] = this._gaxModule.routingHeader.fromParams({
-      'project': request.project ?? '',
-      'instance': request.instance ?? '',
+    options.otherArgs.headers['x-goog-request-params'] =
+      this._gaxModule.routingHeader.fromParams({
+        project: request.project ?? '',
+        instance: request.instance ?? '',
+      });
+    this.initialize().catch((err) => {
+      throw err;
     });
-    this.initialize().catch(err => {throw err});
     this._log.info('getDiskShrinkConfig request %j', request);
-    const wrappedCallback: Callback<
-        protos.google.cloud.sql.v1.ISqlInstancesGetDiskShrinkConfigResponse,
-        protos.google.cloud.sql.v1.ISqlInstancesGetDiskShrinkConfigRequest|null|undefined,
-        {}|null|undefined>|undefined = callback
+    const wrappedCallback:
+      | Callback<
+          protos.google.cloud.sql.v1.ISqlInstancesGetDiskShrinkConfigResponse,
+          | protos.google.cloud.sql.v1.ISqlInstancesGetDiskShrinkConfigRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >
+      | undefined = callback
       ? (error, response, options, rawResponse) => {
           this._log.info('getDiskShrinkConfig response %j', response);
           callback!(error, response, options, rawResponse); // We verified callback above.
         }
       : undefined;
-    return this.innerApiCalls.getDiskShrinkConfig(request, options, wrappedCallback)
-      ?.then(([response, options, rawResponse]: [
-        protos.google.cloud.sql.v1.ISqlInstancesGetDiskShrinkConfigResponse,
-        protos.google.cloud.sql.v1.ISqlInstancesGetDiskShrinkConfigRequest|undefined,
-        {}|undefined
-      ]) => {
-        this._log.info('getDiskShrinkConfig response %j', response);
-        return [response, options, rawResponse];
-      }).catch((error: any) => {
-        if (error && 'statusDetails' in error && error.statusDetails instanceof Array) {
-          const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type;
-          error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos);
+    return this.innerApiCalls
+      .getDiskShrinkConfig(request, options, wrappedCallback)
+      ?.then(
+        ([response, options, rawResponse]: [
+          protos.google.cloud.sql.v1.ISqlInstancesGetDiskShrinkConfigResponse,
+          (
+            | protos.google.cloud.sql.v1.ISqlInstancesGetDiskShrinkConfigRequest
+            | undefined
+          ),
+          {} | undefined,
+        ]) => {
+          this._log.info('getDiskShrinkConfig response %j', response);
+          return [response, options, rawResponse];
+        },
+      )
+      .catch((error: any) => {
+        if (
+          error &&
+          'statusDetails' in error &&
+          error.statusDetails instanceof Array
+        ) {
+          const protos = this._gaxModule.protobuf.Root.fromJSON(
+            jsonProtos,
+          ) as unknown as gax.protobuf.Type;
+          error.statusDetails = decodeAnyProtosInArray(
+            error.statusDetails,
+            protos,
+          );
         }
         throw error;
       });
   }
-/**
- * Reset Replica Size to primary instance disk size.
- *
- * @param {Object} request
- *   The request object that will be sent.
- * @param {string} request.instance
- *   Cloud SQL read replica instance name.
- * @param {string} request.project
- *   ID of the project that contains the read replica.
- * @param {object} [options]
- *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
- * @returns {Promise} - The promise which resolves to an array.
- *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1.Operation|Operation}.
- *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
- *   for more details and examples.
- * @example <caption>include:samples/generated/v1/sql_instances_service.reset_replica_size.js</caption>
- * region_tag:sqladmin_v1_generated_SqlInstancesService_ResetReplicaSize_async
- */
+  /**
+   * Reset Replica Size to primary instance disk size.
+   *
+   * @param {Object} request
+   *   The request object that will be sent.
+   * @param {string} request.instance
+   *   Cloud SQL read replica instance name.
+   * @param {string} request.project
+   *   ID of the project that contains the read replica.
+   * @param {object} [options]
+   *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+   * @returns {Promise} - The promise which resolves to an array.
+   *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1.Operation|Operation}.
+   *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
+   *   for more details and examples.
+   * @example <caption>include:samples/generated/v1/sql_instances_service.reset_replica_size.js</caption>
+   * region_tag:sqladmin_v1_generated_SqlInstancesService_ResetReplicaSize_async
+   */
   resetReplicaSize(
-      request?: protos.google.cloud.sql.v1.ISqlInstancesResetReplicaSizeRequest,
-      options?: CallOptions):
-      Promise<[
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlInstancesResetReplicaSizeRequest|undefined, {}|undefined
-      ]>;
+    request?: protos.google.cloud.sql.v1.ISqlInstancesResetReplicaSizeRequest,
+    options?: CallOptions,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1.IOperation,
+      (
+        | protos.google.cloud.sql.v1.ISqlInstancesResetReplicaSizeRequest
+        | undefined
+      ),
+      {} | undefined,
+    ]
+  >;
   resetReplicaSize(
-      request: protos.google.cloud.sql.v1.ISqlInstancesResetReplicaSizeRequest,
-      options: CallOptions,
-      callback: Callback<
-          protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlInstancesResetReplicaSizeRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1.ISqlInstancesResetReplicaSizeRequest,
+    options: CallOptions,
+    callback: Callback<
+      protos.google.cloud.sql.v1.IOperation,
+      | protos.google.cloud.sql.v1.ISqlInstancesResetReplicaSizeRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   resetReplicaSize(
-      request: protos.google.cloud.sql.v1.ISqlInstancesResetReplicaSizeRequest,
-      callback: Callback<
-          protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlInstancesResetReplicaSizeRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1.ISqlInstancesResetReplicaSizeRequest,
+    callback: Callback<
+      protos.google.cloud.sql.v1.IOperation,
+      | protos.google.cloud.sql.v1.ISqlInstancesResetReplicaSizeRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   resetReplicaSize(
-      request?: protos.google.cloud.sql.v1.ISqlInstancesResetReplicaSizeRequest,
-      optionsOrCallback?: CallOptions|Callback<
-          protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlInstancesResetReplicaSizeRequest|null|undefined,
-          {}|null|undefined>,
-      callback?: Callback<
+    request?: protos.google.cloud.sql.v1.ISqlInstancesResetReplicaSizeRequest,
+    optionsOrCallback?:
+      | CallOptions
+      | Callback<
           protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlInstancesResetReplicaSizeRequest|null|undefined,
-          {}|null|undefined>):
-      Promise<[
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlInstancesResetReplicaSizeRequest|undefined, {}|undefined
-      ]>|void {
+          | protos.google.cloud.sql.v1.ISqlInstancesResetReplicaSizeRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >,
+    callback?: Callback<
+      protos.google.cloud.sql.v1.IOperation,
+      | protos.google.cloud.sql.v1.ISqlInstancesResetReplicaSizeRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1.IOperation,
+      (
+        | protos.google.cloud.sql.v1.ISqlInstancesResetReplicaSizeRequest
+        | undefined
+      ),
+      {} | undefined,
+    ]
+  > | void {
     request = request || {};
     let options: CallOptions;
     if (typeof optionsOrCallback === 'function' && callback === undefined) {
       callback = optionsOrCallback;
       options = {};
-    }
-    else {
+    } else {
       options = optionsOrCallback as CallOptions;
     }
     options = options || {};
     options.otherArgs = options.otherArgs || {};
     options.otherArgs.headers = options.otherArgs.headers || {};
-    options.otherArgs.headers[
-      'x-goog-request-params'
-    ] = this._gaxModule.routingHeader.fromParams({
-      'project': request.project ?? '',
-      'instance': request.instance ?? '',
+    options.otherArgs.headers['x-goog-request-params'] =
+      this._gaxModule.routingHeader.fromParams({
+        project: request.project ?? '',
+        instance: request.instance ?? '',
+      });
+    this.initialize().catch((err) => {
+      throw err;
     });
-    this.initialize().catch(err => {throw err});
     this._log.info('resetReplicaSize request %j', request);
-    const wrappedCallback: Callback<
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlInstancesResetReplicaSizeRequest|null|undefined,
-        {}|null|undefined>|undefined = callback
+    const wrappedCallback:
+      | Callback<
+          protos.google.cloud.sql.v1.IOperation,
+          | protos.google.cloud.sql.v1.ISqlInstancesResetReplicaSizeRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >
+      | undefined = callback
       ? (error, response, options, rawResponse) => {
           this._log.info('resetReplicaSize response %j', response);
           callback!(error, response, options, rawResponse); // We verified callback above.
         }
       : undefined;
-    return this.innerApiCalls.resetReplicaSize(request, options, wrappedCallback)
-      ?.then(([response, options, rawResponse]: [
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlInstancesResetReplicaSizeRequest|undefined,
-        {}|undefined
-      ]) => {
-        this._log.info('resetReplicaSize response %j', response);
-        return [response, options, rawResponse];
-      }).catch((error: any) => {
-        if (error && 'statusDetails' in error && error.statusDetails instanceof Array) {
-          const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type;
-          error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos);
+    return this.innerApiCalls
+      .resetReplicaSize(request, options, wrappedCallback)
+      ?.then(
+        ([response, options, rawResponse]: [
+          protos.google.cloud.sql.v1.IOperation,
+          (
+            | protos.google.cloud.sql.v1.ISqlInstancesResetReplicaSizeRequest
+            | undefined
+          ),
+          {} | undefined,
+        ]) => {
+          this._log.info('resetReplicaSize response %j', response);
+          return [response, options, rawResponse];
+        },
+      )
+      .catch((error: any) => {
+        if (
+          error &&
+          'statusDetails' in error &&
+          error.statusDetails instanceof Array
+        ) {
+          const protos = this._gaxModule.protobuf.Root.fromJSON(
+            jsonProtos,
+          ) as unknown as gax.protobuf.Type;
+          error.statusDetails = decodeAnyProtosInArray(
+            error.statusDetails,
+            protos,
+          );
         }
         throw error;
       });
   }
-/**
- * Get Latest Recovery Time for a given instance.
- *
- * @param {Object} request
- *   The request object that will be sent.
- * @param {string} request.instance
- *   Cloud SQL instance ID. This does not include the project ID.
- * @param {string} request.project
- *   Project ID of the project that contains the instance.
- * @param {google.protobuf.Timestamp} request.sourceInstanceDeletionTime
- *   The timestamp used to identify the time when the source instance is
- *   deleted. If this instance is deleted, then you must set the timestamp.
- * @param {object} [options]
- *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
- * @returns {Promise} - The promise which resolves to an array.
- *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1.SqlInstancesGetLatestRecoveryTimeResponse|SqlInstancesGetLatestRecoveryTimeResponse}.
- *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
- *   for more details and examples.
- * @example <caption>include:samples/generated/v1/sql_instances_service.get_latest_recovery_time.js</caption>
- * region_tag:sqladmin_v1_generated_SqlInstancesService_GetLatestRecoveryTime_async
- */
+  /**
+   * Get Latest Recovery Time for a given instance.
+   *
+   * @param {Object} request
+   *   The request object that will be sent.
+   * @param {string} request.instance
+   *   Cloud SQL instance ID. This does not include the project ID.
+   * @param {string} request.project
+   *   Project ID of the project that contains the instance.
+   * @param {google.protobuf.Timestamp} request.sourceInstanceDeletionTime
+   *   The timestamp used to identify the time when the source instance is
+   *   deleted. If this instance is deleted, then you must set the timestamp.
+   * @param {object} [options]
+   *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+   * @returns {Promise} - The promise which resolves to an array.
+   *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1.SqlInstancesGetLatestRecoveryTimeResponse|SqlInstancesGetLatestRecoveryTimeResponse}.
+   *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
+   *   for more details and examples.
+   * @example <caption>include:samples/generated/v1/sql_instances_service.get_latest_recovery_time.js</caption>
+   * region_tag:sqladmin_v1_generated_SqlInstancesService_GetLatestRecoveryTime_async
+   */
   getLatestRecoveryTime(
-      request?: protos.google.cloud.sql.v1.ISqlInstancesGetLatestRecoveryTimeRequest,
-      options?: CallOptions):
-      Promise<[
-        protos.google.cloud.sql.v1.ISqlInstancesGetLatestRecoveryTimeResponse,
-        protos.google.cloud.sql.v1.ISqlInstancesGetLatestRecoveryTimeRequest|undefined, {}|undefined
-      ]>;
+    request?: protos.google.cloud.sql.v1.ISqlInstancesGetLatestRecoveryTimeRequest,
+    options?: CallOptions,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1.ISqlInstancesGetLatestRecoveryTimeResponse,
+      (
+        | protos.google.cloud.sql.v1.ISqlInstancesGetLatestRecoveryTimeRequest
+        | undefined
+      ),
+      {} | undefined,
+    ]
+  >;
   getLatestRecoveryTime(
-      request: protos.google.cloud.sql.v1.ISqlInstancesGetLatestRecoveryTimeRequest,
-      options: CallOptions,
-      callback: Callback<
-          protos.google.cloud.sql.v1.ISqlInstancesGetLatestRecoveryTimeResponse,
-          protos.google.cloud.sql.v1.ISqlInstancesGetLatestRecoveryTimeRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1.ISqlInstancesGetLatestRecoveryTimeRequest,
+    options: CallOptions,
+    callback: Callback<
+      protos.google.cloud.sql.v1.ISqlInstancesGetLatestRecoveryTimeResponse,
+      | protos.google.cloud.sql.v1.ISqlInstancesGetLatestRecoveryTimeRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   getLatestRecoveryTime(
-      request: protos.google.cloud.sql.v1.ISqlInstancesGetLatestRecoveryTimeRequest,
-      callback: Callback<
-          protos.google.cloud.sql.v1.ISqlInstancesGetLatestRecoveryTimeResponse,
-          protos.google.cloud.sql.v1.ISqlInstancesGetLatestRecoveryTimeRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1.ISqlInstancesGetLatestRecoveryTimeRequest,
+    callback: Callback<
+      protos.google.cloud.sql.v1.ISqlInstancesGetLatestRecoveryTimeResponse,
+      | protos.google.cloud.sql.v1.ISqlInstancesGetLatestRecoveryTimeRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   getLatestRecoveryTime(
-      request?: protos.google.cloud.sql.v1.ISqlInstancesGetLatestRecoveryTimeRequest,
-      optionsOrCallback?: CallOptions|Callback<
-          protos.google.cloud.sql.v1.ISqlInstancesGetLatestRecoveryTimeResponse,
-          protos.google.cloud.sql.v1.ISqlInstancesGetLatestRecoveryTimeRequest|null|undefined,
-          {}|null|undefined>,
-      callback?: Callback<
+    request?: protos.google.cloud.sql.v1.ISqlInstancesGetLatestRecoveryTimeRequest,
+    optionsOrCallback?:
+      | CallOptions
+      | Callback<
           protos.google.cloud.sql.v1.ISqlInstancesGetLatestRecoveryTimeResponse,
-          protos.google.cloud.sql.v1.ISqlInstancesGetLatestRecoveryTimeRequest|null|undefined,
-          {}|null|undefined>):
-      Promise<[
-        protos.google.cloud.sql.v1.ISqlInstancesGetLatestRecoveryTimeResponse,
-        protos.google.cloud.sql.v1.ISqlInstancesGetLatestRecoveryTimeRequest|undefined, {}|undefined
-      ]>|void {
+          | protos.google.cloud.sql.v1.ISqlInstancesGetLatestRecoveryTimeRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >,
+    callback?: Callback<
+      protos.google.cloud.sql.v1.ISqlInstancesGetLatestRecoveryTimeResponse,
+      | protos.google.cloud.sql.v1.ISqlInstancesGetLatestRecoveryTimeRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1.ISqlInstancesGetLatestRecoveryTimeResponse,
+      (
+        | protos.google.cloud.sql.v1.ISqlInstancesGetLatestRecoveryTimeRequest
+        | undefined
+      ),
+      {} | undefined,
+    ]
+  > | void {
     request = request || {};
     let options: CallOptions;
     if (typeof optionsOrCallback === 'function' && callback === undefined) {
       callback = optionsOrCallback;
       options = {};
-    }
-    else {
+    } else {
       options = optionsOrCallback as CallOptions;
     }
     options = options || {};
     options.otherArgs = options.otherArgs || {};
     options.otherArgs.headers = options.otherArgs.headers || {};
-    options.otherArgs.headers[
-      'x-goog-request-params'
-    ] = this._gaxModule.routingHeader.fromParams({
-      'project': request.project ?? '',
-      'instance': request.instance ?? '',
+    options.otherArgs.headers['x-goog-request-params'] =
+      this._gaxModule.routingHeader.fromParams({
+        project: request.project ?? '',
+        instance: request.instance ?? '',
+      });
+    this.initialize().catch((err) => {
+      throw err;
     });
-    this.initialize().catch(err => {throw err});
     this._log.info('getLatestRecoveryTime request %j', request);
-    const wrappedCallback: Callback<
-        protos.google.cloud.sql.v1.ISqlInstancesGetLatestRecoveryTimeResponse,
-        protos.google.cloud.sql.v1.ISqlInstancesGetLatestRecoveryTimeRequest|null|undefined,
-        {}|null|undefined>|undefined = callback
+    const wrappedCallback:
+      | Callback<
+          protos.google.cloud.sql.v1.ISqlInstancesGetLatestRecoveryTimeResponse,
+          | protos.google.cloud.sql.v1.ISqlInstancesGetLatestRecoveryTimeRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >
+      | undefined = callback
       ? (error, response, options, rawResponse) => {
           this._log.info('getLatestRecoveryTime response %j', response);
           callback!(error, response, options, rawResponse); // We verified callback above.
         }
       : undefined;
-    return this.innerApiCalls.getLatestRecoveryTime(request, options, wrappedCallback)
-      ?.then(([response, options, rawResponse]: [
-        protos.google.cloud.sql.v1.ISqlInstancesGetLatestRecoveryTimeResponse,
-        protos.google.cloud.sql.v1.ISqlInstancesGetLatestRecoveryTimeRequest|undefined,
-        {}|undefined
-      ]) => {
-        this._log.info('getLatestRecoveryTime response %j', response);
-        return [response, options, rawResponse];
-      }).catch((error: any) => {
-        if (error && 'statusDetails' in error && error.statusDetails instanceof Array) {
-          const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type;
-          error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos);
+    return this.innerApiCalls
+      .getLatestRecoveryTime(request, options, wrappedCallback)
+      ?.then(
+        ([response, options, rawResponse]: [
+          protos.google.cloud.sql.v1.ISqlInstancesGetLatestRecoveryTimeResponse,
+          (
+            | protos.google.cloud.sql.v1.ISqlInstancesGetLatestRecoveryTimeRequest
+            | undefined
+          ),
+          {} | undefined,
+        ]) => {
+          this._log.info('getLatestRecoveryTime response %j', response);
+          return [response, options, rawResponse];
+        },
+      )
+      .catch((error: any) => {
+        if (
+          error &&
+          'statusDetails' in error &&
+          error.statusDetails instanceof Array
+        ) {
+          const protos = this._gaxModule.protobuf.Root.fromJSON(
+            jsonProtos,
+          ) as unknown as gax.protobuf.Type;
+          error.statusDetails = decodeAnyProtosInArray(
+            error.statusDetails,
+            protos,
+          );
         }
         throw error;
       });
   }
-/**
- * Execute SQL statements.
- *
- * @param {Object} request
- *   The request object that will be sent.
- * @param {string} request.instance
- *   Required. Database instance ID. This does not include the project ID.
- * @param {string} request.project
- *   Required. Project ID of the project that contains the instance.
- * @param {google.cloud.sql.v1.ExecuteSqlPayload} request.body
- *   The request body.
- * @param {object} [options]
- *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
- * @returns {Promise} - The promise which resolves to an array.
- *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1.SqlInstancesExecuteSqlResponse|SqlInstancesExecuteSqlResponse}.
- *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
- *   for more details and examples.
- * @example <caption>include:samples/generated/v1/sql_instances_service.execute_sql.js</caption>
- * region_tag:sqladmin_v1_generated_SqlInstancesService_ExecuteSql_async
- */
+  /**
+   * Execute SQL statements.
+   *
+   * @param {Object} request
+   *   The request object that will be sent.
+   * @param {string} request.instance
+   *   Required. Database instance ID. This does not include the project ID.
+   * @param {string} request.project
+   *   Required. Project ID of the project that contains the instance.
+   * @param {google.cloud.sql.v1.ExecuteSqlPayload} request.body
+   *   The request body.
+   * @param {object} [options]
+   *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+   * @returns {Promise} - The promise which resolves to an array.
+   *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1.SqlInstancesExecuteSqlResponse|SqlInstancesExecuteSqlResponse}.
+   *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
+   *   for more details and examples.
+   * @example <caption>include:samples/generated/v1/sql_instances_service.execute_sql.js</caption>
+   * region_tag:sqladmin_v1_generated_SqlInstancesService_ExecuteSql_async
+   */
   executeSql(
-      request?: protos.google.cloud.sql.v1.ISqlInstancesExecuteSqlRequest,
-      options?: CallOptions):
-      Promise<[
-        protos.google.cloud.sql.v1.ISqlInstancesExecuteSqlResponse,
-        protos.google.cloud.sql.v1.ISqlInstancesExecuteSqlRequest|undefined, {}|undefined
-      ]>;
+    request?: protos.google.cloud.sql.v1.ISqlInstancesExecuteSqlRequest,
+    options?: CallOptions,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1.ISqlInstancesExecuteSqlResponse,
+      protos.google.cloud.sql.v1.ISqlInstancesExecuteSqlRequest | undefined,
+      {} | undefined,
+    ]
+  >;
   executeSql(
-      request: protos.google.cloud.sql.v1.ISqlInstancesExecuteSqlRequest,
-      options: CallOptions,
-      callback: Callback<
-          protos.google.cloud.sql.v1.ISqlInstancesExecuteSqlResponse,
-          protos.google.cloud.sql.v1.ISqlInstancesExecuteSqlRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1.ISqlInstancesExecuteSqlRequest,
+    options: CallOptions,
+    callback: Callback<
+      protos.google.cloud.sql.v1.ISqlInstancesExecuteSqlResponse,
+      | protos.google.cloud.sql.v1.ISqlInstancesExecuteSqlRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   executeSql(
-      request: protos.google.cloud.sql.v1.ISqlInstancesExecuteSqlRequest,
-      callback: Callback<
-          protos.google.cloud.sql.v1.ISqlInstancesExecuteSqlResponse,
-          protos.google.cloud.sql.v1.ISqlInstancesExecuteSqlRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1.ISqlInstancesExecuteSqlRequest,
+    callback: Callback<
+      protos.google.cloud.sql.v1.ISqlInstancesExecuteSqlResponse,
+      | protos.google.cloud.sql.v1.ISqlInstancesExecuteSqlRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   executeSql(
-      request?: protos.google.cloud.sql.v1.ISqlInstancesExecuteSqlRequest,
-      optionsOrCallback?: CallOptions|Callback<
-          protos.google.cloud.sql.v1.ISqlInstancesExecuteSqlResponse,
-          protos.google.cloud.sql.v1.ISqlInstancesExecuteSqlRequest|null|undefined,
-          {}|null|undefined>,
-      callback?: Callback<
+    request?: protos.google.cloud.sql.v1.ISqlInstancesExecuteSqlRequest,
+    optionsOrCallback?:
+      | CallOptions
+      | Callback<
           protos.google.cloud.sql.v1.ISqlInstancesExecuteSqlResponse,
-          protos.google.cloud.sql.v1.ISqlInstancesExecuteSqlRequest|null|undefined,
-          {}|null|undefined>):
-      Promise<[
-        protos.google.cloud.sql.v1.ISqlInstancesExecuteSqlResponse,
-        protos.google.cloud.sql.v1.ISqlInstancesExecuteSqlRequest|undefined, {}|undefined
-      ]>|void {
+          | protos.google.cloud.sql.v1.ISqlInstancesExecuteSqlRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >,
+    callback?: Callback<
+      protos.google.cloud.sql.v1.ISqlInstancesExecuteSqlResponse,
+      | protos.google.cloud.sql.v1.ISqlInstancesExecuteSqlRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1.ISqlInstancesExecuteSqlResponse,
+      protos.google.cloud.sql.v1.ISqlInstancesExecuteSqlRequest | undefined,
+      {} | undefined,
+    ]
+  > | void {
     request = request || {};
     let options: CallOptions;
     if (typeof optionsOrCallback === 'function' && callback === undefined) {
       callback = optionsOrCallback;
       options = {};
-    }
-    else {
+    } else {
       options = optionsOrCallback as CallOptions;
     }
     options = options || {};
     options.otherArgs = options.otherArgs || {};
     options.otherArgs.headers = options.otherArgs.headers || {};
-    options.otherArgs.headers[
-      'x-goog-request-params'
-    ] = this._gaxModule.routingHeader.fromParams({
-      'project': request.project ?? '',
-      'instance': request.instance ?? '',
+    options.otherArgs.headers['x-goog-request-params'] =
+      this._gaxModule.routingHeader.fromParams({
+        project: request.project ?? '',
+        instance: request.instance ?? '',
+      });
+    this.initialize().catch((err) => {
+      throw err;
     });
-    this.initialize().catch(err => {throw err});
     this._log.info('executeSql request %j', request);
-    const wrappedCallback: Callback<
-        protos.google.cloud.sql.v1.ISqlInstancesExecuteSqlResponse,
-        protos.google.cloud.sql.v1.ISqlInstancesExecuteSqlRequest|null|undefined,
-        {}|null|undefined>|undefined = callback
+    const wrappedCallback:
+      | Callback<
+          protos.google.cloud.sql.v1.ISqlInstancesExecuteSqlResponse,
+          | protos.google.cloud.sql.v1.ISqlInstancesExecuteSqlRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >
+      | undefined = callback
       ? (error, response, options, rawResponse) => {
           this._log.info('executeSql response %j', response);
           callback!(error, response, options, rawResponse); // We verified callback above.
         }
       : undefined;
-    return this.innerApiCalls.executeSql(request, options, wrappedCallback)
-      ?.then(([response, options, rawResponse]: [
-        protos.google.cloud.sql.v1.ISqlInstancesExecuteSqlResponse,
-        protos.google.cloud.sql.v1.ISqlInstancesExecuteSqlRequest|undefined,
-        {}|undefined
-      ]) => {
-        this._log.info('executeSql response %j', response);
-        return [response, options, rawResponse];
-      }).catch((error: any) => {
-        if (error && 'statusDetails' in error && error.statusDetails instanceof Array) {
-          const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type;
-          error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos);
+    return this.innerApiCalls
+      .executeSql(request, options, wrappedCallback)
+      ?.then(
+        ([response, options, rawResponse]: [
+          protos.google.cloud.sql.v1.ISqlInstancesExecuteSqlResponse,
+          protos.google.cloud.sql.v1.ISqlInstancesExecuteSqlRequest | undefined,
+          {} | undefined,
+        ]) => {
+          this._log.info('executeSql response %j', response);
+          return [response, options, rawResponse];
+        },
+      )
+      .catch((error: any) => {
+        if (
+          error &&
+          'statusDetails' in error &&
+          error.statusDetails instanceof Array
+        ) {
+          const protos = this._gaxModule.protobuf.Root.fromJSON(
+            jsonProtos,
+          ) as unknown as gax.protobuf.Type;
+          error.statusDetails = decodeAnyProtosInArray(
+            error.statusDetails,
+            protos,
+          );
         }
         throw error;
       });
   }
-/**
- * Acquire a lease for the setup of SQL Server Reporting Services (SSRS).
- *
- * @param {Object} request
- *   The request object that will be sent.
- * @param {string} request.instance
- *   Required. Cloud SQL instance ID. This doesn't include the project ID. It's
- *   composed of lowercase letters, numbers, and hyphens, and it must start with
- *   a letter. The total length must be 98 characters or less (Example:
- *   instance-id).
- * @param {string} request.project
- *   Required. Project ID of the project that contains the instance (Example:
- *   project-id).
- * @param {google.cloud.sql.v1.InstancesAcquireSsrsLeaseRequest} request.body
- *   Required. The request body.
- * @param {object} [options]
- *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
- * @returns {Promise} - The promise which resolves to an array.
- *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1.SqlInstancesAcquireSsrsLeaseResponse|SqlInstancesAcquireSsrsLeaseResponse}.
- *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
- *   for more details and examples.
- * @example <caption>include:samples/generated/v1/sql_instances_service.acquire_ssrs_lease.js</caption>
- * region_tag:sqladmin_v1_generated_SqlInstancesService_AcquireSsrsLease_async
- */
+  /**
+   * Acquire a lease for the setup of SQL Server Reporting Services (SSRS).
+   *
+   * @param {Object} request
+   *   The request object that will be sent.
+   * @param {string} request.instance
+   *   Required. Cloud SQL instance ID. This doesn't include the project ID. It's
+   *   composed of lowercase letters, numbers, and hyphens, and it must start with
+   *   a letter. The total length must be 98 characters or less (Example:
+   *   instance-id).
+   * @param {string} request.project
+   *   Required. Project ID of the project that contains the instance (Example:
+   *   project-id).
+   * @param {google.cloud.sql.v1.InstancesAcquireSsrsLeaseRequest} request.body
+   *   Required. The request body.
+   * @param {object} [options]
+   *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+   * @returns {Promise} - The promise which resolves to an array.
+   *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1.SqlInstancesAcquireSsrsLeaseResponse|SqlInstancesAcquireSsrsLeaseResponse}.
+   *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
+   *   for more details and examples.
+   * @example <caption>include:samples/generated/v1/sql_instances_service.acquire_ssrs_lease.js</caption>
+   * region_tag:sqladmin_v1_generated_SqlInstancesService_AcquireSsrsLease_async
+   */
   acquireSsrsLease(
-      request?: protos.google.cloud.sql.v1.ISqlInstancesAcquireSsrsLeaseRequest,
-      options?: CallOptions):
-      Promise<[
-        protos.google.cloud.sql.v1.ISqlInstancesAcquireSsrsLeaseResponse,
-        protos.google.cloud.sql.v1.ISqlInstancesAcquireSsrsLeaseRequest|undefined, {}|undefined
-      ]>;
+    request?: protos.google.cloud.sql.v1.ISqlInstancesAcquireSsrsLeaseRequest,
+    options?: CallOptions,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1.ISqlInstancesAcquireSsrsLeaseResponse,
+      (
+        | protos.google.cloud.sql.v1.ISqlInstancesAcquireSsrsLeaseRequest
+        | undefined
+      ),
+      {} | undefined,
+    ]
+  >;
   acquireSsrsLease(
-      request: protos.google.cloud.sql.v1.ISqlInstancesAcquireSsrsLeaseRequest,
-      options: CallOptions,
-      callback: Callback<
-          protos.google.cloud.sql.v1.ISqlInstancesAcquireSsrsLeaseResponse,
-          protos.google.cloud.sql.v1.ISqlInstancesAcquireSsrsLeaseRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1.ISqlInstancesAcquireSsrsLeaseRequest,
+    options: CallOptions,
+    callback: Callback<
+      protos.google.cloud.sql.v1.ISqlInstancesAcquireSsrsLeaseResponse,
+      | protos.google.cloud.sql.v1.ISqlInstancesAcquireSsrsLeaseRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   acquireSsrsLease(
-      request: protos.google.cloud.sql.v1.ISqlInstancesAcquireSsrsLeaseRequest,
-      callback: Callback<
-          protos.google.cloud.sql.v1.ISqlInstancesAcquireSsrsLeaseResponse,
-          protos.google.cloud.sql.v1.ISqlInstancesAcquireSsrsLeaseRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1.ISqlInstancesAcquireSsrsLeaseRequest,
+    callback: Callback<
+      protos.google.cloud.sql.v1.ISqlInstancesAcquireSsrsLeaseResponse,
+      | protos.google.cloud.sql.v1.ISqlInstancesAcquireSsrsLeaseRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   acquireSsrsLease(
-      request?: protos.google.cloud.sql.v1.ISqlInstancesAcquireSsrsLeaseRequest,
-      optionsOrCallback?: CallOptions|Callback<
-          protos.google.cloud.sql.v1.ISqlInstancesAcquireSsrsLeaseResponse,
-          protos.google.cloud.sql.v1.ISqlInstancesAcquireSsrsLeaseRequest|null|undefined,
-          {}|null|undefined>,
-      callback?: Callback<
+    request?: protos.google.cloud.sql.v1.ISqlInstancesAcquireSsrsLeaseRequest,
+    optionsOrCallback?:
+      | CallOptions
+      | Callback<
           protos.google.cloud.sql.v1.ISqlInstancesAcquireSsrsLeaseResponse,
-          protos.google.cloud.sql.v1.ISqlInstancesAcquireSsrsLeaseRequest|null|undefined,
-          {}|null|undefined>):
-      Promise<[
-        protos.google.cloud.sql.v1.ISqlInstancesAcquireSsrsLeaseResponse,
-        protos.google.cloud.sql.v1.ISqlInstancesAcquireSsrsLeaseRequest|undefined, {}|undefined
-      ]>|void {
+          | protos.google.cloud.sql.v1.ISqlInstancesAcquireSsrsLeaseRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >,
+    callback?: Callback<
+      protos.google.cloud.sql.v1.ISqlInstancesAcquireSsrsLeaseResponse,
+      | protos.google.cloud.sql.v1.ISqlInstancesAcquireSsrsLeaseRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1.ISqlInstancesAcquireSsrsLeaseResponse,
+      (
+        | protos.google.cloud.sql.v1.ISqlInstancesAcquireSsrsLeaseRequest
+        | undefined
+      ),
+      {} | undefined,
+    ]
+  > | void {
     request = request || {};
     let options: CallOptions;
     if (typeof optionsOrCallback === 'function' && callback === undefined) {
       callback = optionsOrCallback;
       options = {};
-    }
-    else {
+    } else {
       options = optionsOrCallback as CallOptions;
     }
     options = options || {};
     options.otherArgs = options.otherArgs || {};
     options.otherArgs.headers = options.otherArgs.headers || {};
-    options.otherArgs.headers[
-      'x-goog-request-params'
-    ] = this._gaxModule.routingHeader.fromParams({
-      'project': request.project ?? '',
-      'instance': request.instance ?? '',
+    options.otherArgs.headers['x-goog-request-params'] =
+      this._gaxModule.routingHeader.fromParams({
+        project: request.project ?? '',
+        instance: request.instance ?? '',
+      });
+    this.initialize().catch((err) => {
+      throw err;
     });
-    this.initialize().catch(err => {throw err});
     this._log.info('acquireSsrsLease request %j', request);
-    const wrappedCallback: Callback<
-        protos.google.cloud.sql.v1.ISqlInstancesAcquireSsrsLeaseResponse,
-        protos.google.cloud.sql.v1.ISqlInstancesAcquireSsrsLeaseRequest|null|undefined,
-        {}|null|undefined>|undefined = callback
+    const wrappedCallback:
+      | Callback<
+          protos.google.cloud.sql.v1.ISqlInstancesAcquireSsrsLeaseResponse,
+          | protos.google.cloud.sql.v1.ISqlInstancesAcquireSsrsLeaseRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >
+      | undefined = callback
       ? (error, response, options, rawResponse) => {
           this._log.info('acquireSsrsLease response %j', response);
           callback!(error, response, options, rawResponse); // We verified callback above.
         }
       : undefined;
-    return this.innerApiCalls.acquireSsrsLease(request, options, wrappedCallback)
-      ?.then(([response, options, rawResponse]: [
-        protos.google.cloud.sql.v1.ISqlInstancesAcquireSsrsLeaseResponse,
-        protos.google.cloud.sql.v1.ISqlInstancesAcquireSsrsLeaseRequest|undefined,
-        {}|undefined
-      ]) => {
-        this._log.info('acquireSsrsLease response %j', response);
-        return [response, options, rawResponse];
-      }).catch((error: any) => {
-        if (error && 'statusDetails' in error && error.statusDetails instanceof Array) {
-          const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type;
-          error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos);
+    return this.innerApiCalls
+      .acquireSsrsLease(request, options, wrappedCallback)
+      ?.then(
+        ([response, options, rawResponse]: [
+          protos.google.cloud.sql.v1.ISqlInstancesAcquireSsrsLeaseResponse,
+          (
+            | protos.google.cloud.sql.v1.ISqlInstancesAcquireSsrsLeaseRequest
+            | undefined
+          ),
+          {} | undefined,
+        ]) => {
+          this._log.info('acquireSsrsLease response %j', response);
+          return [response, options, rawResponse];
+        },
+      )
+      .catch((error: any) => {
+        if (
+          error &&
+          'statusDetails' in error &&
+          error.statusDetails instanceof Array
+        ) {
+          const protos = this._gaxModule.protobuf.Root.fromJSON(
+            jsonProtos,
+          ) as unknown as gax.protobuf.Type;
+          error.statusDetails = decodeAnyProtosInArray(
+            error.statusDetails,
+            protos,
+          );
         }
         throw error;
       });
   }
-/**
- * Release a lease for the setup of SQL Server Reporting Services (SSRS).
- *
- * @param {Object} request
- *   The request object that will be sent.
- * @param {string} request.instance
- *   Required. The Cloud SQL instance ID. This doesn't include the project ID.
- *   The instance ID contains lowercase letters, numbers, and hyphens, and it
- *   must start with a letter. This ID can have a maximum length of 98
- *   characters.
- * @param {string} request.project
- *   Required. The project ID that contains the instance.
- * @param {object} [options]
- *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
- * @returns {Promise} - The promise which resolves to an array.
- *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1.SqlInstancesReleaseSsrsLeaseResponse|SqlInstancesReleaseSsrsLeaseResponse}.
- *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
- *   for more details and examples.
- * @example <caption>include:samples/generated/v1/sql_instances_service.release_ssrs_lease.js</caption>
- * region_tag:sqladmin_v1_generated_SqlInstancesService_ReleaseSsrsLease_async
- */
+  /**
+   * Release a lease for the setup of SQL Server Reporting Services (SSRS).
+   *
+   * @param {Object} request
+   *   The request object that will be sent.
+   * @param {string} request.instance
+   *   Required. The Cloud SQL instance ID. This doesn't include the project ID.
+   *   The instance ID contains lowercase letters, numbers, and hyphens, and it
+   *   must start with a letter. This ID can have a maximum length of 98
+   *   characters.
+   * @param {string} request.project
+   *   Required. The project ID that contains the instance.
+   * @param {object} [options]
+   *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+   * @returns {Promise} - The promise which resolves to an array.
+   *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1.SqlInstancesReleaseSsrsLeaseResponse|SqlInstancesReleaseSsrsLeaseResponse}.
+   *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
+   *   for more details and examples.
+   * @example <caption>include:samples/generated/v1/sql_instances_service.release_ssrs_lease.js</caption>
+   * region_tag:sqladmin_v1_generated_SqlInstancesService_ReleaseSsrsLease_async
+   */
   releaseSsrsLease(
-      request?: protos.google.cloud.sql.v1.ISqlInstancesReleaseSsrsLeaseRequest,
-      options?: CallOptions):
-      Promise<[
-        protos.google.cloud.sql.v1.ISqlInstancesReleaseSsrsLeaseResponse,
-        protos.google.cloud.sql.v1.ISqlInstancesReleaseSsrsLeaseRequest|undefined, {}|undefined
-      ]>;
+    request?: protos.google.cloud.sql.v1.ISqlInstancesReleaseSsrsLeaseRequest,
+    options?: CallOptions,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1.ISqlInstancesReleaseSsrsLeaseResponse,
+      (
+        | protos.google.cloud.sql.v1.ISqlInstancesReleaseSsrsLeaseRequest
+        | undefined
+      ),
+      {} | undefined,
+    ]
+  >;
   releaseSsrsLease(
-      request: protos.google.cloud.sql.v1.ISqlInstancesReleaseSsrsLeaseRequest,
-      options: CallOptions,
-      callback: Callback<
-          protos.google.cloud.sql.v1.ISqlInstancesReleaseSsrsLeaseResponse,
-          protos.google.cloud.sql.v1.ISqlInstancesReleaseSsrsLeaseRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1.ISqlInstancesReleaseSsrsLeaseRequest,
+    options: CallOptions,
+    callback: Callback<
+      protos.google.cloud.sql.v1.ISqlInstancesReleaseSsrsLeaseResponse,
+      | protos.google.cloud.sql.v1.ISqlInstancesReleaseSsrsLeaseRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   releaseSsrsLease(
-      request: protos.google.cloud.sql.v1.ISqlInstancesReleaseSsrsLeaseRequest,
-      callback: Callback<
-          protos.google.cloud.sql.v1.ISqlInstancesReleaseSsrsLeaseResponse,
-          protos.google.cloud.sql.v1.ISqlInstancesReleaseSsrsLeaseRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1.ISqlInstancesReleaseSsrsLeaseRequest,
+    callback: Callback<
+      protos.google.cloud.sql.v1.ISqlInstancesReleaseSsrsLeaseResponse,
+      | protos.google.cloud.sql.v1.ISqlInstancesReleaseSsrsLeaseRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   releaseSsrsLease(
-      request?: protos.google.cloud.sql.v1.ISqlInstancesReleaseSsrsLeaseRequest,
-      optionsOrCallback?: CallOptions|Callback<
-          protos.google.cloud.sql.v1.ISqlInstancesReleaseSsrsLeaseResponse,
-          protos.google.cloud.sql.v1.ISqlInstancesReleaseSsrsLeaseRequest|null|undefined,
-          {}|null|undefined>,
-      callback?: Callback<
+    request?: protos.google.cloud.sql.v1.ISqlInstancesReleaseSsrsLeaseRequest,
+    optionsOrCallback?:
+      | CallOptions
+      | Callback<
           protos.google.cloud.sql.v1.ISqlInstancesReleaseSsrsLeaseResponse,
-          protos.google.cloud.sql.v1.ISqlInstancesReleaseSsrsLeaseRequest|null|undefined,
-          {}|null|undefined>):
-      Promise<[
-        protos.google.cloud.sql.v1.ISqlInstancesReleaseSsrsLeaseResponse,
-        protos.google.cloud.sql.v1.ISqlInstancesReleaseSsrsLeaseRequest|undefined, {}|undefined
-      ]>|void {
+          | protos.google.cloud.sql.v1.ISqlInstancesReleaseSsrsLeaseRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >,
+    callback?: Callback<
+      protos.google.cloud.sql.v1.ISqlInstancesReleaseSsrsLeaseResponse,
+      | protos.google.cloud.sql.v1.ISqlInstancesReleaseSsrsLeaseRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1.ISqlInstancesReleaseSsrsLeaseResponse,
+      (
+        | protos.google.cloud.sql.v1.ISqlInstancesReleaseSsrsLeaseRequest
+        | undefined
+      ),
+      {} | undefined,
+    ]
+  > | void {
     request = request || {};
     let options: CallOptions;
     if (typeof optionsOrCallback === 'function' && callback === undefined) {
       callback = optionsOrCallback;
       options = {};
-    }
-    else {
+    } else {
       options = optionsOrCallback as CallOptions;
     }
     options = options || {};
     options.otherArgs = options.otherArgs || {};
     options.otherArgs.headers = options.otherArgs.headers || {};
-    options.otherArgs.headers[
-      'x-goog-request-params'
-    ] = this._gaxModule.routingHeader.fromParams({
-      'project': request.project ?? '',
-      'instance': request.instance ?? '',
+    options.otherArgs.headers['x-goog-request-params'] =
+      this._gaxModule.routingHeader.fromParams({
+        project: request.project ?? '',
+        instance: request.instance ?? '',
+      });
+    this.initialize().catch((err) => {
+      throw err;
     });
-    this.initialize().catch(err => {throw err});
     this._log.info('releaseSsrsLease request %j', request);
-    const wrappedCallback: Callback<
-        protos.google.cloud.sql.v1.ISqlInstancesReleaseSsrsLeaseResponse,
-        protos.google.cloud.sql.v1.ISqlInstancesReleaseSsrsLeaseRequest|null|undefined,
-        {}|null|undefined>|undefined = callback
+    const wrappedCallback:
+      | Callback<
+          protos.google.cloud.sql.v1.ISqlInstancesReleaseSsrsLeaseResponse,
+          | protos.google.cloud.sql.v1.ISqlInstancesReleaseSsrsLeaseRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >
+      | undefined = callback
       ? (error, response, options, rawResponse) => {
           this._log.info('releaseSsrsLease response %j', response);
           callback!(error, response, options, rawResponse); // We verified callback above.
         }
       : undefined;
-    return this.innerApiCalls.releaseSsrsLease(request, options, wrappedCallback)
-      ?.then(([response, options, rawResponse]: [
-        protos.google.cloud.sql.v1.ISqlInstancesReleaseSsrsLeaseResponse,
-        protos.google.cloud.sql.v1.ISqlInstancesReleaseSsrsLeaseRequest|undefined,
-        {}|undefined
-      ]) => {
-        this._log.info('releaseSsrsLease response %j', response);
-        return [response, options, rawResponse];
-      }).catch((error: any) => {
-        if (error && 'statusDetails' in error && error.statusDetails instanceof Array) {
-          const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type;
-          error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos);
+    return this.innerApiCalls
+      .releaseSsrsLease(request, options, wrappedCallback)
+      ?.then(
+        ([response, options, rawResponse]: [
+          protos.google.cloud.sql.v1.ISqlInstancesReleaseSsrsLeaseResponse,
+          (
+            | protos.google.cloud.sql.v1.ISqlInstancesReleaseSsrsLeaseRequest
+            | undefined
+          ),
+          {} | undefined,
+        ]) => {
+          this._log.info('releaseSsrsLease response %j', response);
+          return [response, options, rawResponse];
+        },
+      )
+      .catch((error: any) => {
+        if (
+          error &&
+          'statusDetails' in error &&
+          error.statusDetails instanceof Array
+        ) {
+          const protos = this._gaxModule.protobuf.Root.fromJSON(
+            jsonProtos,
+          ) as unknown as gax.protobuf.Type;
+          error.statusDetails = decodeAnyProtosInArray(
+            error.statusDetails,
+            protos,
+          );
         }
         throw error;
       });
   }
-/**
- * Execute MVU Pre-checks
- *
- * @param {Object} request
- *   The request object that will be sent.
- * @param {string} request.instance
- *   Required. Cloud SQL instance ID. This does not include the project ID.
- * @param {string} request.project
- *   Required. Project ID of the project that contains the instance.
- * @param {google.cloud.sql.v1.InstancesPreCheckMajorVersionUpgradeRequest} request.body
- *   Required. The context for request to perform the pre-check major version
- *   upgrade operation.
- * @param {object} [options]
- *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
- * @returns {Promise} - The promise which resolves to an array.
- *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1.Operation|Operation}.
- *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
- *   for more details and examples.
- * @example <caption>include:samples/generated/v1/sql_instances_service.pre_check_major_version_upgrade.js</caption>
- * region_tag:sqladmin_v1_generated_SqlInstancesService_PreCheckMajorVersionUpgrade_async
- */
+  /**
+   * Execute MVU Pre-checks
+   *
+   * @param {Object} request
+   *   The request object that will be sent.
+   * @param {string} request.instance
+   *   Required. Cloud SQL instance ID. This does not include the project ID.
+   * @param {string} request.project
+   *   Required. Project ID of the project that contains the instance.
+   * @param {google.cloud.sql.v1.InstancesPreCheckMajorVersionUpgradeRequest} request.body
+   *   Required. The context for request to perform the pre-check major version
+   *   upgrade operation.
+   * @param {object} [options]
+   *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+   * @returns {Promise} - The promise which resolves to an array.
+   *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1.Operation|Operation}.
+   *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
+   *   for more details and examples.
+   * @example <caption>include:samples/generated/v1/sql_instances_service.pre_check_major_version_upgrade.js</caption>
+   * region_tag:sqladmin_v1_generated_SqlInstancesService_PreCheckMajorVersionUpgrade_async
+   */
   preCheckMajorVersionUpgrade(
-      request?: protos.google.cloud.sql.v1.ISqlInstancesPreCheckMajorVersionUpgradeRequest,
-      options?: CallOptions):
-      Promise<[
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlInstancesPreCheckMajorVersionUpgradeRequest|undefined, {}|undefined
-      ]>;
+    request?: protos.google.cloud.sql.v1.ISqlInstancesPreCheckMajorVersionUpgradeRequest,
+    options?: CallOptions,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1.IOperation,
+      (
+        | protos.google.cloud.sql.v1.ISqlInstancesPreCheckMajorVersionUpgradeRequest
+        | undefined
+      ),
+      {} | undefined,
+    ]
+  >;
   preCheckMajorVersionUpgrade(
-      request: protos.google.cloud.sql.v1.ISqlInstancesPreCheckMajorVersionUpgradeRequest,
-      options: CallOptions,
-      callback: Callback<
-          protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlInstancesPreCheckMajorVersionUpgradeRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1.ISqlInstancesPreCheckMajorVersionUpgradeRequest,
+    options: CallOptions,
+    callback: Callback<
+      protos.google.cloud.sql.v1.IOperation,
+      | protos.google.cloud.sql.v1.ISqlInstancesPreCheckMajorVersionUpgradeRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   preCheckMajorVersionUpgrade(
-      request: protos.google.cloud.sql.v1.ISqlInstancesPreCheckMajorVersionUpgradeRequest,
-      callback: Callback<
-          protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlInstancesPreCheckMajorVersionUpgradeRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1.ISqlInstancesPreCheckMajorVersionUpgradeRequest,
+    callback: Callback<
+      protos.google.cloud.sql.v1.IOperation,
+      | protos.google.cloud.sql.v1.ISqlInstancesPreCheckMajorVersionUpgradeRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   preCheckMajorVersionUpgrade(
-      request?: protos.google.cloud.sql.v1.ISqlInstancesPreCheckMajorVersionUpgradeRequest,
-      optionsOrCallback?: CallOptions|Callback<
-          protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlInstancesPreCheckMajorVersionUpgradeRequest|null|undefined,
-          {}|null|undefined>,
-      callback?: Callback<
+    request?: protos.google.cloud.sql.v1.ISqlInstancesPreCheckMajorVersionUpgradeRequest,
+    optionsOrCallback?:
+      | CallOptions
+      | Callback<
           protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlInstancesPreCheckMajorVersionUpgradeRequest|null|undefined,
-          {}|null|undefined>):
-      Promise<[
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlInstancesPreCheckMajorVersionUpgradeRequest|undefined, {}|undefined
-      ]>|void {
+          | protos.google.cloud.sql.v1.ISqlInstancesPreCheckMajorVersionUpgradeRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >,
+    callback?: Callback<
+      protos.google.cloud.sql.v1.IOperation,
+      | protos.google.cloud.sql.v1.ISqlInstancesPreCheckMajorVersionUpgradeRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1.IOperation,
+      (
+        | protos.google.cloud.sql.v1.ISqlInstancesPreCheckMajorVersionUpgradeRequest
+        | undefined
+      ),
+      {} | undefined,
+    ]
+  > | void {
     request = request || {};
     let options: CallOptions;
     if (typeof optionsOrCallback === 'function' && callback === undefined) {
       callback = optionsOrCallback;
       options = {};
-    }
-    else {
+    } else {
       options = optionsOrCallback as CallOptions;
     }
     options = options || {};
     options.otherArgs = options.otherArgs || {};
     options.otherArgs.headers = options.otherArgs.headers || {};
-    options.otherArgs.headers[
-      'x-goog-request-params'
-    ] = this._gaxModule.routingHeader.fromParams({
-      'project': request.project ?? '',
-      'instance': request.instance ?? '',
+    options.otherArgs.headers['x-goog-request-params'] =
+      this._gaxModule.routingHeader.fromParams({
+        project: request.project ?? '',
+        instance: request.instance ?? '',
+      });
+    this.initialize().catch((err) => {
+      throw err;
     });
-    this.initialize().catch(err => {throw err});
     this._log.info('preCheckMajorVersionUpgrade request %j', request);
-    const wrappedCallback: Callback<
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlInstancesPreCheckMajorVersionUpgradeRequest|null|undefined,
-        {}|null|undefined>|undefined = callback
+    const wrappedCallback:
+      | Callback<
+          protos.google.cloud.sql.v1.IOperation,
+          | protos.google.cloud.sql.v1.ISqlInstancesPreCheckMajorVersionUpgradeRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >
+      | undefined = callback
       ? (error, response, options, rawResponse) => {
           this._log.info('preCheckMajorVersionUpgrade response %j', response);
           callback!(error, response, options, rawResponse); // We verified callback above.
         }
       : undefined;
-    return this.innerApiCalls.preCheckMajorVersionUpgrade(request, options, wrappedCallback)
-      ?.then(([response, options, rawResponse]: [
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlInstancesPreCheckMajorVersionUpgradeRequest|undefined,
-        {}|undefined
-      ]) => {
-        this._log.info('preCheckMajorVersionUpgrade response %j', response);
-        return [response, options, rawResponse];
-      }).catch((error: any) => {
-        if (error && 'statusDetails' in error && error.statusDetails instanceof Array) {
-          const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type;
-          error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos);
+    return this.innerApiCalls
+      .preCheckMajorVersionUpgrade(request, options, wrappedCallback)
+      ?.then(
+        ([response, options, rawResponse]: [
+          protos.google.cloud.sql.v1.IOperation,
+          (
+            | protos.google.cloud.sql.v1.ISqlInstancesPreCheckMajorVersionUpgradeRequest
+            | undefined
+          ),
+          {} | undefined,
+        ]) => {
+          this._log.info('preCheckMajorVersionUpgrade response %j', response);
+          return [response, options, rawResponse];
+        },
+      )
+      .catch((error: any) => {
+        if (
+          error &&
+          'statusDetails' in error &&
+          error.statusDetails instanceof Array
+        ) {
+          const protos = this._gaxModule.protobuf.Root.fromJSON(
+            jsonProtos,
+          ) as unknown as gax.protobuf.Type;
+          error.statusDetails = decodeAnyProtosInArray(
+            error.statusDetails,
+            protos,
+          );
         }
         throw error;
       });
   }
-/**
- * Point in time restore for an instance managed by Google Cloud Backup and
- * Disaster Recovery.
- *
- * @param {Object} request
- *   The request object that will be sent.
- * @param {string} request.parent
- *   Required. The parent resource where you created this instance.
- *   Format: projects/{project}
- * @param {google.cloud.sql.v1.PointInTimeRestoreContext} request.context
- *   Required. The context for request to perform a PITR on a Google Cloud
- *   Backup and Disaster Recovery managed instance.
- * @param {object} [options]
- *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
- * @returns {Promise} - The promise which resolves to an array.
- *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1.Operation|Operation}.
- *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
- *   for more details and examples.
- * @example <caption>include:samples/generated/v1/sql_instances_service.point_in_time_restore.js</caption>
- * region_tag:sqladmin_v1_generated_SqlInstancesService_PointInTimeRestore_async
- */
+  /**
+   * Point in time restore for an instance managed by Google Cloud Backup and
+   * Disaster Recovery.
+   *
+   * @param {Object} request
+   *   The request object that will be sent.
+   * @param {string} request.parent
+   *   Required. The parent resource where you created this instance.
+   *   Format: projects/{project}
+   * @param {google.cloud.sql.v1.PointInTimeRestoreContext} request.context
+   *   Required. The context for request to perform a PITR on a Google Cloud
+   *   Backup and Disaster Recovery managed instance.
+   * @param {object} [options]
+   *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+   * @returns {Promise} - The promise which resolves to an array.
+   *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1.Operation|Operation}.
+   *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
+   *   for more details and examples.
+   * @example <caption>include:samples/generated/v1/sql_instances_service.point_in_time_restore.js</caption>
+   * region_tag:sqladmin_v1_generated_SqlInstancesService_PointInTimeRestore_async
+   */
   pointInTimeRestore(
-      request?: protos.google.cloud.sql.v1.ISqlInstancesPointInTimeRestoreRequest,
-      options?: CallOptions):
-      Promise<[
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlInstancesPointInTimeRestoreRequest|undefined, {}|undefined
-      ]>;
+    request?: protos.google.cloud.sql.v1.ISqlInstancesPointInTimeRestoreRequest,
+    options?: CallOptions,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1.IOperation,
+      (
+        | protos.google.cloud.sql.v1.ISqlInstancesPointInTimeRestoreRequest
+        | undefined
+      ),
+      {} | undefined,
+    ]
+  >;
   pointInTimeRestore(
-      request: protos.google.cloud.sql.v1.ISqlInstancesPointInTimeRestoreRequest,
-      options: CallOptions,
-      callback: Callback<
-          protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlInstancesPointInTimeRestoreRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1.ISqlInstancesPointInTimeRestoreRequest,
+    options: CallOptions,
+    callback: Callback<
+      protos.google.cloud.sql.v1.IOperation,
+      | protos.google.cloud.sql.v1.ISqlInstancesPointInTimeRestoreRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   pointInTimeRestore(
-      request: protos.google.cloud.sql.v1.ISqlInstancesPointInTimeRestoreRequest,
-      callback: Callback<
-          protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlInstancesPointInTimeRestoreRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1.ISqlInstancesPointInTimeRestoreRequest,
+    callback: Callback<
+      protos.google.cloud.sql.v1.IOperation,
+      | protos.google.cloud.sql.v1.ISqlInstancesPointInTimeRestoreRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   pointInTimeRestore(
-      request?: protos.google.cloud.sql.v1.ISqlInstancesPointInTimeRestoreRequest,
-      optionsOrCallback?: CallOptions|Callback<
-          protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlInstancesPointInTimeRestoreRequest|null|undefined,
-          {}|null|undefined>,
-      callback?: Callback<
+    request?: protos.google.cloud.sql.v1.ISqlInstancesPointInTimeRestoreRequest,
+    optionsOrCallback?:
+      | CallOptions
+      | Callback<
           protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlInstancesPointInTimeRestoreRequest|null|undefined,
-          {}|null|undefined>):
-      Promise<[
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlInstancesPointInTimeRestoreRequest|undefined, {}|undefined
-      ]>|void {
+          | protos.google.cloud.sql.v1.ISqlInstancesPointInTimeRestoreRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >,
+    callback?: Callback<
+      protos.google.cloud.sql.v1.IOperation,
+      | protos.google.cloud.sql.v1.ISqlInstancesPointInTimeRestoreRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1.IOperation,
+      (
+        | protos.google.cloud.sql.v1.ISqlInstancesPointInTimeRestoreRequest
+        | undefined
+      ),
+      {} | undefined,
+    ]
+  > | void {
     request = request || {};
     let options: CallOptions;
     if (typeof optionsOrCallback === 'function' && callback === undefined) {
       callback = optionsOrCallback;
       options = {};
-    }
-    else {
+    } else {
       options = optionsOrCallback as CallOptions;
     }
     options = options || {};
     options.otherArgs = options.otherArgs || {};
     options.otherArgs.headers = options.otherArgs.headers || {};
-    options.otherArgs.headers[
-      'x-goog-request-params'
-    ] = this._gaxModule.routingHeader.fromParams({
-      'parent': request.parent ?? '',
+    options.otherArgs.headers['x-goog-request-params'] =
+      this._gaxModule.routingHeader.fromParams({
+        parent: request.parent ?? '',
+      });
+    this.initialize().catch((err) => {
+      throw err;
     });
-    this.initialize().catch(err => {throw err});
     this._log.info('pointInTimeRestore request %j', request);
-    const wrappedCallback: Callback<
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlInstancesPointInTimeRestoreRequest|null|undefined,
-        {}|null|undefined>|undefined = callback
+    const wrappedCallback:
+      | Callback<
+          protos.google.cloud.sql.v1.IOperation,
+          | protos.google.cloud.sql.v1.ISqlInstancesPointInTimeRestoreRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >
+      | undefined = callback
       ? (error, response, options, rawResponse) => {
           this._log.info('pointInTimeRestore response %j', response);
           callback!(error, response, options, rawResponse); // We verified callback above.
         }
       : undefined;
-    return this.innerApiCalls.pointInTimeRestore(request, options, wrappedCallback)
-      ?.then(([response, options, rawResponse]: [
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlInstancesPointInTimeRestoreRequest|undefined,
-        {}|undefined
-      ]) => {
-        this._log.info('pointInTimeRestore response %j', response);
-        return [response, options, rawResponse];
-      }).catch((error: any) => {
-        if (error && 'statusDetails' in error && error.statusDetails instanceof Array) {
-          const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type;
-          error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos);
+    return this.innerApiCalls
+      .pointInTimeRestore(request, options, wrappedCallback)
+      ?.then(
+        ([response, options, rawResponse]: [
+          protos.google.cloud.sql.v1.IOperation,
+          (
+            | protos.google.cloud.sql.v1.ISqlInstancesPointInTimeRestoreRequest
+            | undefined
+          ),
+          {} | undefined,
+        ]) => {
+          this._log.info('pointInTimeRestore response %j', response);
+          return [response, options, rawResponse];
+        },
+      )
+      .catch((error: any) => {
+        if (
+          error &&
+          'statusDetails' in error &&
+          error.statusDetails instanceof Array
+        ) {
+          const protos = this._gaxModule.protobuf.Root.fromJSON(
+            jsonProtos,
+          ) as unknown as gax.protobuf.Type;
+          error.statusDetails = decodeAnyProtosInArray(
+            error.statusDetails,
+            protos,
+          );
         }
         throw error;
       });
   }
 
-/**
+  /**
    * Gets information about a location.
    *
    * @param {Object} request
@@ -4712,12 +6642,11 @@ export class SqlInstancesServiceClient {
       | null
       | undefined,
       {} | null | undefined
-    >
+    >,
   ): Promise<LocationProtos.google.cloud.location.ILocation> {
     return this.locationsClient.getLocation(request, options, callback);
   }
-
-/**
+  /**
    * Lists information about the supported locations for this service. Returns an iterable object.
    *
    * `for`-`await`-`of` syntax is used with the iterable to get response elements on-demand.
@@ -4750,7 +6679,7 @@ export class SqlInstancesServiceClient {
    */
   listLocationsAsync(
     request: LocationProtos.google.cloud.location.IListLocationsRequest,
-    options?: CallOptions
+    options?: CallOptions,
   ): AsyncIterable<LocationProtos.google.cloud.location.ILocation> {
     return this.locationsClient.listLocationsAsync(request, options);
   }
@@ -4769,7 +6698,13 @@ export class SqlInstancesServiceClient {
    * @param {string} backup
    * @returns {string} Resource name string.
    */
-  backupPath(project:string,location:string,backupvault:string,datasource:string,backup:string) {
+  backupPath(
+    project: string,
+    location: string,
+    backupvault: string,
+    datasource: string,
+    backup: string,
+  ) {
     return this.pathTemplates.backupPathTemplate.render({
       project: project,
       location: location,
@@ -4841,7 +6776,7 @@ export class SqlInstancesServiceClient {
    * @param {string} network
    * @returns {string} Resource name string.
    */
-  networkPath(project:string,network:string) {
+  networkPath(project: string, network: string) {
     return this.pathTemplates.networkPathTemplate.render({
       project: project,
       network: network,
@@ -4878,13 +6813,15 @@ export class SqlInstancesServiceClient {
    */
   close(): Promise<void> {
     if (this.sqlInstancesServiceStub && !this._terminated) {
-      return this.sqlInstancesServiceStub.then(stub => {
+      return this.sqlInstancesServiceStub.then((stub) => {
         this._log.info('ending gRPC channel');
         this._terminated = true;
         stub.close();
-        this.locationsClient.close().catch(err => {throw err});
+        this.locationsClient.close().catch((err) => {
+          throw err;
+        });
       });
     }
     return Promise.resolve();
   }
-}
\ No newline at end of file
+}
diff --git a/packages/google-cloud-sql/src/v1/sql_operations_service_client.ts b/packages/google-cloud-sql/src/v1/sql_operations_service_client.ts
index d027e27c654b..4d9599d37c13 100644
--- a/packages/google-cloud-sql/src/v1/sql_operations_service_client.ts
+++ b/packages/google-cloud-sql/src/v1/sql_operations_service_client.ts
@@ -18,11 +18,18 @@
 
 /* global window */
 import type * as gax from 'google-gax';
-import type {Callback, CallOptions, Descriptors, ClientOptions, LocationsClient, LocationProtos} from 'google-gax';
+import type {
+  Callback,
+  CallOptions,
+  Descriptors,
+  ClientOptions,
+  LocationsClient,
+  LocationProtos,
+} from 'google-gax';
 
 import * as protos from '../../protos/protos';
 import jsonProtos = require('../../protos/protos.json');
-import {loggingUtils as logging, decodeAnyProtosInArray} from 'google-gax';
+import { loggingUtils as logging, decodeAnyProtosInArray } from 'google-gax';
 
 /**
  * Client JSON configuration object, loaded from
@@ -44,7 +51,7 @@ export class SqlOperationsServiceClient {
   private _gaxModule: typeof gax | typeof gax.fallback;
   private _gaxGrpc: gax.GrpcClient | gax.fallback.GrpcClient;
   private _protos: {};
-  private _defaults: {[method: string]: gax.CallSettings};
+  private _defaults: { [method: string]: gax.CallSettings };
   private _universeDomain: string;
   private _servicePath: string;
   private _log = logging.log('sql');
@@ -57,10 +64,10 @@ export class SqlOperationsServiceClient {
     batching: {},
   };
   warn: (code: string, message: string, warnType?: string) => void;
-  innerApiCalls: {[name: string]: Function};
+  innerApiCalls: { [name: string]: Function };
   locationsClient: LocationsClient;
-  pathTemplates: {[name: string]: gax.PathTemplate};
-  sqlOperationsServiceStub?: Promise<{[name: string]: Function}>;
+  pathTemplates: { [name: string]: gax.PathTemplate };
+  sqlOperationsServiceStub?: Promise<{ [name: string]: Function }>;
 
   /**
    * Construct an instance of SqlOperationsServiceClient.
@@ -101,21 +108,42 @@ export class SqlOperationsServiceClient {
    *     const client = new SqlOperationsServiceClient({fallback: true}, gax);
    *     ```
    */
-  constructor(opts?: ClientOptions, gaxInstance?: typeof gax | typeof gax.fallback) {
+  constructor(
+    opts?: ClientOptions,
+    gaxInstance?: typeof gax | typeof gax.fallback,
+  ) {
     // Ensure that options include all the required fields.
     const staticMembers = this.constructor as typeof SqlOperationsServiceClient;
-    if (opts?.universe_domain && opts?.universeDomain && opts?.universe_domain !== opts?.universeDomain) {
-      throw new Error('Please set either universe_domain or universeDomain, but not both.');
+    if (
+      opts?.universe_domain &&
+      opts?.universeDomain &&
+      opts?.universe_domain !== opts?.universeDomain
+    ) {
+      throw new Error(
+        'Please set either universe_domain or universeDomain, but not both.',
+      );
     }
-    const universeDomainEnvVar = (typeof process === 'object' && typeof process.env === 'object') ? process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] : undefined;
-    this._universeDomain = opts?.universeDomain ?? opts?.universe_domain ?? universeDomainEnvVar ?? 'googleapis.com';
+    const universeDomainEnvVar =
+      typeof process === 'object' && typeof process.env === 'object'
+        ? process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN']
+        : undefined;
+    this._universeDomain =
+      opts?.universeDomain ??
+      opts?.universe_domain ??
+      universeDomainEnvVar ??
+      'googleapis.com';
     this._servicePath = 'sqladmin.' + this._universeDomain;
-    const servicePath = opts?.servicePath || opts?.apiEndpoint || this._servicePath;
-    this._providedCustomServicePath = !!(opts?.servicePath || opts?.apiEndpoint);
+    const servicePath =
+      opts?.servicePath || opts?.apiEndpoint || this._servicePath;
+    this._providedCustomServicePath = !!(
+      opts?.servicePath || opts?.apiEndpoint
+    );
     const port = opts?.port || staticMembers.port;
     const clientConfig = opts?.clientConfig ?? {};
-    const fallback = opts?.fallback ?? (typeof window !== 'undefined' && typeof window?.fetch === 'function');
-    opts = Object.assign({servicePath, port, clientConfig, fallback}, opts);
+    const fallback =
+      opts?.fallback ??
+      (typeof window !== 'undefined' && typeof window?.fetch === 'function');
+    opts = Object.assign({ servicePath, port, clientConfig, fallback }, opts);
 
     // Request numeric enum values if REST transport is used.
     opts.numericEnums = true;
@@ -140,7 +168,7 @@ export class SqlOperationsServiceClient {
     this._opts = opts;
 
     // Save the auth object to the client, for use by other methods.
-    this.auth = (this._gaxGrpc.auth as gax.GoogleAuth);
+    this.auth = this._gaxGrpc.auth as gax.GoogleAuth;
 
     // Set useJWTAccessWithScope on the auth object.
     this.auth.useJWTAccessWithScope = true;
@@ -154,15 +182,11 @@ export class SqlOperationsServiceClient {
     }
     this.locationsClient = new this._gaxModule.LocationsClient(
       this._gaxGrpc,
-      opts
+      opts,
     );
-  
 
     // Determine the client header string.
-    const clientHeader = [
-      `gax/${this._gaxModule.version}`,
-      `gapic/${version}`,
-    ];
+    const clientHeader = [`gax/${this._gaxModule.version}`, `gapic/${version}`];
     if (typeof process === 'object' && 'versions' in process) {
       clientHeader.push(`gl-node/${process.versions.node}`);
     } else {
@@ -184,14 +208,17 @@ export class SqlOperationsServiceClient {
     // Create useful helper objects for these.
     this.pathTemplates = {
       backupPathTemplate: new this._gaxModule.PathTemplate(
-        'projects/{project}/backups/{backup}'
+        'projects/{project}/backups/{backup}',
       ),
     };
 
     // Put together the default options sent with requests.
     this._defaults = this._gaxGrpc.constructSettings(
-        'google.cloud.sql.v1.SqlOperationsService', gapicConfig as gax.ClientConfig,
-        opts.clientConfig || {}, {'x-goog-api-client': clientHeader.join(' ')});
+      'google.cloud.sql.v1.SqlOperationsService',
+      gapicConfig as gax.ClientConfig,
+      opts.clientConfig || {},
+      { 'x-goog-api-client': clientHeader.join(' ') },
+    );
 
     // Set up a dictionary of "inner API calls"; the core implementation
     // of calling the API is handled in `google-gax`, with this code
@@ -222,36 +249,40 @@ export class SqlOperationsServiceClient {
     // Put together the "service stub" for
     // google.cloud.sql.v1.SqlOperationsService.
     this.sqlOperationsServiceStub = this._gaxGrpc.createStub(
-        this._opts.fallback ?
-          (this._protos as protobuf.Root).lookupService('google.cloud.sql.v1.SqlOperationsService') :
-          // eslint-disable-next-line @typescript-eslint/no-explicit-any
+      this._opts.fallback
+        ? (this._protos as protobuf.Root).lookupService(
+            'google.cloud.sql.v1.SqlOperationsService',
+          )
+        : // eslint-disable-next-line @typescript-eslint/no-explicit-any
           (this._protos as any).google.cloud.sql.v1.SqlOperationsService,
-        this._opts, this._providedCustomServicePath) as Promise<{[method: string]: Function}>;
+      this._opts,
+      this._providedCustomServicePath,
+    ) as Promise<{ [method: string]: Function }>;
 
     // Iterate over each of the methods that the service provides
     // and create an API call method for each.
-    const sqlOperationsServiceStubMethods =
-        ['get', 'list', 'cancel'];
+    const sqlOperationsServiceStubMethods = ['get', 'list', 'cancel'];
     for (const methodName of sqlOperationsServiceStubMethods) {
       const callPromise = this.sqlOperationsServiceStub.then(
-        stub => (...args: Array<{}>) => {
-          if (this._terminated) {
-            return Promise.reject('The client has already been closed.');
-          }
-          const func = stub[methodName];
-          return func.apply(stub, args);
-        },
-        (err: Error|null|undefined) => () => {
+        (stub) =>
+          (...args: Array<{}>) => {
+            if (this._terminated) {
+              return Promise.reject('The client has already been closed.');
+            }
+            const func = stub[methodName];
+            return func.apply(stub, args);
+          },
+        (err: Error | null | undefined) => () => {
           throw err;
-        });
+        },
+      );
 
-      const descriptor =
-        undefined;
+      const descriptor = undefined;
       const apiCall = this._gaxModule.createApiCall(
         callPromise,
         this._defaults[methodName],
         descriptor,
-        this._opts.fallback
+        this._opts.fallback,
       );
 
       this.innerApiCalls[methodName] = apiCall;
@@ -266,8 +297,14 @@ export class SqlOperationsServiceClient {
    * @returns {string} The DNS address for this service.
    */
   static get servicePath() {
-    if (typeof process === 'object' && typeof process.emitWarning === 'function') {
-      process.emitWarning('Static servicePath is deprecated, please use the instance method instead.', 'DeprecationWarning');
+    if (
+      typeof process === 'object' &&
+      typeof process.emitWarning === 'function'
+    ) {
+      process.emitWarning(
+        'Static servicePath is deprecated, please use the instance method instead.',
+        'DeprecationWarning',
+      );
     }
     return 'sqladmin.googleapis.com';
   }
@@ -278,8 +315,14 @@ export class SqlOperationsServiceClient {
    * @returns {string} The DNS address for this service.
    */
   static get apiEndpoint() {
-    if (typeof process === 'object' && typeof process.emitWarning === 'function') {
-      process.emitWarning('Static apiEndpoint is deprecated, please use the instance method instead.', 'DeprecationWarning');
+    if (
+      typeof process === 'object' &&
+      typeof process.emitWarning === 'function'
+    ) {
+      process.emitWarning(
+        'Static apiEndpoint is deprecated, please use the instance method instead.',
+        'DeprecationWarning',
+      );
     }
     return 'sqladmin.googleapis.com';
   }
@@ -312,7 +355,7 @@ export class SqlOperationsServiceClient {
   static get scopes() {
     return [
       'https://www.googleapis.com/auth/cloud-platform',
-      'https://www.googleapis.com/auth/sqlservice.admin'
+      'https://www.googleapis.com/auth/sqlservice.admin',
     ];
   }
 
@@ -322,8 +365,9 @@ export class SqlOperationsServiceClient {
    * Return the project ID used by this class.
    * @returns {Promise} A promise that resolves to string containing the project ID.
    */
-  getProjectId(callback?: Callback<string, undefined, undefined>):
-      Promise<string>|void {
+  getProjectId(
+    callback?: Callback<string, undefined, undefined>,
+  ): Promise<string> | void {
     if (callback) {
       this.auth.getProjectId(callback);
       return;
@@ -334,304 +378,406 @@ export class SqlOperationsServiceClient {
   // -------------------
   // -- Service calls --
   // -------------------
-/**
- * Retrieves an instance operation that has been performed on an instance.
- *
- * @param {Object} request
- *   The request object that will be sent.
- * @param {string} request.operation
- *   Required. Instance operation ID.
- * @param {string} request.project
- *   Required. Project ID of the project that contains the instance.
- * @param {object} [options]
- *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
- * @returns {Promise} - The promise which resolves to an array.
- *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1.Operation|Operation}.
- *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
- *   for more details and examples.
- * @example <caption>include:samples/generated/v1/sql_operations_service.get.js</caption>
- * region_tag:sqladmin_v1_generated_SqlOperationsService_Get_async
- */
+  /**
+   * Retrieves an instance operation that has been performed on an instance.
+   *
+   * @param {Object} request
+   *   The request object that will be sent.
+   * @param {string} request.operation
+   *   Required. Instance operation ID.
+   * @param {string} request.project
+   *   Required. Project ID of the project that contains the instance.
+   * @param {object} [options]
+   *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+   * @returns {Promise} - The promise which resolves to an array.
+   *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1.Operation|Operation}.
+   *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
+   *   for more details and examples.
+   * @example <caption>include:samples/generated/v1/sql_operations_service.get.js</caption>
+   * region_tag:sqladmin_v1_generated_SqlOperationsService_Get_async
+   */
   get(
-      request?: protos.google.cloud.sql.v1.ISqlOperationsGetRequest,
-      options?: CallOptions):
-      Promise<[
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlOperationsGetRequest|undefined, {}|undefined
-      ]>;
+    request?: protos.google.cloud.sql.v1.ISqlOperationsGetRequest,
+    options?: CallOptions,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1.IOperation,
+      protos.google.cloud.sql.v1.ISqlOperationsGetRequest | undefined,
+      {} | undefined,
+    ]
+  >;
   get(
-      request: protos.google.cloud.sql.v1.ISqlOperationsGetRequest,
-      options: CallOptions,
-      callback: Callback<
-          protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlOperationsGetRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1.ISqlOperationsGetRequest,
+    options: CallOptions,
+    callback: Callback<
+      protos.google.cloud.sql.v1.IOperation,
+      protos.google.cloud.sql.v1.ISqlOperationsGetRequest | null | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   get(
-      request: protos.google.cloud.sql.v1.ISqlOperationsGetRequest,
-      callback: Callback<
-          protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlOperationsGetRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1.ISqlOperationsGetRequest,
+    callback: Callback<
+      protos.google.cloud.sql.v1.IOperation,
+      protos.google.cloud.sql.v1.ISqlOperationsGetRequest | null | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   get(
-      request?: protos.google.cloud.sql.v1.ISqlOperationsGetRequest,
-      optionsOrCallback?: CallOptions|Callback<
-          protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlOperationsGetRequest|null|undefined,
-          {}|null|undefined>,
-      callback?: Callback<
+    request?: protos.google.cloud.sql.v1.ISqlOperationsGetRequest,
+    optionsOrCallback?:
+      | CallOptions
+      | Callback<
           protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlOperationsGetRequest|null|undefined,
-          {}|null|undefined>):
-      Promise<[
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlOperationsGetRequest|undefined, {}|undefined
-      ]>|void {
+          | protos.google.cloud.sql.v1.ISqlOperationsGetRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >,
+    callback?: Callback<
+      protos.google.cloud.sql.v1.IOperation,
+      protos.google.cloud.sql.v1.ISqlOperationsGetRequest | null | undefined,
+      {} | null | undefined
+    >,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1.IOperation,
+      protos.google.cloud.sql.v1.ISqlOperationsGetRequest | undefined,
+      {} | undefined,
+    ]
+  > | void {
     request = request || {};
     let options: CallOptions;
     if (typeof optionsOrCallback === 'function' && callback === undefined) {
       callback = optionsOrCallback;
       options = {};
-    }
-    else {
+    } else {
       options = optionsOrCallback as CallOptions;
     }
     options = options || {};
     options.otherArgs = options.otherArgs || {};
     options.otherArgs.headers = options.otherArgs.headers || {};
-    options.otherArgs.headers[
-      'x-goog-request-params'
-    ] = this._gaxModule.routingHeader.fromParams({
-      'project': request.project ?? '',
-      'operation': request.operation ?? '',
+    options.otherArgs.headers['x-goog-request-params'] =
+      this._gaxModule.routingHeader.fromParams({
+        project: request.project ?? '',
+        operation: request.operation ?? '',
+      });
+    this.initialize().catch((err) => {
+      throw err;
     });
-    this.initialize().catch(err => {throw err});
     this._log.info('get request %j', request);
-    const wrappedCallback: Callback<
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlOperationsGetRequest|null|undefined,
-        {}|null|undefined>|undefined = callback
+    const wrappedCallback:
+      | Callback<
+          protos.google.cloud.sql.v1.IOperation,
+          | protos.google.cloud.sql.v1.ISqlOperationsGetRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >
+      | undefined = callback
       ? (error, response, options, rawResponse) => {
           this._log.info('get response %j', response);
           callback!(error, response, options, rawResponse); // We verified callback above.
         }
       : undefined;
-    return this.innerApiCalls.get(request, options, wrappedCallback)
-      ?.then(([response, options, rawResponse]: [
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlOperationsGetRequest|undefined,
-        {}|undefined
-      ]) => {
-        this._log.info('get response %j', response);
-        return [response, options, rawResponse];
-      }).catch((error: any) => {
-        if (error && 'statusDetails' in error && error.statusDetails instanceof Array) {
-          const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type;
-          error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos);
+    return this.innerApiCalls
+      .get(request, options, wrappedCallback)
+      ?.then(
+        ([response, options, rawResponse]: [
+          protos.google.cloud.sql.v1.IOperation,
+          protos.google.cloud.sql.v1.ISqlOperationsGetRequest | undefined,
+          {} | undefined,
+        ]) => {
+          this._log.info('get response %j', response);
+          return [response, options, rawResponse];
+        },
+      )
+      .catch((error: any) => {
+        if (
+          error &&
+          'statusDetails' in error &&
+          error.statusDetails instanceof Array
+        ) {
+          const protos = this._gaxModule.protobuf.Root.fromJSON(
+            jsonProtos,
+          ) as unknown as gax.protobuf.Type;
+          error.statusDetails = decodeAnyProtosInArray(
+            error.statusDetails,
+            protos,
+          );
         }
         throw error;
       });
   }
-/**
- * Lists all instance operations that have been performed on the given Cloud
- * SQL instance in the reverse chronological order of the start time.
- *
- * @param {Object} request
- *   The request object that will be sent.
- * @param {string} request.instance
- *   Cloud SQL instance ID. This does not include the project ID.
- * @param {number} request.maxResults
- *   Maximum number of operations per response.
- * @param {string} request.pageToken
- *   A previously-returned page token representing part of the larger set of
- *   results to view.
- * @param {string} request.project
- *   Project ID of the project that contains the instance.
- * @param {object} [options]
- *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
- * @returns {Promise} - The promise which resolves to an array.
- *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1.OperationsListResponse|OperationsListResponse}.
- *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
- *   for more details and examples.
- * @example <caption>include:samples/generated/v1/sql_operations_service.list.js</caption>
- * region_tag:sqladmin_v1_generated_SqlOperationsService_List_async
- */
+  /**
+   * Lists all instance operations that have been performed on the given Cloud
+   * SQL instance in the reverse chronological order of the start time.
+   *
+   * @param {Object} request
+   *   The request object that will be sent.
+   * @param {string} request.instance
+   *   Cloud SQL instance ID. This does not include the project ID.
+   * @param {number} request.maxResults
+   *   Maximum number of operations per response.
+   * @param {string} request.pageToken
+   *   A previously-returned page token representing part of the larger set of
+   *   results to view.
+   * @param {string} request.project
+   *   Project ID of the project that contains the instance.
+   * @param {object} [options]
+   *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+   * @returns {Promise} - The promise which resolves to an array.
+   *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1.OperationsListResponse|OperationsListResponse}.
+   *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
+   *   for more details and examples.
+   * @example <caption>include:samples/generated/v1/sql_operations_service.list.js</caption>
+   * region_tag:sqladmin_v1_generated_SqlOperationsService_List_async
+   */
   list(
-      request?: protos.google.cloud.sql.v1.ISqlOperationsListRequest,
-      options?: CallOptions):
-      Promise<[
-        protos.google.cloud.sql.v1.IOperationsListResponse,
-        protos.google.cloud.sql.v1.ISqlOperationsListRequest|undefined, {}|undefined
-      ]>;
+    request?: protos.google.cloud.sql.v1.ISqlOperationsListRequest,
+    options?: CallOptions,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1.IOperationsListResponse,
+      protos.google.cloud.sql.v1.ISqlOperationsListRequest | undefined,
+      {} | undefined,
+    ]
+  >;
   list(
-      request: protos.google.cloud.sql.v1.ISqlOperationsListRequest,
-      options: CallOptions,
-      callback: Callback<
-          protos.google.cloud.sql.v1.IOperationsListResponse,
-          protos.google.cloud.sql.v1.ISqlOperationsListRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1.ISqlOperationsListRequest,
+    options: CallOptions,
+    callback: Callback<
+      protos.google.cloud.sql.v1.IOperationsListResponse,
+      protos.google.cloud.sql.v1.ISqlOperationsListRequest | null | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   list(
-      request: protos.google.cloud.sql.v1.ISqlOperationsListRequest,
-      callback: Callback<
-          protos.google.cloud.sql.v1.IOperationsListResponse,
-          protos.google.cloud.sql.v1.ISqlOperationsListRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1.ISqlOperationsListRequest,
+    callback: Callback<
+      protos.google.cloud.sql.v1.IOperationsListResponse,
+      protos.google.cloud.sql.v1.ISqlOperationsListRequest | null | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   list(
-      request?: protos.google.cloud.sql.v1.ISqlOperationsListRequest,
-      optionsOrCallback?: CallOptions|Callback<
-          protos.google.cloud.sql.v1.IOperationsListResponse,
-          protos.google.cloud.sql.v1.ISqlOperationsListRequest|null|undefined,
-          {}|null|undefined>,
-      callback?: Callback<
+    request?: protos.google.cloud.sql.v1.ISqlOperationsListRequest,
+    optionsOrCallback?:
+      | CallOptions
+      | Callback<
           protos.google.cloud.sql.v1.IOperationsListResponse,
-          protos.google.cloud.sql.v1.ISqlOperationsListRequest|null|undefined,
-          {}|null|undefined>):
-      Promise<[
-        protos.google.cloud.sql.v1.IOperationsListResponse,
-        protos.google.cloud.sql.v1.ISqlOperationsListRequest|undefined, {}|undefined
-      ]>|void {
+          | protos.google.cloud.sql.v1.ISqlOperationsListRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >,
+    callback?: Callback<
+      protos.google.cloud.sql.v1.IOperationsListResponse,
+      protos.google.cloud.sql.v1.ISqlOperationsListRequest | null | undefined,
+      {} | null | undefined
+    >,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1.IOperationsListResponse,
+      protos.google.cloud.sql.v1.ISqlOperationsListRequest | undefined,
+      {} | undefined,
+    ]
+  > | void {
     request = request || {};
     let options: CallOptions;
     if (typeof optionsOrCallback === 'function' && callback === undefined) {
       callback = optionsOrCallback;
       options = {};
-    }
-    else {
+    } else {
       options = optionsOrCallback as CallOptions;
     }
     options = options || {};
     options.otherArgs = options.otherArgs || {};
     options.otherArgs.headers = options.otherArgs.headers || {};
-    options.otherArgs.headers[
-      'x-goog-request-params'
-    ] = this._gaxModule.routingHeader.fromParams({
-      'project': request.project ?? '',
+    options.otherArgs.headers['x-goog-request-params'] =
+      this._gaxModule.routingHeader.fromParams({
+        project: request.project ?? '',
+      });
+    this.initialize().catch((err) => {
+      throw err;
     });
-    this.initialize().catch(err => {throw err});
     this._log.info('list request %j', request);
-    const wrappedCallback: Callback<
-        protos.google.cloud.sql.v1.IOperationsListResponse,
-        protos.google.cloud.sql.v1.ISqlOperationsListRequest|null|undefined,
-        {}|null|undefined>|undefined = callback
+    const wrappedCallback:
+      | Callback<
+          protos.google.cloud.sql.v1.IOperationsListResponse,
+          | protos.google.cloud.sql.v1.ISqlOperationsListRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >
+      | undefined = callback
       ? (error, response, options, rawResponse) => {
           this._log.info('list response %j', response);
           callback!(error, response, options, rawResponse); // We verified callback above.
         }
       : undefined;
-    return this.innerApiCalls.list(request, options, wrappedCallback)
-      ?.then(([response, options, rawResponse]: [
-        protos.google.cloud.sql.v1.IOperationsListResponse,
-        protos.google.cloud.sql.v1.ISqlOperationsListRequest|undefined,
-        {}|undefined
-      ]) => {
-        this._log.info('list response %j', response);
-        return [response, options, rawResponse];
-      }).catch((error: any) => {
-        if (error && 'statusDetails' in error && error.statusDetails instanceof Array) {
-          const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type;
-          error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos);
+    return this.innerApiCalls
+      .list(request, options, wrappedCallback)
+      ?.then(
+        ([response, options, rawResponse]: [
+          protos.google.cloud.sql.v1.IOperationsListResponse,
+          protos.google.cloud.sql.v1.ISqlOperationsListRequest | undefined,
+          {} | undefined,
+        ]) => {
+          this._log.info('list response %j', response);
+          return [response, options, rawResponse];
+        },
+      )
+      .catch((error: any) => {
+        if (
+          error &&
+          'statusDetails' in error &&
+          error.statusDetails instanceof Array
+        ) {
+          const protos = this._gaxModule.protobuf.Root.fromJSON(
+            jsonProtos,
+          ) as unknown as gax.protobuf.Type;
+          error.statusDetails = decodeAnyProtosInArray(
+            error.statusDetails,
+            protos,
+          );
         }
         throw error;
       });
   }
-/**
- * Cancels an instance operation that has been performed on an instance.
- *
- * @param {Object} request
- *   The request object that will be sent.
- * @param {string} request.operation
- *   Instance operation ID.
- * @param {string} request.project
- *   Project ID of the project that contains the instance.
- * @param {object} [options]
- *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
- * @returns {Promise} - The promise which resolves to an array.
- *   The first element of the array is an object representing {@link protos.google.protobuf.Empty|Empty}.
- *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
- *   for more details and examples.
- * @example <caption>include:samples/generated/v1/sql_operations_service.cancel.js</caption>
- * region_tag:sqladmin_v1_generated_SqlOperationsService_Cancel_async
- */
+  /**
+   * Cancels an instance operation that has been performed on an instance.
+   *
+   * @param {Object} request
+   *   The request object that will be sent.
+   * @param {string} request.operation
+   *   Instance operation ID.
+   * @param {string} request.project
+   *   Project ID of the project that contains the instance.
+   * @param {object} [options]
+   *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+   * @returns {Promise} - The promise which resolves to an array.
+   *   The first element of the array is an object representing {@link protos.google.protobuf.Empty|Empty}.
+   *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
+   *   for more details and examples.
+   * @example <caption>include:samples/generated/v1/sql_operations_service.cancel.js</caption>
+   * region_tag:sqladmin_v1_generated_SqlOperationsService_Cancel_async
+   */
   cancel(
-      request?: protos.google.cloud.sql.v1.ISqlOperationsCancelRequest,
-      options?: CallOptions):
-      Promise<[
-        protos.google.protobuf.IEmpty,
-        protos.google.cloud.sql.v1.ISqlOperationsCancelRequest|undefined, {}|undefined
-      ]>;
+    request?: protos.google.cloud.sql.v1.ISqlOperationsCancelRequest,
+    options?: CallOptions,
+  ): Promise<
+    [
+      protos.google.protobuf.IEmpty,
+      protos.google.cloud.sql.v1.ISqlOperationsCancelRequest | undefined,
+      {} | undefined,
+    ]
+  >;
   cancel(
-      request: protos.google.cloud.sql.v1.ISqlOperationsCancelRequest,
-      options: CallOptions,
-      callback: Callback<
-          protos.google.protobuf.IEmpty,
-          protos.google.cloud.sql.v1.ISqlOperationsCancelRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1.ISqlOperationsCancelRequest,
+    options: CallOptions,
+    callback: Callback<
+      protos.google.protobuf.IEmpty,
+      protos.google.cloud.sql.v1.ISqlOperationsCancelRequest | null | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   cancel(
-      request: protos.google.cloud.sql.v1.ISqlOperationsCancelRequest,
-      callback: Callback<
-          protos.google.protobuf.IEmpty,
-          protos.google.cloud.sql.v1.ISqlOperationsCancelRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1.ISqlOperationsCancelRequest,
+    callback: Callback<
+      protos.google.protobuf.IEmpty,
+      protos.google.cloud.sql.v1.ISqlOperationsCancelRequest | null | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   cancel(
-      request?: protos.google.cloud.sql.v1.ISqlOperationsCancelRequest,
-      optionsOrCallback?: CallOptions|Callback<
-          protos.google.protobuf.IEmpty,
-          protos.google.cloud.sql.v1.ISqlOperationsCancelRequest|null|undefined,
-          {}|null|undefined>,
-      callback?: Callback<
+    request?: protos.google.cloud.sql.v1.ISqlOperationsCancelRequest,
+    optionsOrCallback?:
+      | CallOptions
+      | Callback<
           protos.google.protobuf.IEmpty,
-          protos.google.cloud.sql.v1.ISqlOperationsCancelRequest|null|undefined,
-          {}|null|undefined>):
-      Promise<[
-        protos.google.protobuf.IEmpty,
-        protos.google.cloud.sql.v1.ISqlOperationsCancelRequest|undefined, {}|undefined
-      ]>|void {
+          | protos.google.cloud.sql.v1.ISqlOperationsCancelRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >,
+    callback?: Callback<
+      protos.google.protobuf.IEmpty,
+      protos.google.cloud.sql.v1.ISqlOperationsCancelRequest | null | undefined,
+      {} | null | undefined
+    >,
+  ): Promise<
+    [
+      protos.google.protobuf.IEmpty,
+      protos.google.cloud.sql.v1.ISqlOperationsCancelRequest | undefined,
+      {} | undefined,
+    ]
+  > | void {
     request = request || {};
     let options: CallOptions;
     if (typeof optionsOrCallback === 'function' && callback === undefined) {
       callback = optionsOrCallback;
       options = {};
-    }
-    else {
+    } else {
       options = optionsOrCallback as CallOptions;
     }
     options = options || {};
     options.otherArgs = options.otherArgs || {};
     options.otherArgs.headers = options.otherArgs.headers || {};
-    options.otherArgs.headers[
-      'x-goog-request-params'
-    ] = this._gaxModule.routingHeader.fromParams({
-      'project': request.project ?? '',
-      'operation': request.operation ?? '',
+    options.otherArgs.headers['x-goog-request-params'] =
+      this._gaxModule.routingHeader.fromParams({
+        project: request.project ?? '',
+        operation: request.operation ?? '',
+      });
+    this.initialize().catch((err) => {
+      throw err;
     });
-    this.initialize().catch(err => {throw err});
     this._log.info('cancel request %j', request);
-    const wrappedCallback: Callback<
-        protos.google.protobuf.IEmpty,
-        protos.google.cloud.sql.v1.ISqlOperationsCancelRequest|null|undefined,
-        {}|null|undefined>|undefined = callback
+    const wrappedCallback:
+      | Callback<
+          protos.google.protobuf.IEmpty,
+          | protos.google.cloud.sql.v1.ISqlOperationsCancelRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >
+      | undefined = callback
       ? (error, response, options, rawResponse) => {
           this._log.info('cancel response %j', response);
           callback!(error, response, options, rawResponse); // We verified callback above.
         }
       : undefined;
-    return this.innerApiCalls.cancel(request, options, wrappedCallback)
-      ?.then(([response, options, rawResponse]: [
-        protos.google.protobuf.IEmpty,
-        protos.google.cloud.sql.v1.ISqlOperationsCancelRequest|undefined,
-        {}|undefined
-      ]) => {
-        this._log.info('cancel response %j', response);
-        return [response, options, rawResponse];
-      }).catch((error: any) => {
-        if (error && 'statusDetails' in error && error.statusDetails instanceof Array) {
-          const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type;
-          error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos);
+    return this.innerApiCalls
+      .cancel(request, options, wrappedCallback)
+      ?.then(
+        ([response, options, rawResponse]: [
+          protos.google.protobuf.IEmpty,
+          protos.google.cloud.sql.v1.ISqlOperationsCancelRequest | undefined,
+          {} | undefined,
+        ]) => {
+          this._log.info('cancel response %j', response);
+          return [response, options, rawResponse];
+        },
+      )
+      .catch((error: any) => {
+        if (
+          error &&
+          'statusDetails' in error &&
+          error.statusDetails instanceof Array
+        ) {
+          const protos = this._gaxModule.protobuf.Root.fromJSON(
+            jsonProtos,
+          ) as unknown as gax.protobuf.Type;
+          error.statusDetails = decodeAnyProtosInArray(
+            error.statusDetails,
+            protos,
+          );
         }
         throw error;
       });
   }
 
-/**
+  /**
    * Gets information about a location.
    *
    * @param {Object} request
@@ -666,12 +812,11 @@ export class SqlOperationsServiceClient {
       | null
       | undefined,
       {} | null | undefined
-    >
+    >,
   ): Promise<LocationProtos.google.cloud.location.ILocation> {
     return this.locationsClient.getLocation(request, options, callback);
   }
-
-/**
+  /**
    * Lists information about the supported locations for this service. Returns an iterable object.
    *
    * `for`-`await`-`of` syntax is used with the iterable to get response elements on-demand.
@@ -704,7 +849,7 @@ export class SqlOperationsServiceClient {
    */
   listLocationsAsync(
     request: LocationProtos.google.cloud.location.IListLocationsRequest,
-    options?: CallOptions
+    options?: CallOptions,
   ): AsyncIterable<LocationProtos.google.cloud.location.ILocation> {
     return this.locationsClient.listLocationsAsync(request, options);
   }
@@ -720,7 +865,7 @@ export class SqlOperationsServiceClient {
    * @param {string} backup
    * @returns {string} Resource name string.
    */
-  backupPath(project:string,backup:string) {
+  backupPath(project: string, backup: string) {
     return this.pathTemplates.backupPathTemplate.render({
       project: project,
       backup: backup,
@@ -757,13 +902,15 @@ export class SqlOperationsServiceClient {
    */
   close(): Promise<void> {
     if (this.sqlOperationsServiceStub && !this._terminated) {
-      return this.sqlOperationsServiceStub.then(stub => {
+      return this.sqlOperationsServiceStub.then((stub) => {
         this._log.info('ending gRPC channel');
         this._terminated = true;
         stub.close();
-        this.locationsClient.close().catch(err => {throw err});
+        this.locationsClient.close().catch((err) => {
+          throw err;
+        });
       });
     }
     return Promise.resolve();
   }
-}
\ No newline at end of file
+}
diff --git a/packages/google-cloud-sql/src/v1/sql_ssl_certs_service_client.ts b/packages/google-cloud-sql/src/v1/sql_ssl_certs_service_client.ts
index df2bb53abd2d..e820b8c0dff9 100644
--- a/packages/google-cloud-sql/src/v1/sql_ssl_certs_service_client.ts
+++ b/packages/google-cloud-sql/src/v1/sql_ssl_certs_service_client.ts
@@ -18,11 +18,18 @@
 
 /* global window */
 import type * as gax from 'google-gax';
-import type {Callback, CallOptions, Descriptors, ClientOptions, LocationsClient, LocationProtos} from 'google-gax';
+import type {
+  Callback,
+  CallOptions,
+  Descriptors,
+  ClientOptions,
+  LocationsClient,
+  LocationProtos,
+} from 'google-gax';
 
 import * as protos from '../../protos/protos';
 import jsonProtos = require('../../protos/protos.json');
-import {loggingUtils as logging, decodeAnyProtosInArray} from 'google-gax';
+import { loggingUtils as logging, decodeAnyProtosInArray } from 'google-gax';
 
 /**
  * Client JSON configuration object, loaded from
@@ -44,7 +51,7 @@ export class SqlSslCertsServiceClient {
   private _gaxModule: typeof gax | typeof gax.fallback;
   private _gaxGrpc: gax.GrpcClient | gax.fallback.GrpcClient;
   private _protos: {};
-  private _defaults: {[method: string]: gax.CallSettings};
+  private _defaults: { [method: string]: gax.CallSettings };
   private _universeDomain: string;
   private _servicePath: string;
   private _log = logging.log('sql');
@@ -57,10 +64,10 @@ export class SqlSslCertsServiceClient {
     batching: {},
   };
   warn: (code: string, message: string, warnType?: string) => void;
-  innerApiCalls: {[name: string]: Function};
+  innerApiCalls: { [name: string]: Function };
   locationsClient: LocationsClient;
-  pathTemplates: {[name: string]: gax.PathTemplate};
-  sqlSslCertsServiceStub?: Promise<{[name: string]: Function}>;
+  pathTemplates: { [name: string]: gax.PathTemplate };
+  sqlSslCertsServiceStub?: Promise<{ [name: string]: Function }>;
 
   /**
    * Construct an instance of SqlSslCertsServiceClient.
@@ -101,21 +108,42 @@ export class SqlSslCertsServiceClient {
    *     const client = new SqlSslCertsServiceClient({fallback: true}, gax);
    *     ```
    */
-  constructor(opts?: ClientOptions, gaxInstance?: typeof gax | typeof gax.fallback) {
+  constructor(
+    opts?: ClientOptions,
+    gaxInstance?: typeof gax | typeof gax.fallback,
+  ) {
     // Ensure that options include all the required fields.
     const staticMembers = this.constructor as typeof SqlSslCertsServiceClient;
-    if (opts?.universe_domain && opts?.universeDomain && opts?.universe_domain !== opts?.universeDomain) {
-      throw new Error('Please set either universe_domain or universeDomain, but not both.');
+    if (
+      opts?.universe_domain &&
+      opts?.universeDomain &&
+      opts?.universe_domain !== opts?.universeDomain
+    ) {
+      throw new Error(
+        'Please set either universe_domain or universeDomain, but not both.',
+      );
     }
-    const universeDomainEnvVar = (typeof process === 'object' && typeof process.env === 'object') ? process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] : undefined;
-    this._universeDomain = opts?.universeDomain ?? opts?.universe_domain ?? universeDomainEnvVar ?? 'googleapis.com';
+    const universeDomainEnvVar =
+      typeof process === 'object' && typeof process.env === 'object'
+        ? process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN']
+        : undefined;
+    this._universeDomain =
+      opts?.universeDomain ??
+      opts?.universe_domain ??
+      universeDomainEnvVar ??
+      'googleapis.com';
     this._servicePath = 'sqladmin.' + this._universeDomain;
-    const servicePath = opts?.servicePath || opts?.apiEndpoint || this._servicePath;
-    this._providedCustomServicePath = !!(opts?.servicePath || opts?.apiEndpoint);
+    const servicePath =
+      opts?.servicePath || opts?.apiEndpoint || this._servicePath;
+    this._providedCustomServicePath = !!(
+      opts?.servicePath || opts?.apiEndpoint
+    );
     const port = opts?.port || staticMembers.port;
     const clientConfig = opts?.clientConfig ?? {};
-    const fallback = opts?.fallback ?? (typeof window !== 'undefined' && typeof window?.fetch === 'function');
-    opts = Object.assign({servicePath, port, clientConfig, fallback}, opts);
+    const fallback =
+      opts?.fallback ??
+      (typeof window !== 'undefined' && typeof window?.fetch === 'function');
+    opts = Object.assign({ servicePath, port, clientConfig, fallback }, opts);
 
     // Request numeric enum values if REST transport is used.
     opts.numericEnums = true;
@@ -140,7 +168,7 @@ export class SqlSslCertsServiceClient {
     this._opts = opts;
 
     // Save the auth object to the client, for use by other methods.
-    this.auth = (this._gaxGrpc.auth as gax.GoogleAuth);
+    this.auth = this._gaxGrpc.auth as gax.GoogleAuth;
 
     // Set useJWTAccessWithScope on the auth object.
     this.auth.useJWTAccessWithScope = true;
@@ -154,15 +182,11 @@ export class SqlSslCertsServiceClient {
     }
     this.locationsClient = new this._gaxModule.LocationsClient(
       this._gaxGrpc,
-      opts
+      opts,
     );
-  
 
     // Determine the client header string.
-    const clientHeader = [
-      `gax/${this._gaxModule.version}`,
-      `gapic/${version}`,
-    ];
+    const clientHeader = [`gax/${this._gaxModule.version}`, `gapic/${version}`];
     if (typeof process === 'object' && 'versions' in process) {
       clientHeader.push(`gl-node/${process.versions.node}`);
     } else {
@@ -184,14 +208,17 @@ export class SqlSslCertsServiceClient {
     // Create useful helper objects for these.
     this.pathTemplates = {
       backupPathTemplate: new this._gaxModule.PathTemplate(
-        'projects/{project}/backups/{backup}'
+        'projects/{project}/backups/{backup}',
       ),
     };
 
     // Put together the default options sent with requests.
     this._defaults = this._gaxGrpc.constructSettings(
-        'google.cloud.sql.v1.SqlSslCertsService', gapicConfig as gax.ClientConfig,
-        opts.clientConfig || {}, {'x-goog-api-client': clientHeader.join(' ')});
+      'google.cloud.sql.v1.SqlSslCertsService',
+      gapicConfig as gax.ClientConfig,
+      opts.clientConfig || {},
+      { 'x-goog-api-client': clientHeader.join(' ') },
+    );
 
     // Set up a dictionary of "inner API calls"; the core implementation
     // of calling the API is handled in `google-gax`, with this code
@@ -222,36 +249,40 @@ export class SqlSslCertsServiceClient {
     // Put together the "service stub" for
     // google.cloud.sql.v1.SqlSslCertsService.
     this.sqlSslCertsServiceStub = this._gaxGrpc.createStub(
-        this._opts.fallback ?
-          (this._protos as protobuf.Root).lookupService('google.cloud.sql.v1.SqlSslCertsService') :
-          // eslint-disable-next-line @typescript-eslint/no-explicit-any
+      this._opts.fallback
+        ? (this._protos as protobuf.Root).lookupService(
+            'google.cloud.sql.v1.SqlSslCertsService',
+          )
+        : // eslint-disable-next-line @typescript-eslint/no-explicit-any
           (this._protos as any).google.cloud.sql.v1.SqlSslCertsService,
-        this._opts, this._providedCustomServicePath) as Promise<{[method: string]: Function}>;
+      this._opts,
+      this._providedCustomServicePath,
+    ) as Promise<{ [method: string]: Function }>;
 
     // Iterate over each of the methods that the service provides
     // and create an API call method for each.
-    const sqlSslCertsServiceStubMethods =
-        ['delete', 'get', 'insert', 'list'];
+    const sqlSslCertsServiceStubMethods = ['delete', 'get', 'insert', 'list'];
     for (const methodName of sqlSslCertsServiceStubMethods) {
       const callPromise = this.sqlSslCertsServiceStub.then(
-        stub => (...args: Array<{}>) => {
-          if (this._terminated) {
-            return Promise.reject('The client has already been closed.');
-          }
-          const func = stub[methodName];
-          return func.apply(stub, args);
-        },
-        (err: Error|null|undefined) => () => {
+        (stub) =>
+          (...args: Array<{}>) => {
+            if (this._terminated) {
+              return Promise.reject('The client has already been closed.');
+            }
+            const func = stub[methodName];
+            return func.apply(stub, args);
+          },
+        (err: Error | null | undefined) => () => {
           throw err;
-        });
+        },
+      );
 
-      const descriptor =
-        undefined;
+      const descriptor = undefined;
       const apiCall = this._gaxModule.createApiCall(
         callPromise,
         this._defaults[methodName],
         descriptor,
-        this._opts.fallback
+        this._opts.fallback,
       );
 
       this.innerApiCalls[methodName] = apiCall;
@@ -266,8 +297,14 @@ export class SqlSslCertsServiceClient {
    * @returns {string} The DNS address for this service.
    */
   static get servicePath() {
-    if (typeof process === 'object' && typeof process.emitWarning === 'function') {
-      process.emitWarning('Static servicePath is deprecated, please use the instance method instead.', 'DeprecationWarning');
+    if (
+      typeof process === 'object' &&
+      typeof process.emitWarning === 'function'
+    ) {
+      process.emitWarning(
+        'Static servicePath is deprecated, please use the instance method instead.',
+        'DeprecationWarning',
+      );
     }
     return 'sqladmin.googleapis.com';
   }
@@ -278,8 +315,14 @@ export class SqlSslCertsServiceClient {
    * @returns {string} The DNS address for this service.
    */
   static get apiEndpoint() {
-    if (typeof process === 'object' && typeof process.emitWarning === 'function') {
-      process.emitWarning('Static apiEndpoint is deprecated, please use the instance method instead.', 'DeprecationWarning');
+    if (
+      typeof process === 'object' &&
+      typeof process.emitWarning === 'function'
+    ) {
+      process.emitWarning(
+        'Static apiEndpoint is deprecated, please use the instance method instead.',
+        'DeprecationWarning',
+      );
     }
     return 'sqladmin.googleapis.com';
   }
@@ -312,7 +355,7 @@ export class SqlSslCertsServiceClient {
   static get scopes() {
     return [
       'https://www.googleapis.com/auth/cloud-platform',
-      'https://www.googleapis.com/auth/sqlservice.admin'
+      'https://www.googleapis.com/auth/sqlservice.admin',
     ];
   }
 
@@ -322,8 +365,9 @@ export class SqlSslCertsServiceClient {
    * Return the project ID used by this class.
    * @returns {Promise} A promise that resolves to string containing the project ID.
    */
-  getProjectId(callback?: Callback<string, undefined, undefined>):
-      Promise<string>|void {
+  getProjectId(
+    callback?: Callback<string, undefined, undefined>,
+  ): Promise<string> | void {
     if (callback) {
       this.auth.getProjectId(callback);
       return;
@@ -334,408 +378,536 @@ export class SqlSslCertsServiceClient {
   // -------------------
   // -- Service calls --
   // -------------------
-/**
- * Deletes the SSL certificate. For First Generation instances, the
- * certificate remains valid until the instance is restarted.
- *
- * @param {Object} request
- *   The request object that will be sent.
- * @param {string} request.instance
- *   Cloud SQL instance ID. This does not include the project ID.
- * @param {string} request.project
- *   Project ID of the project that contains the instance.
- * @param {string} request.sha1Fingerprint
- *   Sha1 FingerPrint.
- * @param {object} [options]
- *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
- * @returns {Promise} - The promise which resolves to an array.
- *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1.Operation|Operation}.
- *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
- *   for more details and examples.
- * @example <caption>include:samples/generated/v1/sql_ssl_certs_service.delete.js</caption>
- * region_tag:sqladmin_v1_generated_SqlSslCertsService_Delete_async
- */
+  /**
+   * Deletes the SSL certificate. For First Generation instances, the
+   * certificate remains valid until the instance is restarted.
+   *
+   * @param {Object} request
+   *   The request object that will be sent.
+   * @param {string} request.instance
+   *   Cloud SQL instance ID. This does not include the project ID.
+   * @param {string} request.project
+   *   Project ID of the project that contains the instance.
+   * @param {string} request.sha1Fingerprint
+   *   Sha1 FingerPrint.
+   * @param {object} [options]
+   *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+   * @returns {Promise} - The promise which resolves to an array.
+   *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1.Operation|Operation}.
+   *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
+   *   for more details and examples.
+   * @example <caption>include:samples/generated/v1/sql_ssl_certs_service.delete.js</caption>
+   * region_tag:sqladmin_v1_generated_SqlSslCertsService_Delete_async
+   */
   delete(
-      request?: protos.google.cloud.sql.v1.ISqlSslCertsDeleteRequest,
-      options?: CallOptions):
-      Promise<[
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlSslCertsDeleteRequest|undefined, {}|undefined
-      ]>;
+    request?: protos.google.cloud.sql.v1.ISqlSslCertsDeleteRequest,
+    options?: CallOptions,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1.IOperation,
+      protos.google.cloud.sql.v1.ISqlSslCertsDeleteRequest | undefined,
+      {} | undefined,
+    ]
+  >;
   delete(
-      request: protos.google.cloud.sql.v1.ISqlSslCertsDeleteRequest,
-      options: CallOptions,
-      callback: Callback<
-          protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlSslCertsDeleteRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1.ISqlSslCertsDeleteRequest,
+    options: CallOptions,
+    callback: Callback<
+      protos.google.cloud.sql.v1.IOperation,
+      protos.google.cloud.sql.v1.ISqlSslCertsDeleteRequest | null | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   delete(
-      request: protos.google.cloud.sql.v1.ISqlSslCertsDeleteRequest,
-      callback: Callback<
-          protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlSslCertsDeleteRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1.ISqlSslCertsDeleteRequest,
+    callback: Callback<
+      protos.google.cloud.sql.v1.IOperation,
+      protos.google.cloud.sql.v1.ISqlSslCertsDeleteRequest | null | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   delete(
-      request?: protos.google.cloud.sql.v1.ISqlSslCertsDeleteRequest,
-      optionsOrCallback?: CallOptions|Callback<
-          protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlSslCertsDeleteRequest|null|undefined,
-          {}|null|undefined>,
-      callback?: Callback<
+    request?: protos.google.cloud.sql.v1.ISqlSslCertsDeleteRequest,
+    optionsOrCallback?:
+      | CallOptions
+      | Callback<
           protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlSslCertsDeleteRequest|null|undefined,
-          {}|null|undefined>):
-      Promise<[
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlSslCertsDeleteRequest|undefined, {}|undefined
-      ]>|void {
+          | protos.google.cloud.sql.v1.ISqlSslCertsDeleteRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >,
+    callback?: Callback<
+      protos.google.cloud.sql.v1.IOperation,
+      protos.google.cloud.sql.v1.ISqlSslCertsDeleteRequest | null | undefined,
+      {} | null | undefined
+    >,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1.IOperation,
+      protos.google.cloud.sql.v1.ISqlSslCertsDeleteRequest | undefined,
+      {} | undefined,
+    ]
+  > | void {
     request = request || {};
     let options: CallOptions;
     if (typeof optionsOrCallback === 'function' && callback === undefined) {
       callback = optionsOrCallback;
       options = {};
-    }
-    else {
+    } else {
       options = optionsOrCallback as CallOptions;
     }
     options = options || {};
     options.otherArgs = options.otherArgs || {};
     options.otherArgs.headers = options.otherArgs.headers || {};
-    options.otherArgs.headers[
-      'x-goog-request-params'
-    ] = this._gaxModule.routingHeader.fromParams({
-      'project': request.project ?? '',
-      'instance': request.instance ?? '',
-      'sha1_fingerprint': request.sha1Fingerprint ?? '',
+    options.otherArgs.headers['x-goog-request-params'] =
+      this._gaxModule.routingHeader.fromParams({
+        project: request.project ?? '',
+        instance: request.instance ?? '',
+        sha1_fingerprint: request.sha1Fingerprint ?? '',
+      });
+    this.initialize().catch((err) => {
+      throw err;
     });
-    this.initialize().catch(err => {throw err});
     this._log.info('delete request %j', request);
-    const wrappedCallback: Callback<
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlSslCertsDeleteRequest|null|undefined,
-        {}|null|undefined>|undefined = callback
+    const wrappedCallback:
+      | Callback<
+          protos.google.cloud.sql.v1.IOperation,
+          | protos.google.cloud.sql.v1.ISqlSslCertsDeleteRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >
+      | undefined = callback
       ? (error, response, options, rawResponse) => {
           this._log.info('delete response %j', response);
           callback!(error, response, options, rawResponse); // We verified callback above.
         }
       : undefined;
-    return this.innerApiCalls.delete(request, options, wrappedCallback)
-      ?.then(([response, options, rawResponse]: [
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlSslCertsDeleteRequest|undefined,
-        {}|undefined
-      ]) => {
-        this._log.info('delete response %j', response);
-        return [response, options, rawResponse];
-      }).catch((error: any) => {
-        if (error && 'statusDetails' in error && error.statusDetails instanceof Array) {
-          const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type;
-          error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos);
+    return this.innerApiCalls
+      .delete(request, options, wrappedCallback)
+      ?.then(
+        ([response, options, rawResponse]: [
+          protos.google.cloud.sql.v1.IOperation,
+          protos.google.cloud.sql.v1.ISqlSslCertsDeleteRequest | undefined,
+          {} | undefined,
+        ]) => {
+          this._log.info('delete response %j', response);
+          return [response, options, rawResponse];
+        },
+      )
+      .catch((error: any) => {
+        if (
+          error &&
+          'statusDetails' in error &&
+          error.statusDetails instanceof Array
+        ) {
+          const protos = this._gaxModule.protobuf.Root.fromJSON(
+            jsonProtos,
+          ) as unknown as gax.protobuf.Type;
+          error.statusDetails = decodeAnyProtosInArray(
+            error.statusDetails,
+            protos,
+          );
         }
         throw error;
       });
   }
-/**
- * Retrieves a particular SSL certificate.  Does not include the private key
- * (required for usage).  The private key must be saved from the response to
- * initial creation.
- *
- * @param {Object} request
- *   The request object that will be sent.
- * @param {string} request.instance
- *   Cloud SQL instance ID. This does not include the project ID.
- * @param {string} request.project
- *   Project ID of the project that contains the instance.
- * @param {string} request.sha1Fingerprint
- *   Sha1 FingerPrint.
- * @param {object} [options]
- *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
- * @returns {Promise} - The promise which resolves to an array.
- *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1.SslCert|SslCert}.
- *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
- *   for more details and examples.
- * @example <caption>include:samples/generated/v1/sql_ssl_certs_service.get.js</caption>
- * region_tag:sqladmin_v1_generated_SqlSslCertsService_Get_async
- */
+  /**
+   * Retrieves a particular SSL certificate.  Does not include the private key
+   * (required for usage).  The private key must be saved from the response to
+   * initial creation.
+   *
+   * @param {Object} request
+   *   The request object that will be sent.
+   * @param {string} request.instance
+   *   Cloud SQL instance ID. This does not include the project ID.
+   * @param {string} request.project
+   *   Project ID of the project that contains the instance.
+   * @param {string} request.sha1Fingerprint
+   *   Sha1 FingerPrint.
+   * @param {object} [options]
+   *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+   * @returns {Promise} - The promise which resolves to an array.
+   *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1.SslCert|SslCert}.
+   *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
+   *   for more details and examples.
+   * @example <caption>include:samples/generated/v1/sql_ssl_certs_service.get.js</caption>
+   * region_tag:sqladmin_v1_generated_SqlSslCertsService_Get_async
+   */
   get(
-      request?: protos.google.cloud.sql.v1.ISqlSslCertsGetRequest,
-      options?: CallOptions):
-      Promise<[
-        protos.google.cloud.sql.v1.ISslCert,
-        protos.google.cloud.sql.v1.ISqlSslCertsGetRequest|undefined, {}|undefined
-      ]>;
+    request?: protos.google.cloud.sql.v1.ISqlSslCertsGetRequest,
+    options?: CallOptions,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1.ISslCert,
+      protos.google.cloud.sql.v1.ISqlSslCertsGetRequest | undefined,
+      {} | undefined,
+    ]
+  >;
   get(
-      request: protos.google.cloud.sql.v1.ISqlSslCertsGetRequest,
-      options: CallOptions,
-      callback: Callback<
-          protos.google.cloud.sql.v1.ISslCert,
-          protos.google.cloud.sql.v1.ISqlSslCertsGetRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1.ISqlSslCertsGetRequest,
+    options: CallOptions,
+    callback: Callback<
+      protos.google.cloud.sql.v1.ISslCert,
+      protos.google.cloud.sql.v1.ISqlSslCertsGetRequest | null | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   get(
-      request: protos.google.cloud.sql.v1.ISqlSslCertsGetRequest,
-      callback: Callback<
-          protos.google.cloud.sql.v1.ISslCert,
-          protos.google.cloud.sql.v1.ISqlSslCertsGetRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1.ISqlSslCertsGetRequest,
+    callback: Callback<
+      protos.google.cloud.sql.v1.ISslCert,
+      protos.google.cloud.sql.v1.ISqlSslCertsGetRequest | null | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   get(
-      request?: protos.google.cloud.sql.v1.ISqlSslCertsGetRequest,
-      optionsOrCallback?: CallOptions|Callback<
-          protos.google.cloud.sql.v1.ISslCert,
-          protos.google.cloud.sql.v1.ISqlSslCertsGetRequest|null|undefined,
-          {}|null|undefined>,
-      callback?: Callback<
+    request?: protos.google.cloud.sql.v1.ISqlSslCertsGetRequest,
+    optionsOrCallback?:
+      | CallOptions
+      | Callback<
           protos.google.cloud.sql.v1.ISslCert,
-          protos.google.cloud.sql.v1.ISqlSslCertsGetRequest|null|undefined,
-          {}|null|undefined>):
-      Promise<[
-        protos.google.cloud.sql.v1.ISslCert,
-        protos.google.cloud.sql.v1.ISqlSslCertsGetRequest|undefined, {}|undefined
-      ]>|void {
+          protos.google.cloud.sql.v1.ISqlSslCertsGetRequest | null | undefined,
+          {} | null | undefined
+        >,
+    callback?: Callback<
+      protos.google.cloud.sql.v1.ISslCert,
+      protos.google.cloud.sql.v1.ISqlSslCertsGetRequest | null | undefined,
+      {} | null | undefined
+    >,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1.ISslCert,
+      protos.google.cloud.sql.v1.ISqlSslCertsGetRequest | undefined,
+      {} | undefined,
+    ]
+  > | void {
     request = request || {};
     let options: CallOptions;
     if (typeof optionsOrCallback === 'function' && callback === undefined) {
       callback = optionsOrCallback;
       options = {};
-    }
-    else {
+    } else {
       options = optionsOrCallback as CallOptions;
     }
     options = options || {};
     options.otherArgs = options.otherArgs || {};
     options.otherArgs.headers = options.otherArgs.headers || {};
-    options.otherArgs.headers[
-      'x-goog-request-params'
-    ] = this._gaxModule.routingHeader.fromParams({
-      'project': request.project ?? '',
-      'instance': request.instance ?? '',
-      'sha1_fingerprint': request.sha1Fingerprint ?? '',
+    options.otherArgs.headers['x-goog-request-params'] =
+      this._gaxModule.routingHeader.fromParams({
+        project: request.project ?? '',
+        instance: request.instance ?? '',
+        sha1_fingerprint: request.sha1Fingerprint ?? '',
+      });
+    this.initialize().catch((err) => {
+      throw err;
     });
-    this.initialize().catch(err => {throw err});
     this._log.info('get request %j', request);
-    const wrappedCallback: Callback<
-        protos.google.cloud.sql.v1.ISslCert,
-        protos.google.cloud.sql.v1.ISqlSslCertsGetRequest|null|undefined,
-        {}|null|undefined>|undefined = callback
+    const wrappedCallback:
+      | Callback<
+          protos.google.cloud.sql.v1.ISslCert,
+          protos.google.cloud.sql.v1.ISqlSslCertsGetRequest | null | undefined,
+          {} | null | undefined
+        >
+      | undefined = callback
       ? (error, response, options, rawResponse) => {
           this._log.info('get response %j', response);
           callback!(error, response, options, rawResponse); // We verified callback above.
         }
       : undefined;
-    return this.innerApiCalls.get(request, options, wrappedCallback)
-      ?.then(([response, options, rawResponse]: [
-        protos.google.cloud.sql.v1.ISslCert,
-        protos.google.cloud.sql.v1.ISqlSslCertsGetRequest|undefined,
-        {}|undefined
-      ]) => {
-        this._log.info('get response %j', response);
-        return [response, options, rawResponse];
-      }).catch((error: any) => {
-        if (error && 'statusDetails' in error && error.statusDetails instanceof Array) {
-          const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type;
-          error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos);
+    return this.innerApiCalls
+      .get(request, options, wrappedCallback)
+      ?.then(
+        ([response, options, rawResponse]: [
+          protos.google.cloud.sql.v1.ISslCert,
+          protos.google.cloud.sql.v1.ISqlSslCertsGetRequest | undefined,
+          {} | undefined,
+        ]) => {
+          this._log.info('get response %j', response);
+          return [response, options, rawResponse];
+        },
+      )
+      .catch((error: any) => {
+        if (
+          error &&
+          'statusDetails' in error &&
+          error.statusDetails instanceof Array
+        ) {
+          const protos = this._gaxModule.protobuf.Root.fromJSON(
+            jsonProtos,
+          ) as unknown as gax.protobuf.Type;
+          error.statusDetails = decodeAnyProtosInArray(
+            error.statusDetails,
+            protos,
+          );
         }
         throw error;
       });
   }
-/**
- * Creates an SSL certificate and returns it along with the private key and
- * server certificate authority.  The new certificate will not be usable until
- * the instance is restarted.
- *
- * @param {Object} request
- *   The request object that will be sent.
- * @param {string} request.instance
- *   Cloud SQL instance ID. This does not include the project ID.
- * @param {string} request.project
- *   Project ID of the project that contains the instance.
- * @param {google.cloud.sql.v1.SslCertsInsertRequest} request.body
- * @param {object} [options]
- *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
- * @returns {Promise} - The promise which resolves to an array.
- *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1.SslCertsInsertResponse|SslCertsInsertResponse}.
- *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
- *   for more details and examples.
- * @example <caption>include:samples/generated/v1/sql_ssl_certs_service.insert.js</caption>
- * region_tag:sqladmin_v1_generated_SqlSslCertsService_Insert_async
- */
+  /**
+   * Creates an SSL certificate and returns it along with the private key and
+   * server certificate authority.  The new certificate will not be usable until
+   * the instance is restarted.
+   *
+   * @param {Object} request
+   *   The request object that will be sent.
+   * @param {string} request.instance
+   *   Cloud SQL instance ID. This does not include the project ID.
+   * @param {string} request.project
+   *   Project ID of the project that contains the instance.
+   * @param {google.cloud.sql.v1.SslCertsInsertRequest} request.body
+   * @param {object} [options]
+   *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+   * @returns {Promise} - The promise which resolves to an array.
+   *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1.SslCertsInsertResponse|SslCertsInsertResponse}.
+   *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
+   *   for more details and examples.
+   * @example <caption>include:samples/generated/v1/sql_ssl_certs_service.insert.js</caption>
+   * region_tag:sqladmin_v1_generated_SqlSslCertsService_Insert_async
+   */
   insert(
-      request?: protos.google.cloud.sql.v1.ISqlSslCertsInsertRequest,
-      options?: CallOptions):
-      Promise<[
-        protos.google.cloud.sql.v1.ISslCertsInsertResponse,
-        protos.google.cloud.sql.v1.ISqlSslCertsInsertRequest|undefined, {}|undefined
-      ]>;
+    request?: protos.google.cloud.sql.v1.ISqlSslCertsInsertRequest,
+    options?: CallOptions,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1.ISslCertsInsertResponse,
+      protos.google.cloud.sql.v1.ISqlSslCertsInsertRequest | undefined,
+      {} | undefined,
+    ]
+  >;
   insert(
-      request: protos.google.cloud.sql.v1.ISqlSslCertsInsertRequest,
-      options: CallOptions,
-      callback: Callback<
-          protos.google.cloud.sql.v1.ISslCertsInsertResponse,
-          protos.google.cloud.sql.v1.ISqlSslCertsInsertRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1.ISqlSslCertsInsertRequest,
+    options: CallOptions,
+    callback: Callback<
+      protos.google.cloud.sql.v1.ISslCertsInsertResponse,
+      protos.google.cloud.sql.v1.ISqlSslCertsInsertRequest | null | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   insert(
-      request: protos.google.cloud.sql.v1.ISqlSslCertsInsertRequest,
-      callback: Callback<
-          protos.google.cloud.sql.v1.ISslCertsInsertResponse,
-          protos.google.cloud.sql.v1.ISqlSslCertsInsertRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1.ISqlSslCertsInsertRequest,
+    callback: Callback<
+      protos.google.cloud.sql.v1.ISslCertsInsertResponse,
+      protos.google.cloud.sql.v1.ISqlSslCertsInsertRequest | null | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   insert(
-      request?: protos.google.cloud.sql.v1.ISqlSslCertsInsertRequest,
-      optionsOrCallback?: CallOptions|Callback<
-          protos.google.cloud.sql.v1.ISslCertsInsertResponse,
-          protos.google.cloud.sql.v1.ISqlSslCertsInsertRequest|null|undefined,
-          {}|null|undefined>,
-      callback?: Callback<
+    request?: protos.google.cloud.sql.v1.ISqlSslCertsInsertRequest,
+    optionsOrCallback?:
+      | CallOptions
+      | Callback<
           protos.google.cloud.sql.v1.ISslCertsInsertResponse,
-          protos.google.cloud.sql.v1.ISqlSslCertsInsertRequest|null|undefined,
-          {}|null|undefined>):
-      Promise<[
-        protos.google.cloud.sql.v1.ISslCertsInsertResponse,
-        protos.google.cloud.sql.v1.ISqlSslCertsInsertRequest|undefined, {}|undefined
-      ]>|void {
+          | protos.google.cloud.sql.v1.ISqlSslCertsInsertRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >,
+    callback?: Callback<
+      protos.google.cloud.sql.v1.ISslCertsInsertResponse,
+      protos.google.cloud.sql.v1.ISqlSslCertsInsertRequest | null | undefined,
+      {} | null | undefined
+    >,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1.ISslCertsInsertResponse,
+      protos.google.cloud.sql.v1.ISqlSslCertsInsertRequest | undefined,
+      {} | undefined,
+    ]
+  > | void {
     request = request || {};
     let options: CallOptions;
     if (typeof optionsOrCallback === 'function' && callback === undefined) {
       callback = optionsOrCallback;
       options = {};
-    }
-    else {
+    } else {
       options = optionsOrCallback as CallOptions;
     }
     options = options || {};
     options.otherArgs = options.otherArgs || {};
     options.otherArgs.headers = options.otherArgs.headers || {};
-    options.otherArgs.headers[
-      'x-goog-request-params'
-    ] = this._gaxModule.routingHeader.fromParams({
-      'project': request.project ?? '',
-      'instance': request.instance ?? '',
+    options.otherArgs.headers['x-goog-request-params'] =
+      this._gaxModule.routingHeader.fromParams({
+        project: request.project ?? '',
+        instance: request.instance ?? '',
+      });
+    this.initialize().catch((err) => {
+      throw err;
     });
-    this.initialize().catch(err => {throw err});
     this._log.info('insert request %j', request);
-    const wrappedCallback: Callback<
-        protos.google.cloud.sql.v1.ISslCertsInsertResponse,
-        protos.google.cloud.sql.v1.ISqlSslCertsInsertRequest|null|undefined,
-        {}|null|undefined>|undefined = callback
+    const wrappedCallback:
+      | Callback<
+          protos.google.cloud.sql.v1.ISslCertsInsertResponse,
+          | protos.google.cloud.sql.v1.ISqlSslCertsInsertRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >
+      | undefined = callback
       ? (error, response, options, rawResponse) => {
           this._log.info('insert response %j', response);
           callback!(error, response, options, rawResponse); // We verified callback above.
         }
       : undefined;
-    return this.innerApiCalls.insert(request, options, wrappedCallback)
-      ?.then(([response, options, rawResponse]: [
-        protos.google.cloud.sql.v1.ISslCertsInsertResponse,
-        protos.google.cloud.sql.v1.ISqlSslCertsInsertRequest|undefined,
-        {}|undefined
-      ]) => {
-        this._log.info('insert response %j', response);
-        return [response, options, rawResponse];
-      }).catch((error: any) => {
-        if (error && 'statusDetails' in error && error.statusDetails instanceof Array) {
-          const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type;
-          error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos);
+    return this.innerApiCalls
+      .insert(request, options, wrappedCallback)
+      ?.then(
+        ([response, options, rawResponse]: [
+          protos.google.cloud.sql.v1.ISslCertsInsertResponse,
+          protos.google.cloud.sql.v1.ISqlSslCertsInsertRequest | undefined,
+          {} | undefined,
+        ]) => {
+          this._log.info('insert response %j', response);
+          return [response, options, rawResponse];
+        },
+      )
+      .catch((error: any) => {
+        if (
+          error &&
+          'statusDetails' in error &&
+          error.statusDetails instanceof Array
+        ) {
+          const protos = this._gaxModule.protobuf.Root.fromJSON(
+            jsonProtos,
+          ) as unknown as gax.protobuf.Type;
+          error.statusDetails = decodeAnyProtosInArray(
+            error.statusDetails,
+            protos,
+          );
         }
         throw error;
       });
   }
-/**
- * Lists all of the current SSL certificates for the instance.
- *
- * @param {Object} request
- *   The request object that will be sent.
- * @param {string} request.instance
- *   Cloud SQL instance ID. This does not include the project ID.
- * @param {string} request.project
- *   Project ID of the project that contains the instance.
- * @param {object} [options]
- *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
- * @returns {Promise} - The promise which resolves to an array.
- *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1.SslCertsListResponse|SslCertsListResponse}.
- *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
- *   for more details and examples.
- * @example <caption>include:samples/generated/v1/sql_ssl_certs_service.list.js</caption>
- * region_tag:sqladmin_v1_generated_SqlSslCertsService_List_async
- */
+  /**
+   * Lists all of the current SSL certificates for the instance.
+   *
+   * @param {Object} request
+   *   The request object that will be sent.
+   * @param {string} request.instance
+   *   Cloud SQL instance ID. This does not include the project ID.
+   * @param {string} request.project
+   *   Project ID of the project that contains the instance.
+   * @param {object} [options]
+   *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+   * @returns {Promise} - The promise which resolves to an array.
+   *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1.SslCertsListResponse|SslCertsListResponse}.
+   *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
+   *   for more details and examples.
+   * @example <caption>include:samples/generated/v1/sql_ssl_certs_service.list.js</caption>
+   * region_tag:sqladmin_v1_generated_SqlSslCertsService_List_async
+   */
   list(
-      request?: protos.google.cloud.sql.v1.ISqlSslCertsListRequest,
-      options?: CallOptions):
-      Promise<[
-        protos.google.cloud.sql.v1.ISslCertsListResponse,
-        protos.google.cloud.sql.v1.ISqlSslCertsListRequest|undefined, {}|undefined
-      ]>;
+    request?: protos.google.cloud.sql.v1.ISqlSslCertsListRequest,
+    options?: CallOptions,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1.ISslCertsListResponse,
+      protos.google.cloud.sql.v1.ISqlSslCertsListRequest | undefined,
+      {} | undefined,
+    ]
+  >;
   list(
-      request: protos.google.cloud.sql.v1.ISqlSslCertsListRequest,
-      options: CallOptions,
-      callback: Callback<
-          protos.google.cloud.sql.v1.ISslCertsListResponse,
-          protos.google.cloud.sql.v1.ISqlSslCertsListRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1.ISqlSslCertsListRequest,
+    options: CallOptions,
+    callback: Callback<
+      protos.google.cloud.sql.v1.ISslCertsListResponse,
+      protos.google.cloud.sql.v1.ISqlSslCertsListRequest | null | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   list(
-      request: protos.google.cloud.sql.v1.ISqlSslCertsListRequest,
-      callback: Callback<
-          protos.google.cloud.sql.v1.ISslCertsListResponse,
-          protos.google.cloud.sql.v1.ISqlSslCertsListRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1.ISqlSslCertsListRequest,
+    callback: Callback<
+      protos.google.cloud.sql.v1.ISslCertsListResponse,
+      protos.google.cloud.sql.v1.ISqlSslCertsListRequest | null | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   list(
-      request?: protos.google.cloud.sql.v1.ISqlSslCertsListRequest,
-      optionsOrCallback?: CallOptions|Callback<
-          protos.google.cloud.sql.v1.ISslCertsListResponse,
-          protos.google.cloud.sql.v1.ISqlSslCertsListRequest|null|undefined,
-          {}|null|undefined>,
-      callback?: Callback<
+    request?: protos.google.cloud.sql.v1.ISqlSslCertsListRequest,
+    optionsOrCallback?:
+      | CallOptions
+      | Callback<
           protos.google.cloud.sql.v1.ISslCertsListResponse,
-          protos.google.cloud.sql.v1.ISqlSslCertsListRequest|null|undefined,
-          {}|null|undefined>):
-      Promise<[
-        protos.google.cloud.sql.v1.ISslCertsListResponse,
-        protos.google.cloud.sql.v1.ISqlSslCertsListRequest|undefined, {}|undefined
-      ]>|void {
+          protos.google.cloud.sql.v1.ISqlSslCertsListRequest | null | undefined,
+          {} | null | undefined
+        >,
+    callback?: Callback<
+      protos.google.cloud.sql.v1.ISslCertsListResponse,
+      protos.google.cloud.sql.v1.ISqlSslCertsListRequest | null | undefined,
+      {} | null | undefined
+    >,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1.ISslCertsListResponse,
+      protos.google.cloud.sql.v1.ISqlSslCertsListRequest | undefined,
+      {} | undefined,
+    ]
+  > | void {
     request = request || {};
     let options: CallOptions;
     if (typeof optionsOrCallback === 'function' && callback === undefined) {
       callback = optionsOrCallback;
       options = {};
-    }
-    else {
+    } else {
       options = optionsOrCallback as CallOptions;
     }
     options = options || {};
     options.otherArgs = options.otherArgs || {};
     options.otherArgs.headers = options.otherArgs.headers || {};
-    options.otherArgs.headers[
-      'x-goog-request-params'
-    ] = this._gaxModule.routingHeader.fromParams({
-      'project': request.project ?? '',
-      'instance': request.instance ?? '',
+    options.otherArgs.headers['x-goog-request-params'] =
+      this._gaxModule.routingHeader.fromParams({
+        project: request.project ?? '',
+        instance: request.instance ?? '',
+      });
+    this.initialize().catch((err) => {
+      throw err;
     });
-    this.initialize().catch(err => {throw err});
     this._log.info('list request %j', request);
-    const wrappedCallback: Callback<
-        protos.google.cloud.sql.v1.ISslCertsListResponse,
-        protos.google.cloud.sql.v1.ISqlSslCertsListRequest|null|undefined,
-        {}|null|undefined>|undefined = callback
+    const wrappedCallback:
+      | Callback<
+          protos.google.cloud.sql.v1.ISslCertsListResponse,
+          protos.google.cloud.sql.v1.ISqlSslCertsListRequest | null | undefined,
+          {} | null | undefined
+        >
+      | undefined = callback
       ? (error, response, options, rawResponse) => {
           this._log.info('list response %j', response);
           callback!(error, response, options, rawResponse); // We verified callback above.
         }
       : undefined;
-    return this.innerApiCalls.list(request, options, wrappedCallback)
-      ?.then(([response, options, rawResponse]: [
-        protos.google.cloud.sql.v1.ISslCertsListResponse,
-        protos.google.cloud.sql.v1.ISqlSslCertsListRequest|undefined,
-        {}|undefined
-      ]) => {
-        this._log.info('list response %j', response);
-        return [response, options, rawResponse];
-      }).catch((error: any) => {
-        if (error && 'statusDetails' in error && error.statusDetails instanceof Array) {
-          const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type;
-          error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos);
+    return this.innerApiCalls
+      .list(request, options, wrappedCallback)
+      ?.then(
+        ([response, options, rawResponse]: [
+          protos.google.cloud.sql.v1.ISslCertsListResponse,
+          protos.google.cloud.sql.v1.ISqlSslCertsListRequest | undefined,
+          {} | undefined,
+        ]) => {
+          this._log.info('list response %j', response);
+          return [response, options, rawResponse];
+        },
+      )
+      .catch((error: any) => {
+        if (
+          error &&
+          'statusDetails' in error &&
+          error.statusDetails instanceof Array
+        ) {
+          const protos = this._gaxModule.protobuf.Root.fromJSON(
+            jsonProtos,
+          ) as unknown as gax.protobuf.Type;
+          error.statusDetails = decodeAnyProtosInArray(
+            error.statusDetails,
+            protos,
+          );
         }
         throw error;
       });
   }
 
-/**
+  /**
    * Gets information about a location.
    *
    * @param {Object} request
@@ -770,12 +942,11 @@ export class SqlSslCertsServiceClient {
       | null
       | undefined,
       {} | null | undefined
-    >
+    >,
   ): Promise<LocationProtos.google.cloud.location.ILocation> {
     return this.locationsClient.getLocation(request, options, callback);
   }
-
-/**
+  /**
    * Lists information about the supported locations for this service. Returns an iterable object.
    *
    * `for`-`await`-`of` syntax is used with the iterable to get response elements on-demand.
@@ -808,7 +979,7 @@ export class SqlSslCertsServiceClient {
    */
   listLocationsAsync(
     request: LocationProtos.google.cloud.location.IListLocationsRequest,
-    options?: CallOptions
+    options?: CallOptions,
   ): AsyncIterable<LocationProtos.google.cloud.location.ILocation> {
     return this.locationsClient.listLocationsAsync(request, options);
   }
@@ -824,7 +995,7 @@ export class SqlSslCertsServiceClient {
    * @param {string} backup
    * @returns {string} Resource name string.
    */
-  backupPath(project:string,backup:string) {
+  backupPath(project: string, backup: string) {
     return this.pathTemplates.backupPathTemplate.render({
       project: project,
       backup: backup,
@@ -861,13 +1032,15 @@ export class SqlSslCertsServiceClient {
    */
   close(): Promise<void> {
     if (this.sqlSslCertsServiceStub && !this._terminated) {
-      return this.sqlSslCertsServiceStub.then(stub => {
+      return this.sqlSslCertsServiceStub.then((stub) => {
         this._log.info('ending gRPC channel');
         this._terminated = true;
         stub.close();
-        this.locationsClient.close().catch(err => {throw err});
+        this.locationsClient.close().catch((err) => {
+          throw err;
+        });
       });
     }
     return Promise.resolve();
   }
-}
\ No newline at end of file
+}
diff --git a/packages/google-cloud-sql/src/v1/sql_tiers_service_client.ts b/packages/google-cloud-sql/src/v1/sql_tiers_service_client.ts
index f8c5bac50336..559916f53617 100644
--- a/packages/google-cloud-sql/src/v1/sql_tiers_service_client.ts
+++ b/packages/google-cloud-sql/src/v1/sql_tiers_service_client.ts
@@ -18,11 +18,18 @@
 
 /* global window */
 import type * as gax from 'google-gax';
-import type {Callback, CallOptions, Descriptors, ClientOptions, LocationsClient, LocationProtos} from 'google-gax';
+import type {
+  Callback,
+  CallOptions,
+  Descriptors,
+  ClientOptions,
+  LocationsClient,
+  LocationProtos,
+} from 'google-gax';
 
 import * as protos from '../../protos/protos';
 import jsonProtos = require('../../protos/protos.json');
-import {loggingUtils as logging, decodeAnyProtosInArray} from 'google-gax';
+import { loggingUtils as logging, decodeAnyProtosInArray } from 'google-gax';
 
 /**
  * Client JSON configuration object, loaded from
@@ -44,7 +51,7 @@ export class SqlTiersServiceClient {
   private _gaxModule: typeof gax | typeof gax.fallback;
   private _gaxGrpc: gax.GrpcClient | gax.fallback.GrpcClient;
   private _protos: {};
-  private _defaults: {[method: string]: gax.CallSettings};
+  private _defaults: { [method: string]: gax.CallSettings };
   private _universeDomain: string;
   private _servicePath: string;
   private _log = logging.log('sql');
@@ -57,10 +64,10 @@ export class SqlTiersServiceClient {
     batching: {},
   };
   warn: (code: string, message: string, warnType?: string) => void;
-  innerApiCalls: {[name: string]: Function};
+  innerApiCalls: { [name: string]: Function };
   locationsClient: LocationsClient;
-  pathTemplates: {[name: string]: gax.PathTemplate};
-  sqlTiersServiceStub?: Promise<{[name: string]: Function}>;
+  pathTemplates: { [name: string]: gax.PathTemplate };
+  sqlTiersServiceStub?: Promise<{ [name: string]: Function }>;
 
   /**
    * Construct an instance of SqlTiersServiceClient.
@@ -101,21 +108,42 @@ export class SqlTiersServiceClient {
    *     const client = new SqlTiersServiceClient({fallback: true}, gax);
    *     ```
    */
-  constructor(opts?: ClientOptions, gaxInstance?: typeof gax | typeof gax.fallback) {
+  constructor(
+    opts?: ClientOptions,
+    gaxInstance?: typeof gax | typeof gax.fallback,
+  ) {
     // Ensure that options include all the required fields.
     const staticMembers = this.constructor as typeof SqlTiersServiceClient;
-    if (opts?.universe_domain && opts?.universeDomain && opts?.universe_domain !== opts?.universeDomain) {
-      throw new Error('Please set either universe_domain or universeDomain, but not both.');
+    if (
+      opts?.universe_domain &&
+      opts?.universeDomain &&
+      opts?.universe_domain !== opts?.universeDomain
+    ) {
+      throw new Error(
+        'Please set either universe_domain or universeDomain, but not both.',
+      );
     }
-    const universeDomainEnvVar = (typeof process === 'object' && typeof process.env === 'object') ? process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] : undefined;
-    this._universeDomain = opts?.universeDomain ?? opts?.universe_domain ?? universeDomainEnvVar ?? 'googleapis.com';
+    const universeDomainEnvVar =
+      typeof process === 'object' && typeof process.env === 'object'
+        ? process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN']
+        : undefined;
+    this._universeDomain =
+      opts?.universeDomain ??
+      opts?.universe_domain ??
+      universeDomainEnvVar ??
+      'googleapis.com';
     this._servicePath = 'sqladmin.' + this._universeDomain;
-    const servicePath = opts?.servicePath || opts?.apiEndpoint || this._servicePath;
-    this._providedCustomServicePath = !!(opts?.servicePath || opts?.apiEndpoint);
+    const servicePath =
+      opts?.servicePath || opts?.apiEndpoint || this._servicePath;
+    this._providedCustomServicePath = !!(
+      opts?.servicePath || opts?.apiEndpoint
+    );
     const port = opts?.port || staticMembers.port;
     const clientConfig = opts?.clientConfig ?? {};
-    const fallback = opts?.fallback ?? (typeof window !== 'undefined' && typeof window?.fetch === 'function');
-    opts = Object.assign({servicePath, port, clientConfig, fallback}, opts);
+    const fallback =
+      opts?.fallback ??
+      (typeof window !== 'undefined' && typeof window?.fetch === 'function');
+    opts = Object.assign({ servicePath, port, clientConfig, fallback }, opts);
 
     // Request numeric enum values if REST transport is used.
     opts.numericEnums = true;
@@ -140,7 +168,7 @@ export class SqlTiersServiceClient {
     this._opts = opts;
 
     // Save the auth object to the client, for use by other methods.
-    this.auth = (this._gaxGrpc.auth as gax.GoogleAuth);
+    this.auth = this._gaxGrpc.auth as gax.GoogleAuth;
 
     // Set useJWTAccessWithScope on the auth object.
     this.auth.useJWTAccessWithScope = true;
@@ -154,15 +182,11 @@ export class SqlTiersServiceClient {
     }
     this.locationsClient = new this._gaxModule.LocationsClient(
       this._gaxGrpc,
-      opts
+      opts,
     );
-  
 
     // Determine the client header string.
-    const clientHeader = [
-      `gax/${this._gaxModule.version}`,
-      `gapic/${version}`,
-    ];
+    const clientHeader = [`gax/${this._gaxModule.version}`, `gapic/${version}`];
     if (typeof process === 'object' && 'versions' in process) {
       clientHeader.push(`gl-node/${process.versions.node}`);
     } else {
@@ -184,14 +208,17 @@ export class SqlTiersServiceClient {
     // Create useful helper objects for these.
     this.pathTemplates = {
       backupPathTemplate: new this._gaxModule.PathTemplate(
-        'projects/{project}/backups/{backup}'
+        'projects/{project}/backups/{backup}',
       ),
     };
 
     // Put together the default options sent with requests.
     this._defaults = this._gaxGrpc.constructSettings(
-        'google.cloud.sql.v1.SqlTiersService', gapicConfig as gax.ClientConfig,
-        opts.clientConfig || {}, {'x-goog-api-client': clientHeader.join(' ')});
+      'google.cloud.sql.v1.SqlTiersService',
+      gapicConfig as gax.ClientConfig,
+      opts.clientConfig || {},
+      { 'x-goog-api-client': clientHeader.join(' ') },
+    );
 
     // Set up a dictionary of "inner API calls"; the core implementation
     // of calling the API is handled in `google-gax`, with this code
@@ -222,36 +249,40 @@ export class SqlTiersServiceClient {
     // Put together the "service stub" for
     // google.cloud.sql.v1.SqlTiersService.
     this.sqlTiersServiceStub = this._gaxGrpc.createStub(
-        this._opts.fallback ?
-          (this._protos as protobuf.Root).lookupService('google.cloud.sql.v1.SqlTiersService') :
-          // eslint-disable-next-line @typescript-eslint/no-explicit-any
+      this._opts.fallback
+        ? (this._protos as protobuf.Root).lookupService(
+            'google.cloud.sql.v1.SqlTiersService',
+          )
+        : // eslint-disable-next-line @typescript-eslint/no-explicit-any
           (this._protos as any).google.cloud.sql.v1.SqlTiersService,
-        this._opts, this._providedCustomServicePath) as Promise<{[method: string]: Function}>;
+      this._opts,
+      this._providedCustomServicePath,
+    ) as Promise<{ [method: string]: Function }>;
 
     // Iterate over each of the methods that the service provides
     // and create an API call method for each.
-    const sqlTiersServiceStubMethods =
-        ['list'];
+    const sqlTiersServiceStubMethods = ['list'];
     for (const methodName of sqlTiersServiceStubMethods) {
       const callPromise = this.sqlTiersServiceStub.then(
-        stub => (...args: Array<{}>) => {
-          if (this._terminated) {
-            return Promise.reject('The client has already been closed.');
-          }
-          const func = stub[methodName];
-          return func.apply(stub, args);
-        },
-        (err: Error|null|undefined) => () => {
+        (stub) =>
+          (...args: Array<{}>) => {
+            if (this._terminated) {
+              return Promise.reject('The client has already been closed.');
+            }
+            const func = stub[methodName];
+            return func.apply(stub, args);
+          },
+        (err: Error | null | undefined) => () => {
           throw err;
-        });
+        },
+      );
 
-      const descriptor =
-        undefined;
+      const descriptor = undefined;
       const apiCall = this._gaxModule.createApiCall(
         callPromise,
         this._defaults[methodName],
         descriptor,
-        this._opts.fallback
+        this._opts.fallback,
       );
 
       this.innerApiCalls[methodName] = apiCall;
@@ -266,8 +297,14 @@ export class SqlTiersServiceClient {
    * @returns {string} The DNS address for this service.
    */
   static get servicePath() {
-    if (typeof process === 'object' && typeof process.emitWarning === 'function') {
-      process.emitWarning('Static servicePath is deprecated, please use the instance method instead.', 'DeprecationWarning');
+    if (
+      typeof process === 'object' &&
+      typeof process.emitWarning === 'function'
+    ) {
+      process.emitWarning(
+        'Static servicePath is deprecated, please use the instance method instead.',
+        'DeprecationWarning',
+      );
     }
     return 'sqladmin.googleapis.com';
   }
@@ -278,8 +315,14 @@ export class SqlTiersServiceClient {
    * @returns {string} The DNS address for this service.
    */
   static get apiEndpoint() {
-    if (typeof process === 'object' && typeof process.emitWarning === 'function') {
-      process.emitWarning('Static apiEndpoint is deprecated, please use the instance method instead.', 'DeprecationWarning');
+    if (
+      typeof process === 'object' &&
+      typeof process.emitWarning === 'function'
+    ) {
+      process.emitWarning(
+        'Static apiEndpoint is deprecated, please use the instance method instead.',
+        'DeprecationWarning',
+      );
     }
     return 'sqladmin.googleapis.com';
   }
@@ -312,7 +355,7 @@ export class SqlTiersServiceClient {
   static get scopes() {
     return [
       'https://www.googleapis.com/auth/cloud-platform',
-      'https://www.googleapis.com/auth/sqlservice.admin'
+      'https://www.googleapis.com/auth/sqlservice.admin',
     ];
   }
 
@@ -322,8 +365,9 @@ export class SqlTiersServiceClient {
    * Return the project ID used by this class.
    * @returns {Promise} A promise that resolves to string containing the project ID.
    */
-  getProjectId(callback?: Callback<string, undefined, undefined>):
-      Promise<string>|void {
+  getProjectId(
+    callback?: Callback<string, undefined, undefined>,
+  ): Promise<string> | void {
     if (callback) {
       this.auth.getProjectId(callback);
       return;
@@ -334,104 +378,134 @@ export class SqlTiersServiceClient {
   // -------------------
   // -- Service calls --
   // -------------------
-/**
- * Lists all available machine types (tiers) for Cloud SQL, for example,
- * `db-custom-1-3840`. For more information, see
- * https://cloud.google.com/sql/pricing.
- *
- * @param {Object} request
- *   The request object that will be sent.
- * @param {string} request.project
- *   Project ID of the project for which to list tiers.
- * @param {object} [options]
- *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
- * @returns {Promise} - The promise which resolves to an array.
- *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1.TiersListResponse|TiersListResponse}.
- *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
- *   for more details and examples.
- * @example <caption>include:samples/generated/v1/sql_tiers_service.list.js</caption>
- * region_tag:sqladmin_v1_generated_SqlTiersService_List_async
- */
+  /**
+   * Lists all available machine types (tiers) for Cloud SQL, for example,
+   * `db-custom-1-3840`. For more information, see
+   * https://cloud.google.com/sql/pricing.
+   *
+   * @param {Object} request
+   *   The request object that will be sent.
+   * @param {string} request.project
+   *   Project ID of the project for which to list tiers.
+   * @param {object} [options]
+   *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+   * @returns {Promise} - The promise which resolves to an array.
+   *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1.TiersListResponse|TiersListResponse}.
+   *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
+   *   for more details and examples.
+   * @example <caption>include:samples/generated/v1/sql_tiers_service.list.js</caption>
+   * region_tag:sqladmin_v1_generated_SqlTiersService_List_async
+   */
   list(
-      request?: protos.google.cloud.sql.v1.ISqlTiersListRequest,
-      options?: CallOptions):
-      Promise<[
-        protos.google.cloud.sql.v1.ITiersListResponse,
-        protos.google.cloud.sql.v1.ISqlTiersListRequest|undefined, {}|undefined
-      ]>;
+    request?: protos.google.cloud.sql.v1.ISqlTiersListRequest,
+    options?: CallOptions,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1.ITiersListResponse,
+      protos.google.cloud.sql.v1.ISqlTiersListRequest | undefined,
+      {} | undefined,
+    ]
+  >;
   list(
-      request: protos.google.cloud.sql.v1.ISqlTiersListRequest,
-      options: CallOptions,
-      callback: Callback<
-          protos.google.cloud.sql.v1.ITiersListResponse,
-          protos.google.cloud.sql.v1.ISqlTiersListRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1.ISqlTiersListRequest,
+    options: CallOptions,
+    callback: Callback<
+      protos.google.cloud.sql.v1.ITiersListResponse,
+      protos.google.cloud.sql.v1.ISqlTiersListRequest | null | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   list(
-      request: protos.google.cloud.sql.v1.ISqlTiersListRequest,
-      callback: Callback<
-          protos.google.cloud.sql.v1.ITiersListResponse,
-          protos.google.cloud.sql.v1.ISqlTiersListRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1.ISqlTiersListRequest,
+    callback: Callback<
+      protos.google.cloud.sql.v1.ITiersListResponse,
+      protos.google.cloud.sql.v1.ISqlTiersListRequest | null | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   list(
-      request?: protos.google.cloud.sql.v1.ISqlTiersListRequest,
-      optionsOrCallback?: CallOptions|Callback<
-          protos.google.cloud.sql.v1.ITiersListResponse,
-          protos.google.cloud.sql.v1.ISqlTiersListRequest|null|undefined,
-          {}|null|undefined>,
-      callback?: Callback<
+    request?: protos.google.cloud.sql.v1.ISqlTiersListRequest,
+    optionsOrCallback?:
+      | CallOptions
+      | Callback<
           protos.google.cloud.sql.v1.ITiersListResponse,
-          protos.google.cloud.sql.v1.ISqlTiersListRequest|null|undefined,
-          {}|null|undefined>):
-      Promise<[
-        protos.google.cloud.sql.v1.ITiersListResponse,
-        protos.google.cloud.sql.v1.ISqlTiersListRequest|undefined, {}|undefined
-      ]>|void {
+          protos.google.cloud.sql.v1.ISqlTiersListRequest | null | undefined,
+          {} | null | undefined
+        >,
+    callback?: Callback<
+      protos.google.cloud.sql.v1.ITiersListResponse,
+      protos.google.cloud.sql.v1.ISqlTiersListRequest | null | undefined,
+      {} | null | undefined
+    >,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1.ITiersListResponse,
+      protos.google.cloud.sql.v1.ISqlTiersListRequest | undefined,
+      {} | undefined,
+    ]
+  > | void {
     request = request || {};
     let options: CallOptions;
     if (typeof optionsOrCallback === 'function' && callback === undefined) {
       callback = optionsOrCallback;
       options = {};
-    }
-    else {
+    } else {
       options = optionsOrCallback as CallOptions;
     }
     options = options || {};
     options.otherArgs = options.otherArgs || {};
     options.otherArgs.headers = options.otherArgs.headers || {};
-    options.otherArgs.headers[
-      'x-goog-request-params'
-    ] = this._gaxModule.routingHeader.fromParams({
-      'project': request.project ?? '',
+    options.otherArgs.headers['x-goog-request-params'] =
+      this._gaxModule.routingHeader.fromParams({
+        project: request.project ?? '',
+      });
+    this.initialize().catch((err) => {
+      throw err;
     });
-    this.initialize().catch(err => {throw err});
     this._log.info('list request %j', request);
-    const wrappedCallback: Callback<
-        protos.google.cloud.sql.v1.ITiersListResponse,
-        protos.google.cloud.sql.v1.ISqlTiersListRequest|null|undefined,
-        {}|null|undefined>|undefined = callback
+    const wrappedCallback:
+      | Callback<
+          protos.google.cloud.sql.v1.ITiersListResponse,
+          protos.google.cloud.sql.v1.ISqlTiersListRequest | null | undefined,
+          {} | null | undefined
+        >
+      | undefined = callback
       ? (error, response, options, rawResponse) => {
           this._log.info('list response %j', response);
           callback!(error, response, options, rawResponse); // We verified callback above.
         }
       : undefined;
-    return this.innerApiCalls.list(request, options, wrappedCallback)
-      ?.then(([response, options, rawResponse]: [
-        protos.google.cloud.sql.v1.ITiersListResponse,
-        protos.google.cloud.sql.v1.ISqlTiersListRequest|undefined,
-        {}|undefined
-      ]) => {
-        this._log.info('list response %j', response);
-        return [response, options, rawResponse];
-      }).catch((error: any) => {
-        if (error && 'statusDetails' in error && error.statusDetails instanceof Array) {
-          const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type;
-          error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos);
+    return this.innerApiCalls
+      .list(request, options, wrappedCallback)
+      ?.then(
+        ([response, options, rawResponse]: [
+          protos.google.cloud.sql.v1.ITiersListResponse,
+          protos.google.cloud.sql.v1.ISqlTiersListRequest | undefined,
+          {} | undefined,
+        ]) => {
+          this._log.info('list response %j', response);
+          return [response, options, rawResponse];
+        },
+      )
+      .catch((error: any) => {
+        if (
+          error &&
+          'statusDetails' in error &&
+          error.statusDetails instanceof Array
+        ) {
+          const protos = this._gaxModule.protobuf.Root.fromJSON(
+            jsonProtos,
+          ) as unknown as gax.protobuf.Type;
+          error.statusDetails = decodeAnyProtosInArray(
+            error.statusDetails,
+            protos,
+          );
         }
         throw error;
       });
   }
 
-/**
+  /**
    * Gets information about a location.
    *
    * @param {Object} request
@@ -466,12 +540,11 @@ export class SqlTiersServiceClient {
       | null
       | undefined,
       {} | null | undefined
-    >
+    >,
   ): Promise<LocationProtos.google.cloud.location.ILocation> {
     return this.locationsClient.getLocation(request, options, callback);
   }
-
-/**
+  /**
    * Lists information about the supported locations for this service. Returns an iterable object.
    *
    * `for`-`await`-`of` syntax is used with the iterable to get response elements on-demand.
@@ -504,7 +577,7 @@ export class SqlTiersServiceClient {
    */
   listLocationsAsync(
     request: LocationProtos.google.cloud.location.IListLocationsRequest,
-    options?: CallOptions
+    options?: CallOptions,
   ): AsyncIterable<LocationProtos.google.cloud.location.ILocation> {
     return this.locationsClient.listLocationsAsync(request, options);
   }
@@ -520,7 +593,7 @@ export class SqlTiersServiceClient {
    * @param {string} backup
    * @returns {string} Resource name string.
    */
-  backupPath(project:string,backup:string) {
+  backupPath(project: string, backup: string) {
     return this.pathTemplates.backupPathTemplate.render({
       project: project,
       backup: backup,
@@ -557,13 +630,15 @@ export class SqlTiersServiceClient {
    */
   close(): Promise<void> {
     if (this.sqlTiersServiceStub && !this._terminated) {
-      return this.sqlTiersServiceStub.then(stub => {
+      return this.sqlTiersServiceStub.then((stub) => {
         this._log.info('ending gRPC channel');
         this._terminated = true;
         stub.close();
-        this.locationsClient.close().catch(err => {throw err});
+        this.locationsClient.close().catch((err) => {
+          throw err;
+        });
       });
     }
     return Promise.resolve();
   }
-}
\ No newline at end of file
+}
diff --git a/packages/google-cloud-sql/src/v1/sql_users_service_client.ts b/packages/google-cloud-sql/src/v1/sql_users_service_client.ts
index 9550f405ca02..4ef6422ba951 100644
--- a/packages/google-cloud-sql/src/v1/sql_users_service_client.ts
+++ b/packages/google-cloud-sql/src/v1/sql_users_service_client.ts
@@ -18,11 +18,18 @@
 
 /* global window */
 import type * as gax from 'google-gax';
-import type {Callback, CallOptions, Descriptors, ClientOptions, LocationsClient, LocationProtos} from 'google-gax';
+import type {
+  Callback,
+  CallOptions,
+  Descriptors,
+  ClientOptions,
+  LocationsClient,
+  LocationProtos,
+} from 'google-gax';
 
 import * as protos from '../../protos/protos';
 import jsonProtos = require('../../protos/protos.json');
-import {loggingUtils as logging, decodeAnyProtosInArray} from 'google-gax';
+import { loggingUtils as logging, decodeAnyProtosInArray } from 'google-gax';
 
 /**
  * Client JSON configuration object, loaded from
@@ -44,7 +51,7 @@ export class SqlUsersServiceClient {
   private _gaxModule: typeof gax | typeof gax.fallback;
   private _gaxGrpc: gax.GrpcClient | gax.fallback.GrpcClient;
   private _protos: {};
-  private _defaults: {[method: string]: gax.CallSettings};
+  private _defaults: { [method: string]: gax.CallSettings };
   private _universeDomain: string;
   private _servicePath: string;
   private _log = logging.log('sql');
@@ -57,10 +64,10 @@ export class SqlUsersServiceClient {
     batching: {},
   };
   warn: (code: string, message: string, warnType?: string) => void;
-  innerApiCalls: {[name: string]: Function};
+  innerApiCalls: { [name: string]: Function };
   locationsClient: LocationsClient;
-  pathTemplates: {[name: string]: gax.PathTemplate};
-  sqlUsersServiceStub?: Promise<{[name: string]: Function}>;
+  pathTemplates: { [name: string]: gax.PathTemplate };
+  sqlUsersServiceStub?: Promise<{ [name: string]: Function }>;
 
   /**
    * Construct an instance of SqlUsersServiceClient.
@@ -101,21 +108,42 @@ export class SqlUsersServiceClient {
    *     const client = new SqlUsersServiceClient({fallback: true}, gax);
    *     ```
    */
-  constructor(opts?: ClientOptions, gaxInstance?: typeof gax | typeof gax.fallback) {
+  constructor(
+    opts?: ClientOptions,
+    gaxInstance?: typeof gax | typeof gax.fallback,
+  ) {
     // Ensure that options include all the required fields.
     const staticMembers = this.constructor as typeof SqlUsersServiceClient;
-    if (opts?.universe_domain && opts?.universeDomain && opts?.universe_domain !== opts?.universeDomain) {
-      throw new Error('Please set either universe_domain or universeDomain, but not both.');
+    if (
+      opts?.universe_domain &&
+      opts?.universeDomain &&
+      opts?.universe_domain !== opts?.universeDomain
+    ) {
+      throw new Error(
+        'Please set either universe_domain or universeDomain, but not both.',
+      );
     }
-    const universeDomainEnvVar = (typeof process === 'object' && typeof process.env === 'object') ? process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] : undefined;
-    this._universeDomain = opts?.universeDomain ?? opts?.universe_domain ?? universeDomainEnvVar ?? 'googleapis.com';
+    const universeDomainEnvVar =
+      typeof process === 'object' && typeof process.env === 'object'
+        ? process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN']
+        : undefined;
+    this._universeDomain =
+      opts?.universeDomain ??
+      opts?.universe_domain ??
+      universeDomainEnvVar ??
+      'googleapis.com';
     this._servicePath = 'sqladmin.' + this._universeDomain;
-    const servicePath = opts?.servicePath || opts?.apiEndpoint || this._servicePath;
-    this._providedCustomServicePath = !!(opts?.servicePath || opts?.apiEndpoint);
+    const servicePath =
+      opts?.servicePath || opts?.apiEndpoint || this._servicePath;
+    this._providedCustomServicePath = !!(
+      opts?.servicePath || opts?.apiEndpoint
+    );
     const port = opts?.port || staticMembers.port;
     const clientConfig = opts?.clientConfig ?? {};
-    const fallback = opts?.fallback ?? (typeof window !== 'undefined' && typeof window?.fetch === 'function');
-    opts = Object.assign({servicePath, port, clientConfig, fallback}, opts);
+    const fallback =
+      opts?.fallback ??
+      (typeof window !== 'undefined' && typeof window?.fetch === 'function');
+    opts = Object.assign({ servicePath, port, clientConfig, fallback }, opts);
 
     // Request numeric enum values if REST transport is used.
     opts.numericEnums = true;
@@ -140,7 +168,7 @@ export class SqlUsersServiceClient {
     this._opts = opts;
 
     // Save the auth object to the client, for use by other methods.
-    this.auth = (this._gaxGrpc.auth as gax.GoogleAuth);
+    this.auth = this._gaxGrpc.auth as gax.GoogleAuth;
 
     // Set useJWTAccessWithScope on the auth object.
     this.auth.useJWTAccessWithScope = true;
@@ -154,15 +182,11 @@ export class SqlUsersServiceClient {
     }
     this.locationsClient = new this._gaxModule.LocationsClient(
       this._gaxGrpc,
-      opts
+      opts,
     );
-  
 
     // Determine the client header string.
-    const clientHeader = [
-      `gax/${this._gaxModule.version}`,
-      `gapic/${version}`,
-    ];
+    const clientHeader = [`gax/${this._gaxModule.version}`, `gapic/${version}`];
     if (typeof process === 'object' && 'versions' in process) {
       clientHeader.push(`gl-node/${process.versions.node}`);
     } else {
@@ -184,14 +208,17 @@ export class SqlUsersServiceClient {
     // Create useful helper objects for these.
     this.pathTemplates = {
       backupPathTemplate: new this._gaxModule.PathTemplate(
-        'projects/{project}/backups/{backup}'
+        'projects/{project}/backups/{backup}',
       ),
     };
 
     // Put together the default options sent with requests.
     this._defaults = this._gaxGrpc.constructSettings(
-        'google.cloud.sql.v1.SqlUsersService', gapicConfig as gax.ClientConfig,
-        opts.clientConfig || {}, {'x-goog-api-client': clientHeader.join(' ')});
+      'google.cloud.sql.v1.SqlUsersService',
+      gapicConfig as gax.ClientConfig,
+      opts.clientConfig || {},
+      { 'x-goog-api-client': clientHeader.join(' ') },
+    );
 
     // Set up a dictionary of "inner API calls"; the core implementation
     // of calling the API is handled in `google-gax`, with this code
@@ -222,36 +249,46 @@ export class SqlUsersServiceClient {
     // Put together the "service stub" for
     // google.cloud.sql.v1.SqlUsersService.
     this.sqlUsersServiceStub = this._gaxGrpc.createStub(
-        this._opts.fallback ?
-          (this._protos as protobuf.Root).lookupService('google.cloud.sql.v1.SqlUsersService') :
-          // eslint-disable-next-line @typescript-eslint/no-explicit-any
+      this._opts.fallback
+        ? (this._protos as protobuf.Root).lookupService(
+            'google.cloud.sql.v1.SqlUsersService',
+          )
+        : // eslint-disable-next-line @typescript-eslint/no-explicit-any
           (this._protos as any).google.cloud.sql.v1.SqlUsersService,
-        this._opts, this._providedCustomServicePath) as Promise<{[method: string]: Function}>;
+      this._opts,
+      this._providedCustomServicePath,
+    ) as Promise<{ [method: string]: Function }>;
 
     // Iterate over each of the methods that the service provides
     // and create an API call method for each.
-    const sqlUsersServiceStubMethods =
-        ['delete', 'get', 'insert', 'list', 'update'];
+    const sqlUsersServiceStubMethods = [
+      'delete',
+      'get',
+      'insert',
+      'list',
+      'update',
+    ];
     for (const methodName of sqlUsersServiceStubMethods) {
       const callPromise = this.sqlUsersServiceStub.then(
-        stub => (...args: Array<{}>) => {
-          if (this._terminated) {
-            return Promise.reject('The client has already been closed.');
-          }
-          const func = stub[methodName];
-          return func.apply(stub, args);
-        },
-        (err: Error|null|undefined) => () => {
+        (stub) =>
+          (...args: Array<{}>) => {
+            if (this._terminated) {
+              return Promise.reject('The client has already been closed.');
+            }
+            const func = stub[methodName];
+            return func.apply(stub, args);
+          },
+        (err: Error | null | undefined) => () => {
           throw err;
-        });
+        },
+      );
 
-      const descriptor =
-        undefined;
+      const descriptor = undefined;
       const apiCall = this._gaxModule.createApiCall(
         callPromise,
         this._defaults[methodName],
         descriptor,
-        this._opts.fallback
+        this._opts.fallback,
       );
 
       this.innerApiCalls[methodName] = apiCall;
@@ -266,8 +303,14 @@ export class SqlUsersServiceClient {
    * @returns {string} The DNS address for this service.
    */
   static get servicePath() {
-    if (typeof process === 'object' && typeof process.emitWarning === 'function') {
-      process.emitWarning('Static servicePath is deprecated, please use the instance method instead.', 'DeprecationWarning');
+    if (
+      typeof process === 'object' &&
+      typeof process.emitWarning === 'function'
+    ) {
+      process.emitWarning(
+        'Static servicePath is deprecated, please use the instance method instead.',
+        'DeprecationWarning',
+      );
     }
     return 'sqladmin.googleapis.com';
   }
@@ -278,8 +321,14 @@ export class SqlUsersServiceClient {
    * @returns {string} The DNS address for this service.
    */
   static get apiEndpoint() {
-    if (typeof process === 'object' && typeof process.emitWarning === 'function') {
-      process.emitWarning('Static apiEndpoint is deprecated, please use the instance method instead.', 'DeprecationWarning');
+    if (
+      typeof process === 'object' &&
+      typeof process.emitWarning === 'function'
+    ) {
+      process.emitWarning(
+        'Static apiEndpoint is deprecated, please use the instance method instead.',
+        'DeprecationWarning',
+      );
     }
     return 'sqladmin.googleapis.com';
   }
@@ -312,7 +361,7 @@ export class SqlUsersServiceClient {
   static get scopes() {
     return [
       'https://www.googleapis.com/auth/cloud-platform',
-      'https://www.googleapis.com/auth/sqlservice.admin'
+      'https://www.googleapis.com/auth/sqlservice.admin',
     ];
   }
 
@@ -322,8 +371,9 @@ export class SqlUsersServiceClient {
    * Return the project ID used by this class.
    * @returns {Promise} A promise that resolves to string containing the project ID.
    */
-  getProjectId(callback?: Callback<string, undefined, undefined>):
-      Promise<string>|void {
+  getProjectId(
+    callback?: Callback<string, undefined, undefined>,
+  ): Promise<string> | void {
     if (callback) {
       this.auth.getProjectId(callback);
       return;
@@ -334,515 +384,665 @@ export class SqlUsersServiceClient {
   // -------------------
   // -- Service calls --
   // -------------------
-/**
- * Deletes a user from a Cloud SQL instance.
- *
- * @param {Object} request
- *   The request object that will be sent.
- * @param {string} request.host
- *   Host of the user in the instance.
- * @param {string} request.instance
- *   Database instance ID. This does not include the project ID.
- * @param {string} request.name
- *   Name of the user in the instance.
- * @param {string} request.project
- *   Project ID of the project that contains the instance.
- * @param {object} [options]
- *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
- * @returns {Promise} - The promise which resolves to an array.
- *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1.Operation|Operation}.
- *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
- *   for more details and examples.
- * @example <caption>include:samples/generated/v1/sql_users_service.delete.js</caption>
- * region_tag:sqladmin_v1_generated_SqlUsersService_Delete_async
- */
+  /**
+   * Deletes a user from a Cloud SQL instance.
+   *
+   * @param {Object} request
+   *   The request object that will be sent.
+   * @param {string} request.host
+   *   Host of the user in the instance.
+   * @param {string} request.instance
+   *   Database instance ID. This does not include the project ID.
+   * @param {string} request.name
+   *   Name of the user in the instance.
+   * @param {string} request.project
+   *   Project ID of the project that contains the instance.
+   * @param {object} [options]
+   *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+   * @returns {Promise} - The promise which resolves to an array.
+   *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1.Operation|Operation}.
+   *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
+   *   for more details and examples.
+   * @example <caption>include:samples/generated/v1/sql_users_service.delete.js</caption>
+   * region_tag:sqladmin_v1_generated_SqlUsersService_Delete_async
+   */
   delete(
-      request?: protos.google.cloud.sql.v1.ISqlUsersDeleteRequest,
-      options?: CallOptions):
-      Promise<[
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlUsersDeleteRequest|undefined, {}|undefined
-      ]>;
+    request?: protos.google.cloud.sql.v1.ISqlUsersDeleteRequest,
+    options?: CallOptions,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1.IOperation,
+      protos.google.cloud.sql.v1.ISqlUsersDeleteRequest | undefined,
+      {} | undefined,
+    ]
+  >;
   delete(
-      request: protos.google.cloud.sql.v1.ISqlUsersDeleteRequest,
-      options: CallOptions,
-      callback: Callback<
-          protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlUsersDeleteRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1.ISqlUsersDeleteRequest,
+    options: CallOptions,
+    callback: Callback<
+      protos.google.cloud.sql.v1.IOperation,
+      protos.google.cloud.sql.v1.ISqlUsersDeleteRequest | null | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   delete(
-      request: protos.google.cloud.sql.v1.ISqlUsersDeleteRequest,
-      callback: Callback<
-          protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlUsersDeleteRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1.ISqlUsersDeleteRequest,
+    callback: Callback<
+      protos.google.cloud.sql.v1.IOperation,
+      protos.google.cloud.sql.v1.ISqlUsersDeleteRequest | null | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   delete(
-      request?: protos.google.cloud.sql.v1.ISqlUsersDeleteRequest,
-      optionsOrCallback?: CallOptions|Callback<
-          protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlUsersDeleteRequest|null|undefined,
-          {}|null|undefined>,
-      callback?: Callback<
+    request?: protos.google.cloud.sql.v1.ISqlUsersDeleteRequest,
+    optionsOrCallback?:
+      | CallOptions
+      | Callback<
           protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlUsersDeleteRequest|null|undefined,
-          {}|null|undefined>):
-      Promise<[
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlUsersDeleteRequest|undefined, {}|undefined
-      ]>|void {
+          protos.google.cloud.sql.v1.ISqlUsersDeleteRequest | null | undefined,
+          {} | null | undefined
+        >,
+    callback?: Callback<
+      protos.google.cloud.sql.v1.IOperation,
+      protos.google.cloud.sql.v1.ISqlUsersDeleteRequest | null | undefined,
+      {} | null | undefined
+    >,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1.IOperation,
+      protos.google.cloud.sql.v1.ISqlUsersDeleteRequest | undefined,
+      {} | undefined,
+    ]
+  > | void {
     request = request || {};
     let options: CallOptions;
     if (typeof optionsOrCallback === 'function' && callback === undefined) {
       callback = optionsOrCallback;
       options = {};
-    }
-    else {
+    } else {
       options = optionsOrCallback as CallOptions;
     }
     options = options || {};
     options.otherArgs = options.otherArgs || {};
     options.otherArgs.headers = options.otherArgs.headers || {};
-    options.otherArgs.headers[
-      'x-goog-request-params'
-    ] = this._gaxModule.routingHeader.fromParams({
-      'project': request.project ?? '',
-      'instance': request.instance ?? '',
+    options.otherArgs.headers['x-goog-request-params'] =
+      this._gaxModule.routingHeader.fromParams({
+        project: request.project ?? '',
+        instance: request.instance ?? '',
+      });
+    this.initialize().catch((err) => {
+      throw err;
     });
-    this.initialize().catch(err => {throw err});
     this._log.info('delete request %j', request);
-    const wrappedCallback: Callback<
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlUsersDeleteRequest|null|undefined,
-        {}|null|undefined>|undefined = callback
+    const wrappedCallback:
+      | Callback<
+          protos.google.cloud.sql.v1.IOperation,
+          protos.google.cloud.sql.v1.ISqlUsersDeleteRequest | null | undefined,
+          {} | null | undefined
+        >
+      | undefined = callback
       ? (error, response, options, rawResponse) => {
           this._log.info('delete response %j', response);
           callback!(error, response, options, rawResponse); // We verified callback above.
         }
       : undefined;
-    return this.innerApiCalls.delete(request, options, wrappedCallback)
-      ?.then(([response, options, rawResponse]: [
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlUsersDeleteRequest|undefined,
-        {}|undefined
-      ]) => {
-        this._log.info('delete response %j', response);
-        return [response, options, rawResponse];
-      }).catch((error: any) => {
-        if (error && 'statusDetails' in error && error.statusDetails instanceof Array) {
-          const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type;
-          error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos);
+    return this.innerApiCalls
+      .delete(request, options, wrappedCallback)
+      ?.then(
+        ([response, options, rawResponse]: [
+          protos.google.cloud.sql.v1.IOperation,
+          protos.google.cloud.sql.v1.ISqlUsersDeleteRequest | undefined,
+          {} | undefined,
+        ]) => {
+          this._log.info('delete response %j', response);
+          return [response, options, rawResponse];
+        },
+      )
+      .catch((error: any) => {
+        if (
+          error &&
+          'statusDetails' in error &&
+          error.statusDetails instanceof Array
+        ) {
+          const protos = this._gaxModule.protobuf.Root.fromJSON(
+            jsonProtos,
+          ) as unknown as gax.protobuf.Type;
+          error.statusDetails = decodeAnyProtosInArray(
+            error.statusDetails,
+            protos,
+          );
         }
         throw error;
       });
   }
-/**
- * Retrieves a resource containing information about a user.
- *
- * @param {Object} request
- *   The request object that will be sent.
- * @param {string} request.instance
- *   Database instance ID. This does not include the project ID.
- * @param {string} request.name
- *   User of the instance.
- * @param {string} request.project
- *   Project ID of the project that contains the instance.
- * @param {string} request.host
- *   Host of a user of the instance.
- * @param {object} [options]
- *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
- * @returns {Promise} - The promise which resolves to an array.
- *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1.User|User}.
- *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
- *   for more details and examples.
- * @example <caption>include:samples/generated/v1/sql_users_service.get.js</caption>
- * region_tag:sqladmin_v1_generated_SqlUsersService_Get_async
- */
+  /**
+   * Retrieves a resource containing information about a user.
+   *
+   * @param {Object} request
+   *   The request object that will be sent.
+   * @param {string} request.instance
+   *   Database instance ID. This does not include the project ID.
+   * @param {string} request.name
+   *   User of the instance.
+   * @param {string} request.project
+   *   Project ID of the project that contains the instance.
+   * @param {string} request.host
+   *   Host of a user of the instance.
+   * @param {object} [options]
+   *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+   * @returns {Promise} - The promise which resolves to an array.
+   *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1.User|User}.
+   *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
+   *   for more details and examples.
+   * @example <caption>include:samples/generated/v1/sql_users_service.get.js</caption>
+   * region_tag:sqladmin_v1_generated_SqlUsersService_Get_async
+   */
   get(
-      request?: protos.google.cloud.sql.v1.ISqlUsersGetRequest,
-      options?: CallOptions):
-      Promise<[
-        protos.google.cloud.sql.v1.IUser,
-        protos.google.cloud.sql.v1.ISqlUsersGetRequest|undefined, {}|undefined
-      ]>;
+    request?: protos.google.cloud.sql.v1.ISqlUsersGetRequest,
+    options?: CallOptions,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1.IUser,
+      protos.google.cloud.sql.v1.ISqlUsersGetRequest | undefined,
+      {} | undefined,
+    ]
+  >;
   get(
-      request: protos.google.cloud.sql.v1.ISqlUsersGetRequest,
-      options: CallOptions,
-      callback: Callback<
-          protos.google.cloud.sql.v1.IUser,
-          protos.google.cloud.sql.v1.ISqlUsersGetRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1.ISqlUsersGetRequest,
+    options: CallOptions,
+    callback: Callback<
+      protos.google.cloud.sql.v1.IUser,
+      protos.google.cloud.sql.v1.ISqlUsersGetRequest | null | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   get(
-      request: protos.google.cloud.sql.v1.ISqlUsersGetRequest,
-      callback: Callback<
-          protos.google.cloud.sql.v1.IUser,
-          protos.google.cloud.sql.v1.ISqlUsersGetRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1.ISqlUsersGetRequest,
+    callback: Callback<
+      protos.google.cloud.sql.v1.IUser,
+      protos.google.cloud.sql.v1.ISqlUsersGetRequest | null | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   get(
-      request?: protos.google.cloud.sql.v1.ISqlUsersGetRequest,
-      optionsOrCallback?: CallOptions|Callback<
-          protos.google.cloud.sql.v1.IUser,
-          protos.google.cloud.sql.v1.ISqlUsersGetRequest|null|undefined,
-          {}|null|undefined>,
-      callback?: Callback<
+    request?: protos.google.cloud.sql.v1.ISqlUsersGetRequest,
+    optionsOrCallback?:
+      | CallOptions
+      | Callback<
           protos.google.cloud.sql.v1.IUser,
-          protos.google.cloud.sql.v1.ISqlUsersGetRequest|null|undefined,
-          {}|null|undefined>):
-      Promise<[
-        protos.google.cloud.sql.v1.IUser,
-        protos.google.cloud.sql.v1.ISqlUsersGetRequest|undefined, {}|undefined
-      ]>|void {
+          protos.google.cloud.sql.v1.ISqlUsersGetRequest | null | undefined,
+          {} | null | undefined
+        >,
+    callback?: Callback<
+      protos.google.cloud.sql.v1.IUser,
+      protos.google.cloud.sql.v1.ISqlUsersGetRequest | null | undefined,
+      {} | null | undefined
+    >,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1.IUser,
+      protos.google.cloud.sql.v1.ISqlUsersGetRequest | undefined,
+      {} | undefined,
+    ]
+  > | void {
     request = request || {};
     let options: CallOptions;
     if (typeof optionsOrCallback === 'function' && callback === undefined) {
       callback = optionsOrCallback;
       options = {};
-    }
-    else {
+    } else {
       options = optionsOrCallback as CallOptions;
     }
     options = options || {};
     options.otherArgs = options.otherArgs || {};
     options.otherArgs.headers = options.otherArgs.headers || {};
-    options.otherArgs.headers[
-      'x-goog-request-params'
-    ] = this._gaxModule.routingHeader.fromParams({
-      'project': request.project ?? '',
-      'instance': request.instance ?? '',
-      'name': request.name ?? '',
+    options.otherArgs.headers['x-goog-request-params'] =
+      this._gaxModule.routingHeader.fromParams({
+        project: request.project ?? '',
+        instance: request.instance ?? '',
+        name: request.name ?? '',
+      });
+    this.initialize().catch((err) => {
+      throw err;
     });
-    this.initialize().catch(err => {throw err});
     this._log.info('get request %j', request);
-    const wrappedCallback: Callback<
-        protos.google.cloud.sql.v1.IUser,
-        protos.google.cloud.sql.v1.ISqlUsersGetRequest|null|undefined,
-        {}|null|undefined>|undefined = callback
+    const wrappedCallback:
+      | Callback<
+          protos.google.cloud.sql.v1.IUser,
+          protos.google.cloud.sql.v1.ISqlUsersGetRequest | null | undefined,
+          {} | null | undefined
+        >
+      | undefined = callback
       ? (error, response, options, rawResponse) => {
           this._log.info('get response %j', response);
           callback!(error, response, options, rawResponse); // We verified callback above.
         }
       : undefined;
-    return this.innerApiCalls.get(request, options, wrappedCallback)
-      ?.then(([response, options, rawResponse]: [
-        protos.google.cloud.sql.v1.IUser,
-        protos.google.cloud.sql.v1.ISqlUsersGetRequest|undefined,
-        {}|undefined
-      ]) => {
-        this._log.info('get response %j', response);
-        return [response, options, rawResponse];
-      }).catch((error: any) => {
-        if (error && 'statusDetails' in error && error.statusDetails instanceof Array) {
-          const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type;
-          error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos);
+    return this.innerApiCalls
+      .get(request, options, wrappedCallback)
+      ?.then(
+        ([response, options, rawResponse]: [
+          protos.google.cloud.sql.v1.IUser,
+          protos.google.cloud.sql.v1.ISqlUsersGetRequest | undefined,
+          {} | undefined,
+        ]) => {
+          this._log.info('get response %j', response);
+          return [response, options, rawResponse];
+        },
+      )
+      .catch((error: any) => {
+        if (
+          error &&
+          'statusDetails' in error &&
+          error.statusDetails instanceof Array
+        ) {
+          const protos = this._gaxModule.protobuf.Root.fromJSON(
+            jsonProtos,
+          ) as unknown as gax.protobuf.Type;
+          error.statusDetails = decodeAnyProtosInArray(
+            error.statusDetails,
+            protos,
+          );
         }
         throw error;
       });
   }
-/**
- * Creates a new user in a Cloud SQL instance.
- *
- * @param {Object} request
- *   The request object that will be sent.
- * @param {string} request.instance
- *   Database instance ID. This does not include the project ID.
- * @param {string} request.project
- *   Project ID of the project that contains the instance.
- * @param {google.cloud.sql.v1.User} request.body
- * @param {object} [options]
- *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
- * @returns {Promise} - The promise which resolves to an array.
- *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1.Operation|Operation}.
- *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
- *   for more details and examples.
- * @example <caption>include:samples/generated/v1/sql_users_service.insert.js</caption>
- * region_tag:sqladmin_v1_generated_SqlUsersService_Insert_async
- */
+  /**
+   * Creates a new user in a Cloud SQL instance.
+   *
+   * @param {Object} request
+   *   The request object that will be sent.
+   * @param {string} request.instance
+   *   Database instance ID. This does not include the project ID.
+   * @param {string} request.project
+   *   Project ID of the project that contains the instance.
+   * @param {google.cloud.sql.v1.User} request.body
+   * @param {object} [options]
+   *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+   * @returns {Promise} - The promise which resolves to an array.
+   *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1.Operation|Operation}.
+   *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
+   *   for more details and examples.
+   * @example <caption>include:samples/generated/v1/sql_users_service.insert.js</caption>
+   * region_tag:sqladmin_v1_generated_SqlUsersService_Insert_async
+   */
   insert(
-      request?: protos.google.cloud.sql.v1.ISqlUsersInsertRequest,
-      options?: CallOptions):
-      Promise<[
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlUsersInsertRequest|undefined, {}|undefined
-      ]>;
+    request?: protos.google.cloud.sql.v1.ISqlUsersInsertRequest,
+    options?: CallOptions,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1.IOperation,
+      protos.google.cloud.sql.v1.ISqlUsersInsertRequest | undefined,
+      {} | undefined,
+    ]
+  >;
   insert(
-      request: protos.google.cloud.sql.v1.ISqlUsersInsertRequest,
-      options: CallOptions,
-      callback: Callback<
-          protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlUsersInsertRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1.ISqlUsersInsertRequest,
+    options: CallOptions,
+    callback: Callback<
+      protos.google.cloud.sql.v1.IOperation,
+      protos.google.cloud.sql.v1.ISqlUsersInsertRequest | null | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   insert(
-      request: protos.google.cloud.sql.v1.ISqlUsersInsertRequest,
-      callback: Callback<
-          protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlUsersInsertRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1.ISqlUsersInsertRequest,
+    callback: Callback<
+      protos.google.cloud.sql.v1.IOperation,
+      protos.google.cloud.sql.v1.ISqlUsersInsertRequest | null | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   insert(
-      request?: protos.google.cloud.sql.v1.ISqlUsersInsertRequest,
-      optionsOrCallback?: CallOptions|Callback<
-          protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlUsersInsertRequest|null|undefined,
-          {}|null|undefined>,
-      callback?: Callback<
+    request?: protos.google.cloud.sql.v1.ISqlUsersInsertRequest,
+    optionsOrCallback?:
+      | CallOptions
+      | Callback<
           protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlUsersInsertRequest|null|undefined,
-          {}|null|undefined>):
-      Promise<[
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlUsersInsertRequest|undefined, {}|undefined
-      ]>|void {
+          protos.google.cloud.sql.v1.ISqlUsersInsertRequest | null | undefined,
+          {} | null | undefined
+        >,
+    callback?: Callback<
+      protos.google.cloud.sql.v1.IOperation,
+      protos.google.cloud.sql.v1.ISqlUsersInsertRequest | null | undefined,
+      {} | null | undefined
+    >,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1.IOperation,
+      protos.google.cloud.sql.v1.ISqlUsersInsertRequest | undefined,
+      {} | undefined,
+    ]
+  > | void {
     request = request || {};
     let options: CallOptions;
     if (typeof optionsOrCallback === 'function' && callback === undefined) {
       callback = optionsOrCallback;
       options = {};
-    }
-    else {
+    } else {
       options = optionsOrCallback as CallOptions;
     }
     options = options || {};
     options.otherArgs = options.otherArgs || {};
     options.otherArgs.headers = options.otherArgs.headers || {};
-    options.otherArgs.headers[
-      'x-goog-request-params'
-    ] = this._gaxModule.routingHeader.fromParams({
-      'project': request.project ?? '',
-      'instance': request.instance ?? '',
+    options.otherArgs.headers['x-goog-request-params'] =
+      this._gaxModule.routingHeader.fromParams({
+        project: request.project ?? '',
+        instance: request.instance ?? '',
+      });
+    this.initialize().catch((err) => {
+      throw err;
     });
-    this.initialize().catch(err => {throw err});
     this._log.info('insert request %j', request);
-    const wrappedCallback: Callback<
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlUsersInsertRequest|null|undefined,
-        {}|null|undefined>|undefined = callback
+    const wrappedCallback:
+      | Callback<
+          protos.google.cloud.sql.v1.IOperation,
+          protos.google.cloud.sql.v1.ISqlUsersInsertRequest | null | undefined,
+          {} | null | undefined
+        >
+      | undefined = callback
       ? (error, response, options, rawResponse) => {
           this._log.info('insert response %j', response);
           callback!(error, response, options, rawResponse); // We verified callback above.
         }
       : undefined;
-    return this.innerApiCalls.insert(request, options, wrappedCallback)
-      ?.then(([response, options, rawResponse]: [
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlUsersInsertRequest|undefined,
-        {}|undefined
-      ]) => {
-        this._log.info('insert response %j', response);
-        return [response, options, rawResponse];
-      }).catch((error: any) => {
-        if (error && 'statusDetails' in error && error.statusDetails instanceof Array) {
-          const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type;
-          error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos);
+    return this.innerApiCalls
+      .insert(request, options, wrappedCallback)
+      ?.then(
+        ([response, options, rawResponse]: [
+          protos.google.cloud.sql.v1.IOperation,
+          protos.google.cloud.sql.v1.ISqlUsersInsertRequest | undefined,
+          {} | undefined,
+        ]) => {
+          this._log.info('insert response %j', response);
+          return [response, options, rawResponse];
+        },
+      )
+      .catch((error: any) => {
+        if (
+          error &&
+          'statusDetails' in error &&
+          error.statusDetails instanceof Array
+        ) {
+          const protos = this._gaxModule.protobuf.Root.fromJSON(
+            jsonProtos,
+          ) as unknown as gax.protobuf.Type;
+          error.statusDetails = decodeAnyProtosInArray(
+            error.statusDetails,
+            protos,
+          );
         }
         throw error;
       });
   }
-/**
- * Lists users in the specified Cloud SQL instance.
- *
- * @param {Object} request
- *   The request object that will be sent.
- * @param {string} request.instance
- *   Database instance ID. This does not include the project ID.
- * @param {string} request.project
- *   Project ID of the project that contains the instance.
- * @param {object} [options]
- *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
- * @returns {Promise} - The promise which resolves to an array.
- *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1.UsersListResponse|UsersListResponse}.
- *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
- *   for more details and examples.
- * @example <caption>include:samples/generated/v1/sql_users_service.list.js</caption>
- * region_tag:sqladmin_v1_generated_SqlUsersService_List_async
- */
+  /**
+   * Lists users in the specified Cloud SQL instance.
+   *
+   * @param {Object} request
+   *   The request object that will be sent.
+   * @param {string} request.instance
+   *   Database instance ID. This does not include the project ID.
+   * @param {string} request.project
+   *   Project ID of the project that contains the instance.
+   * @param {object} [options]
+   *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+   * @returns {Promise} - The promise which resolves to an array.
+   *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1.UsersListResponse|UsersListResponse}.
+   *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
+   *   for more details and examples.
+   * @example <caption>include:samples/generated/v1/sql_users_service.list.js</caption>
+   * region_tag:sqladmin_v1_generated_SqlUsersService_List_async
+   */
   list(
-      request?: protos.google.cloud.sql.v1.ISqlUsersListRequest,
-      options?: CallOptions):
-      Promise<[
-        protos.google.cloud.sql.v1.IUsersListResponse,
-        protos.google.cloud.sql.v1.ISqlUsersListRequest|undefined, {}|undefined
-      ]>;
+    request?: protos.google.cloud.sql.v1.ISqlUsersListRequest,
+    options?: CallOptions,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1.IUsersListResponse,
+      protos.google.cloud.sql.v1.ISqlUsersListRequest | undefined,
+      {} | undefined,
+    ]
+  >;
   list(
-      request: protos.google.cloud.sql.v1.ISqlUsersListRequest,
-      options: CallOptions,
-      callback: Callback<
-          protos.google.cloud.sql.v1.IUsersListResponse,
-          protos.google.cloud.sql.v1.ISqlUsersListRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1.ISqlUsersListRequest,
+    options: CallOptions,
+    callback: Callback<
+      protos.google.cloud.sql.v1.IUsersListResponse,
+      protos.google.cloud.sql.v1.ISqlUsersListRequest | null | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   list(
-      request: protos.google.cloud.sql.v1.ISqlUsersListRequest,
-      callback: Callback<
-          protos.google.cloud.sql.v1.IUsersListResponse,
-          protos.google.cloud.sql.v1.ISqlUsersListRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1.ISqlUsersListRequest,
+    callback: Callback<
+      protos.google.cloud.sql.v1.IUsersListResponse,
+      protos.google.cloud.sql.v1.ISqlUsersListRequest | null | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   list(
-      request?: protos.google.cloud.sql.v1.ISqlUsersListRequest,
-      optionsOrCallback?: CallOptions|Callback<
-          protos.google.cloud.sql.v1.IUsersListResponse,
-          protos.google.cloud.sql.v1.ISqlUsersListRequest|null|undefined,
-          {}|null|undefined>,
-      callback?: Callback<
+    request?: protos.google.cloud.sql.v1.ISqlUsersListRequest,
+    optionsOrCallback?:
+      | CallOptions
+      | Callback<
           protos.google.cloud.sql.v1.IUsersListResponse,
-          protos.google.cloud.sql.v1.ISqlUsersListRequest|null|undefined,
-          {}|null|undefined>):
-      Promise<[
-        protos.google.cloud.sql.v1.IUsersListResponse,
-        protos.google.cloud.sql.v1.ISqlUsersListRequest|undefined, {}|undefined
-      ]>|void {
+          protos.google.cloud.sql.v1.ISqlUsersListRequest | null | undefined,
+          {} | null | undefined
+        >,
+    callback?: Callback<
+      protos.google.cloud.sql.v1.IUsersListResponse,
+      protos.google.cloud.sql.v1.ISqlUsersListRequest | null | undefined,
+      {} | null | undefined
+    >,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1.IUsersListResponse,
+      protos.google.cloud.sql.v1.ISqlUsersListRequest | undefined,
+      {} | undefined,
+    ]
+  > | void {
     request = request || {};
     let options: CallOptions;
     if (typeof optionsOrCallback === 'function' && callback === undefined) {
       callback = optionsOrCallback;
       options = {};
-    }
-    else {
+    } else {
       options = optionsOrCallback as CallOptions;
     }
     options = options || {};
     options.otherArgs = options.otherArgs || {};
     options.otherArgs.headers = options.otherArgs.headers || {};
-    options.otherArgs.headers[
-      'x-goog-request-params'
-    ] = this._gaxModule.routingHeader.fromParams({
-      'project': request.project ?? '',
-      'instance': request.instance ?? '',
+    options.otherArgs.headers['x-goog-request-params'] =
+      this._gaxModule.routingHeader.fromParams({
+        project: request.project ?? '',
+        instance: request.instance ?? '',
+      });
+    this.initialize().catch((err) => {
+      throw err;
     });
-    this.initialize().catch(err => {throw err});
     this._log.info('list request %j', request);
-    const wrappedCallback: Callback<
-        protos.google.cloud.sql.v1.IUsersListResponse,
-        protos.google.cloud.sql.v1.ISqlUsersListRequest|null|undefined,
-        {}|null|undefined>|undefined = callback
+    const wrappedCallback:
+      | Callback<
+          protos.google.cloud.sql.v1.IUsersListResponse,
+          protos.google.cloud.sql.v1.ISqlUsersListRequest | null | undefined,
+          {} | null | undefined
+        >
+      | undefined = callback
       ? (error, response, options, rawResponse) => {
           this._log.info('list response %j', response);
           callback!(error, response, options, rawResponse); // We verified callback above.
         }
       : undefined;
-    return this.innerApiCalls.list(request, options, wrappedCallback)
-      ?.then(([response, options, rawResponse]: [
-        protos.google.cloud.sql.v1.IUsersListResponse,
-        protos.google.cloud.sql.v1.ISqlUsersListRequest|undefined,
-        {}|undefined
-      ]) => {
-        this._log.info('list response %j', response);
-        return [response, options, rawResponse];
-      }).catch((error: any) => {
-        if (error && 'statusDetails' in error && error.statusDetails instanceof Array) {
-          const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type;
-          error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos);
+    return this.innerApiCalls
+      .list(request, options, wrappedCallback)
+      ?.then(
+        ([response, options, rawResponse]: [
+          protos.google.cloud.sql.v1.IUsersListResponse,
+          protos.google.cloud.sql.v1.ISqlUsersListRequest | undefined,
+          {} | undefined,
+        ]) => {
+          this._log.info('list response %j', response);
+          return [response, options, rawResponse];
+        },
+      )
+      .catch((error: any) => {
+        if (
+          error &&
+          'statusDetails' in error &&
+          error.statusDetails instanceof Array
+        ) {
+          const protos = this._gaxModule.protobuf.Root.fromJSON(
+            jsonProtos,
+          ) as unknown as gax.protobuf.Type;
+          error.statusDetails = decodeAnyProtosInArray(
+            error.statusDetails,
+            protos,
+          );
         }
         throw error;
       });
   }
-/**
- * Updates an existing user in a Cloud SQL instance.
- *
- * @param {Object} request
- *   The request object that will be sent.
- * @param {string} [request.host]
- *   Optional. Host of the user in the instance.
- * @param {string} request.instance
- *   Database instance ID. This does not include the project ID.
- * @param {string} request.name
- *   Name of the user in the instance.
- * @param {string} request.project
- *   Project ID of the project that contains the instance.
- * @param {string[]} [request.databaseRoles]
- *   Optional. List of database roles to grant to the user. body.database_roles
- *   will be ignored for update request.
- * @param {boolean} [request.revokeExistingRoles]
- *   Optional. Specifies whether to revoke existing roles that are not present
- *   in the `database_roles` field. If `false` or unset, the database roles
- *   specified in `database_roles` are added to the user's existing roles.
- * @param {google.cloud.sql.v1.User} request.body
- * @param {object} [options]
- *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
- * @returns {Promise} - The promise which resolves to an array.
- *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1.Operation|Operation}.
- *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
- *   for more details and examples.
- * @example <caption>include:samples/generated/v1/sql_users_service.update.js</caption>
- * region_tag:sqladmin_v1_generated_SqlUsersService_Update_async
- */
+  /**
+   * Updates an existing user in a Cloud SQL instance.
+   *
+   * @param {Object} request
+   *   The request object that will be sent.
+   * @param {string} [request.host]
+   *   Optional. Host of the user in the instance.
+   * @param {string} request.instance
+   *   Database instance ID. This does not include the project ID.
+   * @param {string} request.name
+   *   Name of the user in the instance.
+   * @param {string} request.project
+   *   Project ID of the project that contains the instance.
+   * @param {string[]} [request.databaseRoles]
+   *   Optional. List of database roles to grant to the user. body.database_roles
+   *   will be ignored for update request.
+   * @param {boolean} [request.revokeExistingRoles]
+   *   Optional. Specifies whether to revoke existing roles that are not present
+   *   in the `database_roles` field. If `false` or unset, the database roles
+   *   specified in `database_roles` are added to the user's existing roles.
+   * @param {google.cloud.sql.v1.User} request.body
+   * @param {object} [options]
+   *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+   * @returns {Promise} - The promise which resolves to an array.
+   *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1.Operation|Operation}.
+   *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
+   *   for more details and examples.
+   * @example <caption>include:samples/generated/v1/sql_users_service.update.js</caption>
+   * region_tag:sqladmin_v1_generated_SqlUsersService_Update_async
+   */
   update(
-      request?: protos.google.cloud.sql.v1.ISqlUsersUpdateRequest,
-      options?: CallOptions):
-      Promise<[
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlUsersUpdateRequest|undefined, {}|undefined
-      ]>;
+    request?: protos.google.cloud.sql.v1.ISqlUsersUpdateRequest,
+    options?: CallOptions,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1.IOperation,
+      protos.google.cloud.sql.v1.ISqlUsersUpdateRequest | undefined,
+      {} | undefined,
+    ]
+  >;
   update(
-      request: protos.google.cloud.sql.v1.ISqlUsersUpdateRequest,
-      options: CallOptions,
-      callback: Callback<
-          protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlUsersUpdateRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1.ISqlUsersUpdateRequest,
+    options: CallOptions,
+    callback: Callback<
+      protos.google.cloud.sql.v1.IOperation,
+      protos.google.cloud.sql.v1.ISqlUsersUpdateRequest | null | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   update(
-      request: protos.google.cloud.sql.v1.ISqlUsersUpdateRequest,
-      callback: Callback<
-          protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlUsersUpdateRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1.ISqlUsersUpdateRequest,
+    callback: Callback<
+      protos.google.cloud.sql.v1.IOperation,
+      protos.google.cloud.sql.v1.ISqlUsersUpdateRequest | null | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   update(
-      request?: protos.google.cloud.sql.v1.ISqlUsersUpdateRequest,
-      optionsOrCallback?: CallOptions|Callback<
-          protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlUsersUpdateRequest|null|undefined,
-          {}|null|undefined>,
-      callback?: Callback<
+    request?: protos.google.cloud.sql.v1.ISqlUsersUpdateRequest,
+    optionsOrCallback?:
+      | CallOptions
+      | Callback<
           protos.google.cloud.sql.v1.IOperation,
-          protos.google.cloud.sql.v1.ISqlUsersUpdateRequest|null|undefined,
-          {}|null|undefined>):
-      Promise<[
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlUsersUpdateRequest|undefined, {}|undefined
-      ]>|void {
+          protos.google.cloud.sql.v1.ISqlUsersUpdateRequest | null | undefined,
+          {} | null | undefined
+        >,
+    callback?: Callback<
+      protos.google.cloud.sql.v1.IOperation,
+      protos.google.cloud.sql.v1.ISqlUsersUpdateRequest | null | undefined,
+      {} | null | undefined
+    >,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1.IOperation,
+      protos.google.cloud.sql.v1.ISqlUsersUpdateRequest | undefined,
+      {} | undefined,
+    ]
+  > | void {
     request = request || {};
     let options: CallOptions;
     if (typeof optionsOrCallback === 'function' && callback === undefined) {
       callback = optionsOrCallback;
       options = {};
-    }
-    else {
+    } else {
       options = optionsOrCallback as CallOptions;
     }
     options = options || {};
     options.otherArgs = options.otherArgs || {};
     options.otherArgs.headers = options.otherArgs.headers || {};
-    options.otherArgs.headers[
-      'x-goog-request-params'
-    ] = this._gaxModule.routingHeader.fromParams({
-      'project': request.project ?? '',
-      'instance': request.instance ?? '',
+    options.otherArgs.headers['x-goog-request-params'] =
+      this._gaxModule.routingHeader.fromParams({
+        project: request.project ?? '',
+        instance: request.instance ?? '',
+      });
+    this.initialize().catch((err) => {
+      throw err;
     });
-    this.initialize().catch(err => {throw err});
     this._log.info('update request %j', request);
-    const wrappedCallback: Callback<
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlUsersUpdateRequest|null|undefined,
-        {}|null|undefined>|undefined = callback
+    const wrappedCallback:
+      | Callback<
+          protos.google.cloud.sql.v1.IOperation,
+          protos.google.cloud.sql.v1.ISqlUsersUpdateRequest | null | undefined,
+          {} | null | undefined
+        >
+      | undefined = callback
       ? (error, response, options, rawResponse) => {
           this._log.info('update response %j', response);
           callback!(error, response, options, rawResponse); // We verified callback above.
         }
       : undefined;
-    return this.innerApiCalls.update(request, options, wrappedCallback)
-      ?.then(([response, options, rawResponse]: [
-        protos.google.cloud.sql.v1.IOperation,
-        protos.google.cloud.sql.v1.ISqlUsersUpdateRequest|undefined,
-        {}|undefined
-      ]) => {
-        this._log.info('update response %j', response);
-        return [response, options, rawResponse];
-      }).catch((error: any) => {
-        if (error && 'statusDetails' in error && error.statusDetails instanceof Array) {
-          const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type;
-          error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos);
+    return this.innerApiCalls
+      .update(request, options, wrappedCallback)
+      ?.then(
+        ([response, options, rawResponse]: [
+          protos.google.cloud.sql.v1.IOperation,
+          protos.google.cloud.sql.v1.ISqlUsersUpdateRequest | undefined,
+          {} | undefined,
+        ]) => {
+          this._log.info('update response %j', response);
+          return [response, options, rawResponse];
+        },
+      )
+      .catch((error: any) => {
+        if (
+          error &&
+          'statusDetails' in error &&
+          error.statusDetails instanceof Array
+        ) {
+          const protos = this._gaxModule.protobuf.Root.fromJSON(
+            jsonProtos,
+          ) as unknown as gax.protobuf.Type;
+          error.statusDetails = decodeAnyProtosInArray(
+            error.statusDetails,
+            protos,
+          );
         }
         throw error;
       });
   }
 
-/**
+  /**
    * Gets information about a location.
    *
    * @param {Object} request
@@ -877,12 +1077,11 @@ export class SqlUsersServiceClient {
       | null
       | undefined,
       {} | null | undefined
-    >
+    >,
   ): Promise<LocationProtos.google.cloud.location.ILocation> {
     return this.locationsClient.getLocation(request, options, callback);
   }
-
-/**
+  /**
    * Lists information about the supported locations for this service. Returns an iterable object.
    *
    * `for`-`await`-`of` syntax is used with the iterable to get response elements on-demand.
@@ -915,7 +1114,7 @@ export class SqlUsersServiceClient {
    */
   listLocationsAsync(
     request: LocationProtos.google.cloud.location.IListLocationsRequest,
-    options?: CallOptions
+    options?: CallOptions,
   ): AsyncIterable<LocationProtos.google.cloud.location.ILocation> {
     return this.locationsClient.listLocationsAsync(request, options);
   }
@@ -931,7 +1130,7 @@ export class SqlUsersServiceClient {
    * @param {string} backup
    * @returns {string} Resource name string.
    */
-  backupPath(project:string,backup:string) {
+  backupPath(project: string, backup: string) {
     return this.pathTemplates.backupPathTemplate.render({
       project: project,
       backup: backup,
@@ -968,13 +1167,15 @@ export class SqlUsersServiceClient {
    */
   close(): Promise<void> {
     if (this.sqlUsersServiceStub && !this._terminated) {
-      return this.sqlUsersServiceStub.then(stub => {
+      return this.sqlUsersServiceStub.then((stub) => {
         this._log.info('ending gRPC channel');
         this._terminated = true;
         stub.close();
-        this.locationsClient.close().catch(err => {throw err});
+        this.locationsClient.close().catch((err) => {
+          throw err;
+        });
       });
     }
     return Promise.resolve();
   }
-}
\ No newline at end of file
+}
diff --git a/packages/google-cloud-sql/src/v1beta4/index.ts b/packages/google-cloud-sql/src/v1beta4/index.ts
index c1b5dcdaf6e0..d8f42f199ca2 100644
--- a/packages/google-cloud-sql/src/v1beta4/index.ts
+++ b/packages/google-cloud-sql/src/v1beta4/index.ts
@@ -16,14 +16,14 @@
 // ** https://github.com/googleapis/gapic-generator-typescript **
 // ** All changes to this file may be overwritten. **
 
-export {SqlBackupRunsServiceClient} from './sql_backup_runs_service_client';
-export {SqlBackupsServiceClient} from './sql_backups_service_client';
-export {SqlConnectServiceClient} from './sql_connect_service_client';
-export {SqlDatabasesServiceClient} from './sql_databases_service_client';
-export {SqlFlagsServiceClient} from './sql_flags_service_client';
-
-export {SqlInstancesServiceClient} from './sql_instances_service_client';
-export {SqlOperationsServiceClient} from './sql_operations_service_client';
-export {SqlSslCertsServiceClient} from './sql_ssl_certs_service_client';
-export {SqlTiersServiceClient} from './sql_tiers_service_client';
-export {SqlUsersServiceClient} from './sql_users_service_client';
+export { SqlBackupRunsServiceClient } from './sql_backup_runs_service_client';
+export { SqlBackupsServiceClient } from './sql_backups_service_client';
+export { SqlConnectServiceClient } from './sql_connect_service_client';
+export { SqlDatabasesServiceClient } from './sql_databases_service_client';
+export { SqlFlagsServiceClient } from './sql_flags_service_client';
+export { SqlIamPoliciesServiceClient } from './sql_iam_policies_service_client';
+export { SqlInstancesServiceClient } from './sql_instances_service_client';
+export { SqlOperationsServiceClient } from './sql_operations_service_client';
+export { SqlSslCertsServiceClient } from './sql_ssl_certs_service_client';
+export { SqlTiersServiceClient } from './sql_tiers_service_client';
+export { SqlUsersServiceClient } from './sql_users_service_client';
diff --git a/packages/google-cloud-sql/src/v1beta4/sql_backup_runs_service_client.ts b/packages/google-cloud-sql/src/v1beta4/sql_backup_runs_service_client.ts
index 56b0124a7c70..1d8a6b7aca1a 100644
--- a/packages/google-cloud-sql/src/v1beta4/sql_backup_runs_service_client.ts
+++ b/packages/google-cloud-sql/src/v1beta4/sql_backup_runs_service_client.ts
@@ -18,11 +18,18 @@
 
 /* global window */
 import type * as gax from 'google-gax';
-import type {Callback, CallOptions, Descriptors, ClientOptions, LocationsClient, LocationProtos} from 'google-gax';
+import type {
+  Callback,
+  CallOptions,
+  Descriptors,
+  ClientOptions,
+  LocationsClient,
+  LocationProtos,
+} from 'google-gax';
 
 import * as protos from '../../protos/protos';
 import jsonProtos = require('../../protos/protos.json');
-import {loggingUtils as logging, decodeAnyProtosInArray} from 'google-gax';
+import { loggingUtils as logging, decodeAnyProtosInArray } from 'google-gax';
 
 /**
  * Client JSON configuration object, loaded from
@@ -43,7 +50,7 @@ export class SqlBackupRunsServiceClient {
   private _gaxModule: typeof gax | typeof gax.fallback;
   private _gaxGrpc: gax.GrpcClient | gax.fallback.GrpcClient;
   private _protos: {};
-  private _defaults: {[method: string]: gax.CallSettings};
+  private _defaults: { [method: string]: gax.CallSettings };
   private _universeDomain: string;
   private _servicePath: string;
   private _log = logging.log('sql');
@@ -56,10 +63,10 @@ export class SqlBackupRunsServiceClient {
     batching: {},
   };
   warn: (code: string, message: string, warnType?: string) => void;
-  innerApiCalls: {[name: string]: Function};
+  innerApiCalls: { [name: string]: Function };
   locationsClient: LocationsClient;
-  pathTemplates: {[name: string]: gax.PathTemplate};
-  sqlBackupRunsServiceStub?: Promise<{[name: string]: Function}>;
+  pathTemplates: { [name: string]: gax.PathTemplate };
+  sqlBackupRunsServiceStub?: Promise<{ [name: string]: Function }>;
 
   /**
    * Construct an instance of SqlBackupRunsServiceClient.
@@ -100,21 +107,42 @@ export class SqlBackupRunsServiceClient {
    *     const client = new SqlBackupRunsServiceClient({fallback: true}, gax);
    *     ```
    */
-  constructor(opts?: ClientOptions, gaxInstance?: typeof gax | typeof gax.fallback) {
+  constructor(
+    opts?: ClientOptions,
+    gaxInstance?: typeof gax | typeof gax.fallback,
+  ) {
     // Ensure that options include all the required fields.
     const staticMembers = this.constructor as typeof SqlBackupRunsServiceClient;
-    if (opts?.universe_domain && opts?.universeDomain && opts?.universe_domain !== opts?.universeDomain) {
-      throw new Error('Please set either universe_domain or universeDomain, but not both.');
+    if (
+      opts?.universe_domain &&
+      opts?.universeDomain &&
+      opts?.universe_domain !== opts?.universeDomain
+    ) {
+      throw new Error(
+        'Please set either universe_domain or universeDomain, but not both.',
+      );
     }
-    const universeDomainEnvVar = (typeof process === 'object' && typeof process.env === 'object') ? process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] : undefined;
-    this._universeDomain = opts?.universeDomain ?? opts?.universe_domain ?? universeDomainEnvVar ?? 'googleapis.com';
+    const universeDomainEnvVar =
+      typeof process === 'object' && typeof process.env === 'object'
+        ? process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN']
+        : undefined;
+    this._universeDomain =
+      opts?.universeDomain ??
+      opts?.universe_domain ??
+      universeDomainEnvVar ??
+      'googleapis.com';
     this._servicePath = 'sqladmin.' + this._universeDomain;
-    const servicePath = opts?.servicePath || opts?.apiEndpoint || this._servicePath;
-    this._providedCustomServicePath = !!(opts?.servicePath || opts?.apiEndpoint);
+    const servicePath =
+      opts?.servicePath || opts?.apiEndpoint || this._servicePath;
+    this._providedCustomServicePath = !!(
+      opts?.servicePath || opts?.apiEndpoint
+    );
     const port = opts?.port || staticMembers.port;
     const clientConfig = opts?.clientConfig ?? {};
-    const fallback = opts?.fallback ?? (typeof window !== 'undefined' && typeof window?.fetch === 'function');
-    opts = Object.assign({servicePath, port, clientConfig, fallback}, opts);
+    const fallback =
+      opts?.fallback ??
+      (typeof window !== 'undefined' && typeof window?.fetch === 'function');
+    opts = Object.assign({ servicePath, port, clientConfig, fallback }, opts);
 
     // Request numeric enum values if REST transport is used.
     opts.numericEnums = true;
@@ -139,7 +167,7 @@ export class SqlBackupRunsServiceClient {
     this._opts = opts;
 
     // Save the auth object to the client, for use by other methods.
-    this.auth = (this._gaxGrpc.auth as gax.GoogleAuth);
+    this.auth = this._gaxGrpc.auth as gax.GoogleAuth;
 
     // Set useJWTAccessWithScope on the auth object.
     this.auth.useJWTAccessWithScope = true;
@@ -153,15 +181,11 @@ export class SqlBackupRunsServiceClient {
     }
     this.locationsClient = new this._gaxModule.LocationsClient(
       this._gaxGrpc,
-      opts
+      opts,
     );
-  
 
     // Determine the client header string.
-    const clientHeader = [
-      `gax/${this._gaxModule.version}`,
-      `gapic/${version}`,
-    ];
+    const clientHeader = [`gax/${this._gaxModule.version}`, `gapic/${version}`];
     if (typeof process === 'object' && 'versions' in process) {
       clientHeader.push(`gl-node/${process.versions.node}`);
     } else {
@@ -183,17 +207,20 @@ export class SqlBackupRunsServiceClient {
     // Create useful helper objects for these.
     this.pathTemplates = {
       backupPathTemplate: new this._gaxModule.PathTemplate(
-        'projects/{project}/backups/{backup}'
+        'projects/{project}/backups/{backup}',
       ),
       projectPathTemplate: new this._gaxModule.PathTemplate(
-        'projects/{project}'
+        'projects/{project}',
       ),
     };
 
     // Put together the default options sent with requests.
     this._defaults = this._gaxGrpc.constructSettings(
-        'google.cloud.sql.v1beta4.SqlBackupRunsService', gapicConfig as gax.ClientConfig,
-        opts.clientConfig || {}, {'x-goog-api-client': clientHeader.join(' ')});
+      'google.cloud.sql.v1beta4.SqlBackupRunsService',
+      gapicConfig as gax.ClientConfig,
+      opts.clientConfig || {},
+      { 'x-goog-api-client': clientHeader.join(' ') },
+    );
 
     // Set up a dictionary of "inner API calls"; the core implementation
     // of calling the API is handled in `google-gax`, with this code
@@ -224,36 +251,40 @@ export class SqlBackupRunsServiceClient {
     // Put together the "service stub" for
     // google.cloud.sql.v1beta4.SqlBackupRunsService.
     this.sqlBackupRunsServiceStub = this._gaxGrpc.createStub(
-        this._opts.fallback ?
-          (this._protos as protobuf.Root).lookupService('google.cloud.sql.v1beta4.SqlBackupRunsService') :
-          // eslint-disable-next-line @typescript-eslint/no-explicit-any
+      this._opts.fallback
+        ? (this._protos as protobuf.Root).lookupService(
+            'google.cloud.sql.v1beta4.SqlBackupRunsService',
+          )
+        : // eslint-disable-next-line @typescript-eslint/no-explicit-any
           (this._protos as any).google.cloud.sql.v1beta4.SqlBackupRunsService,
-        this._opts, this._providedCustomServicePath) as Promise<{[method: string]: Function}>;
+      this._opts,
+      this._providedCustomServicePath,
+    ) as Promise<{ [method: string]: Function }>;
 
     // Iterate over each of the methods that the service provides
     // and create an API call method for each.
-    const sqlBackupRunsServiceStubMethods =
-        ['delete', 'get', 'insert', 'list'];
+    const sqlBackupRunsServiceStubMethods = ['delete', 'get', 'insert', 'list'];
     for (const methodName of sqlBackupRunsServiceStubMethods) {
       const callPromise = this.sqlBackupRunsServiceStub.then(
-        stub => (...args: Array<{}>) => {
-          if (this._terminated) {
-            return Promise.reject('The client has already been closed.');
-          }
-          const func = stub[methodName];
-          return func.apply(stub, args);
-        },
-        (err: Error|null|undefined) => () => {
+        (stub) =>
+          (...args: Array<{}>) => {
+            if (this._terminated) {
+              return Promise.reject('The client has already been closed.');
+            }
+            const func = stub[methodName];
+            return func.apply(stub, args);
+          },
+        (err: Error | null | undefined) => () => {
           throw err;
-        });
+        },
+      );
 
-      const descriptor =
-        undefined;
+      const descriptor = undefined;
       const apiCall = this._gaxModule.createApiCall(
         callPromise,
         this._defaults[methodName],
         descriptor,
-        this._opts.fallback
+        this._opts.fallback,
       );
 
       this.innerApiCalls[methodName] = apiCall;
@@ -268,8 +299,14 @@ export class SqlBackupRunsServiceClient {
    * @returns {string} The DNS address for this service.
    */
   static get servicePath() {
-    if (typeof process === 'object' && typeof process.emitWarning === 'function') {
-      process.emitWarning('Static servicePath is deprecated, please use the instance method instead.', 'DeprecationWarning');
+    if (
+      typeof process === 'object' &&
+      typeof process.emitWarning === 'function'
+    ) {
+      process.emitWarning(
+        'Static servicePath is deprecated, please use the instance method instead.',
+        'DeprecationWarning',
+      );
     }
     return 'sqladmin.googleapis.com';
   }
@@ -280,8 +317,14 @@ export class SqlBackupRunsServiceClient {
    * @returns {string} The DNS address for this service.
    */
   static get apiEndpoint() {
-    if (typeof process === 'object' && typeof process.emitWarning === 'function') {
-      process.emitWarning('Static apiEndpoint is deprecated, please use the instance method instead.', 'DeprecationWarning');
+    if (
+      typeof process === 'object' &&
+      typeof process.emitWarning === 'function'
+    ) {
+      process.emitWarning(
+        'Static apiEndpoint is deprecated, please use the instance method instead.',
+        'DeprecationWarning',
+      );
     }
     return 'sqladmin.googleapis.com';
   }
@@ -314,7 +357,7 @@ export class SqlBackupRunsServiceClient {
   static get scopes() {
     return [
       'https://www.googleapis.com/auth/cloud-platform',
-      'https://www.googleapis.com/auth/sqlservice.admin'
+      'https://www.googleapis.com/auth/sqlservice.admin',
     ];
   }
 
@@ -324,8 +367,9 @@ export class SqlBackupRunsServiceClient {
    * Return the project ID used by this class.
    * @returns {Promise} A promise that resolves to string containing the project ID.
    */
-  getProjectId(callback?: Callback<string, undefined, undefined>):
-      Promise<string>|void {
+  getProjectId(
+    callback?: Callback<string, undefined, undefined>,
+  ): Promise<string> | void {
     if (callback) {
       this.auth.getProjectId(callback);
       return;
@@ -336,413 +380,579 @@ export class SqlBackupRunsServiceClient {
   // -------------------
   // -- Service calls --
   // -------------------
-/**
- * Deletes the backup taken by a backup run.
- *
- * @param {Object} request
- *   The request object that will be sent.
- * @param {number} request.id
- *   The ID of the backup run to delete. To find a backup run ID, use the
- *   [list](https://cloud.google.com/sql/docs/mysql/admin-api/rest/v1beta4/backupRuns/list)
- *   method.
- * @param {string} request.instance
- *   Cloud SQL instance ID. This does not include the project ID.
- * @param {string} request.project
- *   Project ID of the project that contains the instance.
- * @param {object} [options]
- *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
- * @returns {Promise} - The promise which resolves to an array.
- *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1beta4.Operation|Operation}.
- *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
- *   for more details and examples.
- * @example <caption>include:samples/generated/v1beta4/sql_backup_runs_service.delete.js</caption>
- * region_tag:sqladmin_v1beta4_generated_SqlBackupRunsService_Delete_async
- */
+  /**
+   * Deletes the backup taken by a backup run.
+   *
+   * @param {Object} request
+   *   The request object that will be sent.
+   * @param {number} request.id
+   *   The ID of the backup run to delete. To find a backup run ID, use the
+   *   [list](https://cloud.google.com/sql/docs/mysql/admin-api/rest/v1beta4/backupRuns/list)
+   *   method.
+   * @param {string} request.instance
+   *   Cloud SQL instance ID. This does not include the project ID.
+   * @param {string} request.project
+   *   Project ID of the project that contains the instance.
+   * @param {object} [options]
+   *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+   * @returns {Promise} - The promise which resolves to an array.
+   *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1beta4.Operation|Operation}.
+   *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
+   *   for more details and examples.
+   * @example <caption>include:samples/generated/v1beta4/sql_backup_runs_service.delete.js</caption>
+   * region_tag:sqladmin_v1beta4_generated_SqlBackupRunsService_Delete_async
+   */
   delete(
-      request?: protos.google.cloud.sql.v1beta4.ISqlBackupRunsDeleteRequest,
-      options?: CallOptions):
-      Promise<[
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlBackupRunsDeleteRequest|undefined, {}|undefined
-      ]>;
+    request?: protos.google.cloud.sql.v1beta4.ISqlBackupRunsDeleteRequest,
+    options?: CallOptions,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1beta4.IOperation,
+      protos.google.cloud.sql.v1beta4.ISqlBackupRunsDeleteRequest | undefined,
+      {} | undefined,
+    ]
+  >;
   delete(
-      request: protos.google.cloud.sql.v1beta4.ISqlBackupRunsDeleteRequest,
-      options: CallOptions,
-      callback: Callback<
-          protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlBackupRunsDeleteRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1beta4.ISqlBackupRunsDeleteRequest,
+    options: CallOptions,
+    callback: Callback<
+      protos.google.cloud.sql.v1beta4.IOperation,
+      | protos.google.cloud.sql.v1beta4.ISqlBackupRunsDeleteRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   delete(
-      request: protos.google.cloud.sql.v1beta4.ISqlBackupRunsDeleteRequest,
-      callback: Callback<
-          protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlBackupRunsDeleteRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1beta4.ISqlBackupRunsDeleteRequest,
+    callback: Callback<
+      protos.google.cloud.sql.v1beta4.IOperation,
+      | protos.google.cloud.sql.v1beta4.ISqlBackupRunsDeleteRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   delete(
-      request?: protos.google.cloud.sql.v1beta4.ISqlBackupRunsDeleteRequest,
-      optionsOrCallback?: CallOptions|Callback<
-          protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlBackupRunsDeleteRequest|null|undefined,
-          {}|null|undefined>,
-      callback?: Callback<
+    request?: protos.google.cloud.sql.v1beta4.ISqlBackupRunsDeleteRequest,
+    optionsOrCallback?:
+      | CallOptions
+      | Callback<
           protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlBackupRunsDeleteRequest|null|undefined,
-          {}|null|undefined>):
-      Promise<[
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlBackupRunsDeleteRequest|undefined, {}|undefined
-      ]>|void {
+          | protos.google.cloud.sql.v1beta4.ISqlBackupRunsDeleteRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >,
+    callback?: Callback<
+      protos.google.cloud.sql.v1beta4.IOperation,
+      | protos.google.cloud.sql.v1beta4.ISqlBackupRunsDeleteRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1beta4.IOperation,
+      protos.google.cloud.sql.v1beta4.ISqlBackupRunsDeleteRequest | undefined,
+      {} | undefined,
+    ]
+  > | void {
     request = request || {};
     let options: CallOptions;
     if (typeof optionsOrCallback === 'function' && callback === undefined) {
       callback = optionsOrCallback;
       options = {};
-    }
-    else {
+    } else {
       options = optionsOrCallback as CallOptions;
     }
     options = options || {};
     options.otherArgs = options.otherArgs || {};
     options.otherArgs.headers = options.otherArgs.headers || {};
-    options.otherArgs.headers[
-      'x-goog-request-params'
-    ] = this._gaxModule.routingHeader.fromParams({
-      'project': request.project ?? '',
-      'instance': request.instance ?? '',
-      'id': request.id?.toString() ?? '',
+    options.otherArgs.headers['x-goog-request-params'] =
+      this._gaxModule.routingHeader.fromParams({
+        project: request.project ?? '',
+        instance: request.instance ?? '',
+        id: request.id?.toString() ?? '',
+      });
+    this.initialize().catch((err) => {
+      throw err;
     });
-    this.initialize().catch(err => {throw err});
     this._log.info('delete request %j', request);
-    const wrappedCallback: Callback<
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlBackupRunsDeleteRequest|null|undefined,
-        {}|null|undefined>|undefined = callback
+    const wrappedCallback:
+      | Callback<
+          protos.google.cloud.sql.v1beta4.IOperation,
+          | protos.google.cloud.sql.v1beta4.ISqlBackupRunsDeleteRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >
+      | undefined = callback
       ? (error, response, options, rawResponse) => {
           this._log.info('delete response %j', response);
           callback!(error, response, options, rawResponse); // We verified callback above.
         }
       : undefined;
-    return this.innerApiCalls.delete(request, options, wrappedCallback)
-      ?.then(([response, options, rawResponse]: [
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlBackupRunsDeleteRequest|undefined,
-        {}|undefined
-      ]) => {
-        this._log.info('delete response %j', response);
-        return [response, options, rawResponse];
-      }).catch((error: any) => {
-        if (error && 'statusDetails' in error && error.statusDetails instanceof Array) {
-          const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type;
-          error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos);
+    return this.innerApiCalls
+      .delete(request, options, wrappedCallback)
+      ?.then(
+        ([response, options, rawResponse]: [
+          protos.google.cloud.sql.v1beta4.IOperation,
+          (
+            | protos.google.cloud.sql.v1beta4.ISqlBackupRunsDeleteRequest
+            | undefined
+          ),
+          {} | undefined,
+        ]) => {
+          this._log.info('delete response %j', response);
+          return [response, options, rawResponse];
+        },
+      )
+      .catch((error: any) => {
+        if (
+          error &&
+          'statusDetails' in error &&
+          error.statusDetails instanceof Array
+        ) {
+          const protos = this._gaxModule.protobuf.Root.fromJSON(
+            jsonProtos,
+          ) as unknown as gax.protobuf.Type;
+          error.statusDetails = decodeAnyProtosInArray(
+            error.statusDetails,
+            protos,
+          );
         }
         throw error;
       });
   }
-/**
- * Retrieves a resource containing information about a backup run.
- *
- * @param {Object} request
- *   The request object that will be sent.
- * @param {number} request.id
- *   The ID of this backup run.
- * @param {string} request.instance
- *   Cloud SQL instance ID. This does not include the project ID.
- * @param {string} request.project
- *   Project ID of the project that contains the instance.
- * @param {object} [options]
- *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
- * @returns {Promise} - The promise which resolves to an array.
- *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1beta4.BackupRun|BackupRun}.
- *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
- *   for more details and examples.
- * @example <caption>include:samples/generated/v1beta4/sql_backup_runs_service.get.js</caption>
- * region_tag:sqladmin_v1beta4_generated_SqlBackupRunsService_Get_async
- */
+  /**
+   * Retrieves a resource containing information about a backup run.
+   *
+   * @param {Object} request
+   *   The request object that will be sent.
+   * @param {number} request.id
+   *   The ID of this backup run.
+   * @param {string} request.instance
+   *   Cloud SQL instance ID. This does not include the project ID.
+   * @param {string} request.project
+   *   Project ID of the project that contains the instance.
+   * @param {object} [options]
+   *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+   * @returns {Promise} - The promise which resolves to an array.
+   *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1beta4.BackupRun|BackupRun}.
+   *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
+   *   for more details and examples.
+   * @example <caption>include:samples/generated/v1beta4/sql_backup_runs_service.get.js</caption>
+   * region_tag:sqladmin_v1beta4_generated_SqlBackupRunsService_Get_async
+   */
   get(
-      request?: protos.google.cloud.sql.v1beta4.ISqlBackupRunsGetRequest,
-      options?: CallOptions):
-      Promise<[
-        protos.google.cloud.sql.v1beta4.IBackupRun,
-        protos.google.cloud.sql.v1beta4.ISqlBackupRunsGetRequest|undefined, {}|undefined
-      ]>;
+    request?: protos.google.cloud.sql.v1beta4.ISqlBackupRunsGetRequest,
+    options?: CallOptions,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1beta4.IBackupRun,
+      protos.google.cloud.sql.v1beta4.ISqlBackupRunsGetRequest | undefined,
+      {} | undefined,
+    ]
+  >;
   get(
-      request: protos.google.cloud.sql.v1beta4.ISqlBackupRunsGetRequest,
-      options: CallOptions,
-      callback: Callback<
-          protos.google.cloud.sql.v1beta4.IBackupRun,
-          protos.google.cloud.sql.v1beta4.ISqlBackupRunsGetRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1beta4.ISqlBackupRunsGetRequest,
+    options: CallOptions,
+    callback: Callback<
+      protos.google.cloud.sql.v1beta4.IBackupRun,
+      | protos.google.cloud.sql.v1beta4.ISqlBackupRunsGetRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   get(
-      request: protos.google.cloud.sql.v1beta4.ISqlBackupRunsGetRequest,
-      callback: Callback<
-          protos.google.cloud.sql.v1beta4.IBackupRun,
-          protos.google.cloud.sql.v1beta4.ISqlBackupRunsGetRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1beta4.ISqlBackupRunsGetRequest,
+    callback: Callback<
+      protos.google.cloud.sql.v1beta4.IBackupRun,
+      | protos.google.cloud.sql.v1beta4.ISqlBackupRunsGetRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   get(
-      request?: protos.google.cloud.sql.v1beta4.ISqlBackupRunsGetRequest,
-      optionsOrCallback?: CallOptions|Callback<
-          protos.google.cloud.sql.v1beta4.IBackupRun,
-          protos.google.cloud.sql.v1beta4.ISqlBackupRunsGetRequest|null|undefined,
-          {}|null|undefined>,
-      callback?: Callback<
+    request?: protos.google.cloud.sql.v1beta4.ISqlBackupRunsGetRequest,
+    optionsOrCallback?:
+      | CallOptions
+      | Callback<
           protos.google.cloud.sql.v1beta4.IBackupRun,
-          protos.google.cloud.sql.v1beta4.ISqlBackupRunsGetRequest|null|undefined,
-          {}|null|undefined>):
-      Promise<[
-        protos.google.cloud.sql.v1beta4.IBackupRun,
-        protos.google.cloud.sql.v1beta4.ISqlBackupRunsGetRequest|undefined, {}|undefined
-      ]>|void {
+          | protos.google.cloud.sql.v1beta4.ISqlBackupRunsGetRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >,
+    callback?: Callback<
+      protos.google.cloud.sql.v1beta4.IBackupRun,
+      | protos.google.cloud.sql.v1beta4.ISqlBackupRunsGetRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1beta4.IBackupRun,
+      protos.google.cloud.sql.v1beta4.ISqlBackupRunsGetRequest | undefined,
+      {} | undefined,
+    ]
+  > | void {
     request = request || {};
     let options: CallOptions;
     if (typeof optionsOrCallback === 'function' && callback === undefined) {
       callback = optionsOrCallback;
       options = {};
-    }
-    else {
+    } else {
       options = optionsOrCallback as CallOptions;
     }
     options = options || {};
     options.otherArgs = options.otherArgs || {};
     options.otherArgs.headers = options.otherArgs.headers || {};
-    options.otherArgs.headers[
-      'x-goog-request-params'
-    ] = this._gaxModule.routingHeader.fromParams({
-      'project': request.project ?? '',
-      'instance': request.instance ?? '',
-      'id': request.id?.toString() ?? '',
+    options.otherArgs.headers['x-goog-request-params'] =
+      this._gaxModule.routingHeader.fromParams({
+        project: request.project ?? '',
+        instance: request.instance ?? '',
+        id: request.id?.toString() ?? '',
+      });
+    this.initialize().catch((err) => {
+      throw err;
     });
-    this.initialize().catch(err => {throw err});
     this._log.info('get request %j', request);
-    const wrappedCallback: Callback<
-        protos.google.cloud.sql.v1beta4.IBackupRun,
-        protos.google.cloud.sql.v1beta4.ISqlBackupRunsGetRequest|null|undefined,
-        {}|null|undefined>|undefined = callback
+    const wrappedCallback:
+      | Callback<
+          protos.google.cloud.sql.v1beta4.IBackupRun,
+          | protos.google.cloud.sql.v1beta4.ISqlBackupRunsGetRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >
+      | undefined = callback
       ? (error, response, options, rawResponse) => {
           this._log.info('get response %j', response);
           callback!(error, response, options, rawResponse); // We verified callback above.
         }
       : undefined;
-    return this.innerApiCalls.get(request, options, wrappedCallback)
-      ?.then(([response, options, rawResponse]: [
-        protos.google.cloud.sql.v1beta4.IBackupRun,
-        protos.google.cloud.sql.v1beta4.ISqlBackupRunsGetRequest|undefined,
-        {}|undefined
-      ]) => {
-        this._log.info('get response %j', response);
-        return [response, options, rawResponse];
-      }).catch((error: any) => {
-        if (error && 'statusDetails' in error && error.statusDetails instanceof Array) {
-          const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type;
-          error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos);
+    return this.innerApiCalls
+      .get(request, options, wrappedCallback)
+      ?.then(
+        ([response, options, rawResponse]: [
+          protos.google.cloud.sql.v1beta4.IBackupRun,
+          protos.google.cloud.sql.v1beta4.ISqlBackupRunsGetRequest | undefined,
+          {} | undefined,
+        ]) => {
+          this._log.info('get response %j', response);
+          return [response, options, rawResponse];
+        },
+      )
+      .catch((error: any) => {
+        if (
+          error &&
+          'statusDetails' in error &&
+          error.statusDetails instanceof Array
+        ) {
+          const protos = this._gaxModule.protobuf.Root.fromJSON(
+            jsonProtos,
+          ) as unknown as gax.protobuf.Type;
+          error.statusDetails = decodeAnyProtosInArray(
+            error.statusDetails,
+            protos,
+          );
         }
         throw error;
       });
   }
-/**
- * Creates a new backup run on demand.
- *
- * @param {Object} request
- *   The request object that will be sent.
- * @param {string} request.instance
- *   Cloud SQL instance ID. This does not include the project ID.
- * @param {string} request.project
- *   Project ID of the project that contains the instance.
- * @param {google.cloud.sql.v1beta4.BackupRun} request.body
- * @param {object} [options]
- *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
- * @returns {Promise} - The promise which resolves to an array.
- *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1beta4.Operation|Operation}.
- *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
- *   for more details and examples.
- * @example <caption>include:samples/generated/v1beta4/sql_backup_runs_service.insert.js</caption>
- * region_tag:sqladmin_v1beta4_generated_SqlBackupRunsService_Insert_async
- */
+  /**
+   * Creates a new backup run on demand.
+   *
+   * @param {Object} request
+   *   The request object that will be sent.
+   * @param {string} request.instance
+   *   Cloud SQL instance ID. This does not include the project ID.
+   * @param {string} request.project
+   *   Project ID of the project that contains the instance.
+   * @param {google.cloud.sql.v1beta4.BackupRun} request.body
+   * @param {object} [options]
+   *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+   * @returns {Promise} - The promise which resolves to an array.
+   *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1beta4.Operation|Operation}.
+   *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
+   *   for more details and examples.
+   * @example <caption>include:samples/generated/v1beta4/sql_backup_runs_service.insert.js</caption>
+   * region_tag:sqladmin_v1beta4_generated_SqlBackupRunsService_Insert_async
+   */
   insert(
-      request?: protos.google.cloud.sql.v1beta4.ISqlBackupRunsInsertRequest,
-      options?: CallOptions):
-      Promise<[
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlBackupRunsInsertRequest|undefined, {}|undefined
-      ]>;
+    request?: protos.google.cloud.sql.v1beta4.ISqlBackupRunsInsertRequest,
+    options?: CallOptions,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1beta4.IOperation,
+      protos.google.cloud.sql.v1beta4.ISqlBackupRunsInsertRequest | undefined,
+      {} | undefined,
+    ]
+  >;
   insert(
-      request: protos.google.cloud.sql.v1beta4.ISqlBackupRunsInsertRequest,
-      options: CallOptions,
-      callback: Callback<
-          protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlBackupRunsInsertRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1beta4.ISqlBackupRunsInsertRequest,
+    options: CallOptions,
+    callback: Callback<
+      protos.google.cloud.sql.v1beta4.IOperation,
+      | protos.google.cloud.sql.v1beta4.ISqlBackupRunsInsertRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   insert(
-      request: protos.google.cloud.sql.v1beta4.ISqlBackupRunsInsertRequest,
-      callback: Callback<
-          protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlBackupRunsInsertRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1beta4.ISqlBackupRunsInsertRequest,
+    callback: Callback<
+      protos.google.cloud.sql.v1beta4.IOperation,
+      | protos.google.cloud.sql.v1beta4.ISqlBackupRunsInsertRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   insert(
-      request?: protos.google.cloud.sql.v1beta4.ISqlBackupRunsInsertRequest,
-      optionsOrCallback?: CallOptions|Callback<
-          protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlBackupRunsInsertRequest|null|undefined,
-          {}|null|undefined>,
-      callback?: Callback<
+    request?: protos.google.cloud.sql.v1beta4.ISqlBackupRunsInsertRequest,
+    optionsOrCallback?:
+      | CallOptions
+      | Callback<
           protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlBackupRunsInsertRequest|null|undefined,
-          {}|null|undefined>):
-      Promise<[
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlBackupRunsInsertRequest|undefined, {}|undefined
-      ]>|void {
+          | protos.google.cloud.sql.v1beta4.ISqlBackupRunsInsertRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >,
+    callback?: Callback<
+      protos.google.cloud.sql.v1beta4.IOperation,
+      | protos.google.cloud.sql.v1beta4.ISqlBackupRunsInsertRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1beta4.IOperation,
+      protos.google.cloud.sql.v1beta4.ISqlBackupRunsInsertRequest | undefined,
+      {} | undefined,
+    ]
+  > | void {
     request = request || {};
     let options: CallOptions;
     if (typeof optionsOrCallback === 'function' && callback === undefined) {
       callback = optionsOrCallback;
       options = {};
-    }
-    else {
+    } else {
       options = optionsOrCallback as CallOptions;
     }
     options = options || {};
     options.otherArgs = options.otherArgs || {};
     options.otherArgs.headers = options.otherArgs.headers || {};
-    options.otherArgs.headers[
-      'x-goog-request-params'
-    ] = this._gaxModule.routingHeader.fromParams({
-      'project': request.project ?? '',
-      'instance': request.instance ?? '',
+    options.otherArgs.headers['x-goog-request-params'] =
+      this._gaxModule.routingHeader.fromParams({
+        project: request.project ?? '',
+        instance: request.instance ?? '',
+      });
+    this.initialize().catch((err) => {
+      throw err;
     });
-    this.initialize().catch(err => {throw err});
     this._log.info('insert request %j', request);
-    const wrappedCallback: Callback<
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlBackupRunsInsertRequest|null|undefined,
-        {}|null|undefined>|undefined = callback
+    const wrappedCallback:
+      | Callback<
+          protos.google.cloud.sql.v1beta4.IOperation,
+          | protos.google.cloud.sql.v1beta4.ISqlBackupRunsInsertRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >
+      | undefined = callback
       ? (error, response, options, rawResponse) => {
           this._log.info('insert response %j', response);
           callback!(error, response, options, rawResponse); // We verified callback above.
         }
       : undefined;
-    return this.innerApiCalls.insert(request, options, wrappedCallback)
-      ?.then(([response, options, rawResponse]: [
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlBackupRunsInsertRequest|undefined,
-        {}|undefined
-      ]) => {
-        this._log.info('insert response %j', response);
-        return [response, options, rawResponse];
-      }).catch((error: any) => {
-        if (error && 'statusDetails' in error && error.statusDetails instanceof Array) {
-          const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type;
-          error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos);
+    return this.innerApiCalls
+      .insert(request, options, wrappedCallback)
+      ?.then(
+        ([response, options, rawResponse]: [
+          protos.google.cloud.sql.v1beta4.IOperation,
+          (
+            | protos.google.cloud.sql.v1beta4.ISqlBackupRunsInsertRequest
+            | undefined
+          ),
+          {} | undefined,
+        ]) => {
+          this._log.info('insert response %j', response);
+          return [response, options, rawResponse];
+        },
+      )
+      .catch((error: any) => {
+        if (
+          error &&
+          'statusDetails' in error &&
+          error.statusDetails instanceof Array
+        ) {
+          const protos = this._gaxModule.protobuf.Root.fromJSON(
+            jsonProtos,
+          ) as unknown as gax.protobuf.Type;
+          error.statusDetails = decodeAnyProtosInArray(
+            error.statusDetails,
+            protos,
+          );
         }
         throw error;
       });
   }
-/**
- * Lists all backup runs associated with the project or a given instance and
- * configuration in the reverse chronological order of the backup initiation
- * time.
- *
- * @param {Object} request
- *   The request object that will be sent.
- * @param {string} request.instance
- *   Cloud SQL instance ID, or "-" for all instances. This does not include
- *   the project ID.
- * @param {number} request.maxResults
- *   Maximum number of backup runs per response.
- * @param {string} request.pageToken
- *   A previously-returned page token representing part of the larger set of
- *   results to view.
- * @param {string} request.project
- *   Project ID of the project that contains the instance.
- * @param {object} [options]
- *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
- * @returns {Promise} - The promise which resolves to an array.
- *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1beta4.BackupRunsListResponse|BackupRunsListResponse}.
- *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
- *   for more details and examples.
- * @example <caption>include:samples/generated/v1beta4/sql_backup_runs_service.list.js</caption>
- * region_tag:sqladmin_v1beta4_generated_SqlBackupRunsService_List_async
- */
+  /**
+   * Lists all backup runs associated with the project or a given instance and
+   * configuration in the reverse chronological order of the backup initiation
+   * time.
+   *
+   * @param {Object} request
+   *   The request object that will be sent.
+   * @param {string} request.instance
+   *   Cloud SQL instance ID, or "-" for all instances. This does not include
+   *   the project ID.
+   * @param {number} request.maxResults
+   *   Maximum number of backup runs per response.
+   * @param {string} request.pageToken
+   *   A previously-returned page token representing part of the larger set of
+   *   results to view.
+   * @param {string} request.project
+   *   Project ID of the project that contains the instance.
+   * @param {object} [options]
+   *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+   * @returns {Promise} - The promise which resolves to an array.
+   *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1beta4.BackupRunsListResponse|BackupRunsListResponse}.
+   *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
+   *   for more details and examples.
+   * @example <caption>include:samples/generated/v1beta4/sql_backup_runs_service.list.js</caption>
+   * region_tag:sqladmin_v1beta4_generated_SqlBackupRunsService_List_async
+   */
   list(
-      request?: protos.google.cloud.sql.v1beta4.ISqlBackupRunsListRequest,
-      options?: CallOptions):
-      Promise<[
-        protos.google.cloud.sql.v1beta4.IBackupRunsListResponse,
-        protos.google.cloud.sql.v1beta4.ISqlBackupRunsListRequest|undefined, {}|undefined
-      ]>;
+    request?: protos.google.cloud.sql.v1beta4.ISqlBackupRunsListRequest,
+    options?: CallOptions,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1beta4.IBackupRunsListResponse,
+      protos.google.cloud.sql.v1beta4.ISqlBackupRunsListRequest | undefined,
+      {} | undefined,
+    ]
+  >;
   list(
-      request: protos.google.cloud.sql.v1beta4.ISqlBackupRunsListRequest,
-      options: CallOptions,
-      callback: Callback<
-          protos.google.cloud.sql.v1beta4.IBackupRunsListResponse,
-          protos.google.cloud.sql.v1beta4.ISqlBackupRunsListRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1beta4.ISqlBackupRunsListRequest,
+    options: CallOptions,
+    callback: Callback<
+      protos.google.cloud.sql.v1beta4.IBackupRunsListResponse,
+      | protos.google.cloud.sql.v1beta4.ISqlBackupRunsListRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   list(
-      request: protos.google.cloud.sql.v1beta4.ISqlBackupRunsListRequest,
-      callback: Callback<
-          protos.google.cloud.sql.v1beta4.IBackupRunsListResponse,
-          protos.google.cloud.sql.v1beta4.ISqlBackupRunsListRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1beta4.ISqlBackupRunsListRequest,
+    callback: Callback<
+      protos.google.cloud.sql.v1beta4.IBackupRunsListResponse,
+      | protos.google.cloud.sql.v1beta4.ISqlBackupRunsListRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   list(
-      request?: protos.google.cloud.sql.v1beta4.ISqlBackupRunsListRequest,
-      optionsOrCallback?: CallOptions|Callback<
-          protos.google.cloud.sql.v1beta4.IBackupRunsListResponse,
-          protos.google.cloud.sql.v1beta4.ISqlBackupRunsListRequest|null|undefined,
-          {}|null|undefined>,
-      callback?: Callback<
+    request?: protos.google.cloud.sql.v1beta4.ISqlBackupRunsListRequest,
+    optionsOrCallback?:
+      | CallOptions
+      | Callback<
           protos.google.cloud.sql.v1beta4.IBackupRunsListResponse,
-          protos.google.cloud.sql.v1beta4.ISqlBackupRunsListRequest|null|undefined,
-          {}|null|undefined>):
-      Promise<[
-        protos.google.cloud.sql.v1beta4.IBackupRunsListResponse,
-        protos.google.cloud.sql.v1beta4.ISqlBackupRunsListRequest|undefined, {}|undefined
-      ]>|void {
+          | protos.google.cloud.sql.v1beta4.ISqlBackupRunsListRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >,
+    callback?: Callback<
+      protos.google.cloud.sql.v1beta4.IBackupRunsListResponse,
+      | protos.google.cloud.sql.v1beta4.ISqlBackupRunsListRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1beta4.IBackupRunsListResponse,
+      protos.google.cloud.sql.v1beta4.ISqlBackupRunsListRequest | undefined,
+      {} | undefined,
+    ]
+  > | void {
     request = request || {};
     let options: CallOptions;
     if (typeof optionsOrCallback === 'function' && callback === undefined) {
       callback = optionsOrCallback;
       options = {};
-    }
-    else {
+    } else {
       options = optionsOrCallback as CallOptions;
     }
     options = options || {};
     options.otherArgs = options.otherArgs || {};
     options.otherArgs.headers = options.otherArgs.headers || {};
-    options.otherArgs.headers[
-      'x-goog-request-params'
-    ] = this._gaxModule.routingHeader.fromParams({
-      'project': request.project ?? '',
-      'instance': request.instance ?? '',
+    options.otherArgs.headers['x-goog-request-params'] =
+      this._gaxModule.routingHeader.fromParams({
+        project: request.project ?? '',
+        instance: request.instance ?? '',
+      });
+    this.initialize().catch((err) => {
+      throw err;
     });
-    this.initialize().catch(err => {throw err});
     this._log.info('list request %j', request);
-    const wrappedCallback: Callback<
-        protos.google.cloud.sql.v1beta4.IBackupRunsListResponse,
-        protos.google.cloud.sql.v1beta4.ISqlBackupRunsListRequest|null|undefined,
-        {}|null|undefined>|undefined = callback
+    const wrappedCallback:
+      | Callback<
+          protos.google.cloud.sql.v1beta4.IBackupRunsListResponse,
+          | protos.google.cloud.sql.v1beta4.ISqlBackupRunsListRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >
+      | undefined = callback
       ? (error, response, options, rawResponse) => {
           this._log.info('list response %j', response);
           callback!(error, response, options, rawResponse); // We verified callback above.
         }
       : undefined;
-    return this.innerApiCalls.list(request, options, wrappedCallback)
-      ?.then(([response, options, rawResponse]: [
-        protos.google.cloud.sql.v1beta4.IBackupRunsListResponse,
-        protos.google.cloud.sql.v1beta4.ISqlBackupRunsListRequest|undefined,
-        {}|undefined
-      ]) => {
-        this._log.info('list response %j', response);
-        return [response, options, rawResponse];
-      }).catch((error: any) => {
-        if (error && 'statusDetails' in error && error.statusDetails instanceof Array) {
-          const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type;
-          error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos);
+    return this.innerApiCalls
+      .list(request, options, wrappedCallback)
+      ?.then(
+        ([response, options, rawResponse]: [
+          protos.google.cloud.sql.v1beta4.IBackupRunsListResponse,
+          protos.google.cloud.sql.v1beta4.ISqlBackupRunsListRequest | undefined,
+          {} | undefined,
+        ]) => {
+          this._log.info('list response %j', response);
+          return [response, options, rawResponse];
+        },
+      )
+      .catch((error: any) => {
+        if (
+          error &&
+          'statusDetails' in error &&
+          error.statusDetails instanceof Array
+        ) {
+          const protos = this._gaxModule.protobuf.Root.fromJSON(
+            jsonProtos,
+          ) as unknown as gax.protobuf.Type;
+          error.statusDetails = decodeAnyProtosInArray(
+            error.statusDetails,
+            protos,
+          );
         }
         throw error;
       });
   }
 
-/**
+  /**
    * Gets information about a location.
    *
    * @param {Object} request
@@ -777,12 +987,11 @@ export class SqlBackupRunsServiceClient {
       | null
       | undefined,
       {} | null | undefined
-    >
+    >,
   ): Promise<LocationProtos.google.cloud.location.ILocation> {
     return this.locationsClient.getLocation(request, options, callback);
   }
-
-/**
+  /**
    * Lists information about the supported locations for this service. Returns an iterable object.
    *
    * `for`-`await`-`of` syntax is used with the iterable to get response elements on-demand.
@@ -815,7 +1024,7 @@ export class SqlBackupRunsServiceClient {
    */
   listLocationsAsync(
     request: LocationProtos.google.cloud.location.IListLocationsRequest,
-    options?: CallOptions
+    options?: CallOptions,
   ): AsyncIterable<LocationProtos.google.cloud.location.ILocation> {
     return this.locationsClient.listLocationsAsync(request, options);
   }
@@ -831,7 +1040,7 @@ export class SqlBackupRunsServiceClient {
    * @param {string} backup
    * @returns {string} Resource name string.
    */
-  backupPath(project:string,backup:string) {
+  backupPath(project: string, backup: string) {
     return this.pathTemplates.backupPathTemplate.render({
       project: project,
       backup: backup,
@@ -866,7 +1075,7 @@ export class SqlBackupRunsServiceClient {
    * @param {string} project
    * @returns {string} Resource name string.
    */
-  projectPath(project:string) {
+  projectPath(project: string) {
     return this.pathTemplates.projectPathTemplate.render({
       project: project,
     });
@@ -891,13 +1100,15 @@ export class SqlBackupRunsServiceClient {
    */
   close(): Promise<void> {
     if (this.sqlBackupRunsServiceStub && !this._terminated) {
-      return this.sqlBackupRunsServiceStub.then(stub => {
+      return this.sqlBackupRunsServiceStub.then((stub) => {
         this._log.info('ending gRPC channel');
         this._terminated = true;
         stub.close();
-        this.locationsClient.close().catch(err => {throw err});
+        this.locationsClient.close().catch((err) => {
+          throw err;
+        });
       });
     }
     return Promise.resolve();
   }
-}
\ No newline at end of file
+}
diff --git a/packages/google-cloud-sql/src/v1beta4/sql_backups_service_client.ts b/packages/google-cloud-sql/src/v1beta4/sql_backups_service_client.ts
index 21c870f5d116..8c51bd7530ed 100644
--- a/packages/google-cloud-sql/src/v1beta4/sql_backups_service_client.ts
+++ b/packages/google-cloud-sql/src/v1beta4/sql_backups_service_client.ts
@@ -18,11 +18,20 @@
 
 /* global window */
 import type * as gax from 'google-gax';
-import type {Callback, CallOptions, Descriptors, ClientOptions, PaginationCallback, GaxCall, LocationsClient, LocationProtos} from 'google-gax';
-import {Transform} from 'stream';
+import type {
+  Callback,
+  CallOptions,
+  Descriptors,
+  ClientOptions,
+  PaginationCallback,
+  GaxCall,
+  LocationsClient,
+  LocationProtos,
+} from 'google-gax';
+import { Transform } from 'stream';
 import * as protos from '../../protos/protos';
 import jsonProtos = require('../../protos/protos.json');
-import {loggingUtils as logging, decodeAnyProtosInArray} from 'google-gax';
+import { loggingUtils as logging, decodeAnyProtosInArray } from 'google-gax';
 
 /**
  * Client JSON configuration object, loaded from
@@ -43,7 +52,7 @@ export class SqlBackupsServiceClient {
   private _gaxModule: typeof gax | typeof gax.fallback;
   private _gaxGrpc: gax.GrpcClient | gax.fallback.GrpcClient;
   private _protos: {};
-  private _defaults: {[method: string]: gax.CallSettings};
+  private _defaults: { [method: string]: gax.CallSettings };
   private _universeDomain: string;
   private _servicePath: string;
   private _log = logging.log('sql');
@@ -56,10 +65,10 @@ export class SqlBackupsServiceClient {
     batching: {},
   };
   warn: (code: string, message: string, warnType?: string) => void;
-  innerApiCalls: {[name: string]: Function};
+  innerApiCalls: { [name: string]: Function };
   locationsClient: LocationsClient;
-  pathTemplates: {[name: string]: gax.PathTemplate};
-  sqlBackupsServiceStub?: Promise<{[name: string]: Function}>;
+  pathTemplates: { [name: string]: gax.PathTemplate };
+  sqlBackupsServiceStub?: Promise<{ [name: string]: Function }>;
 
   /**
    * Construct an instance of SqlBackupsServiceClient.
@@ -100,21 +109,42 @@ export class SqlBackupsServiceClient {
    *     const client = new SqlBackupsServiceClient({fallback: true}, gax);
    *     ```
    */
-  constructor(opts?: ClientOptions, gaxInstance?: typeof gax | typeof gax.fallback) {
+  constructor(
+    opts?: ClientOptions,
+    gaxInstance?: typeof gax | typeof gax.fallback,
+  ) {
     // Ensure that options include all the required fields.
     const staticMembers = this.constructor as typeof SqlBackupsServiceClient;
-    if (opts?.universe_domain && opts?.universeDomain && opts?.universe_domain !== opts?.universeDomain) {
-      throw new Error('Please set either universe_domain or universeDomain, but not both.');
+    if (
+      opts?.universe_domain &&
+      opts?.universeDomain &&
+      opts?.universe_domain !== opts?.universeDomain
+    ) {
+      throw new Error(
+        'Please set either universe_domain or universeDomain, but not both.',
+      );
     }
-    const universeDomainEnvVar = (typeof process === 'object' && typeof process.env === 'object') ? process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] : undefined;
-    this._universeDomain = opts?.universeDomain ?? opts?.universe_domain ?? universeDomainEnvVar ?? 'googleapis.com';
+    const universeDomainEnvVar =
+      typeof process === 'object' && typeof process.env === 'object'
+        ? process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN']
+        : undefined;
+    this._universeDomain =
+      opts?.universeDomain ??
+      opts?.universe_domain ??
+      universeDomainEnvVar ??
+      'googleapis.com';
     this._servicePath = 'sqladmin.' + this._universeDomain;
-    const servicePath = opts?.servicePath || opts?.apiEndpoint || this._servicePath;
-    this._providedCustomServicePath = !!(opts?.servicePath || opts?.apiEndpoint);
+    const servicePath =
+      opts?.servicePath || opts?.apiEndpoint || this._servicePath;
+    this._providedCustomServicePath = !!(
+      opts?.servicePath || opts?.apiEndpoint
+    );
     const port = opts?.port || staticMembers.port;
     const clientConfig = opts?.clientConfig ?? {};
-    const fallback = opts?.fallback ?? (typeof window !== 'undefined' && typeof window?.fetch === 'function');
-    opts = Object.assign({servicePath, port, clientConfig, fallback}, opts);
+    const fallback =
+      opts?.fallback ??
+      (typeof window !== 'undefined' && typeof window?.fetch === 'function');
+    opts = Object.assign({ servicePath, port, clientConfig, fallback }, opts);
 
     // Request numeric enum values if REST transport is used.
     opts.numericEnums = true;
@@ -139,7 +169,7 @@ export class SqlBackupsServiceClient {
     this._opts = opts;
 
     // Save the auth object to the client, for use by other methods.
-    this.auth = (this._gaxGrpc.auth as gax.GoogleAuth);
+    this.auth = this._gaxGrpc.auth as gax.GoogleAuth;
 
     // Set useJWTAccessWithScope on the auth object.
     this.auth.useJWTAccessWithScope = true;
@@ -153,15 +183,11 @@ export class SqlBackupsServiceClient {
     }
     this.locationsClient = new this._gaxModule.LocationsClient(
       this._gaxGrpc,
-      opts
+      opts,
     );
-  
 
     // Determine the client header string.
-    const clientHeader = [
-      `gax/${this._gaxModule.version}`,
-      `gapic/${version}`,
-    ];
+    const clientHeader = [`gax/${this._gaxModule.version}`, `gapic/${version}`];
     if (typeof process === 'object' && 'versions' in process) {
       clientHeader.push(`gl-node/${process.versions.node}`);
     } else {
@@ -183,10 +209,10 @@ export class SqlBackupsServiceClient {
     // Create useful helper objects for these.
     this.pathTemplates = {
       backupPathTemplate: new this._gaxModule.PathTemplate(
-        'projects/{project}/backups/{backup}'
+        'projects/{project}/backups/{backup}',
       ),
       projectPathTemplate: new this._gaxModule.PathTemplate(
-        'projects/{project}'
+        'projects/{project}',
       ),
     };
 
@@ -194,14 +220,20 @@ export class SqlBackupsServiceClient {
     // (e.g. 50 results at a time, with tokens to get subsequent
     // pages). Denote the keys used for pagination and results.
     this.descriptors.page = {
-      listBackups:
-          new this._gaxModule.PageDescriptor('pageToken', 'nextPageToken', 'backups')
+      listBackups: new this._gaxModule.PageDescriptor(
+        'pageToken',
+        'nextPageToken',
+        'backups',
+      ),
     };
 
     // Put together the default options sent with requests.
     this._defaults = this._gaxGrpc.constructSettings(
-        'google.cloud.sql.v1beta4.SqlBackupsService', gapicConfig as gax.ClientConfig,
-        opts.clientConfig || {}, {'x-goog-api-client': clientHeader.join(' ')});
+      'google.cloud.sql.v1beta4.SqlBackupsService',
+      gapicConfig as gax.ClientConfig,
+      opts.clientConfig || {},
+      { 'x-goog-api-client': clientHeader.join(' ') },
+    );
 
     // Set up a dictionary of "inner API calls"; the core implementation
     // of calling the API is handled in `google-gax`, with this code
@@ -232,37 +264,46 @@ export class SqlBackupsServiceClient {
     // Put together the "service stub" for
     // google.cloud.sql.v1beta4.SqlBackupsService.
     this.sqlBackupsServiceStub = this._gaxGrpc.createStub(
-        this._opts.fallback ?
-          (this._protos as protobuf.Root).lookupService('google.cloud.sql.v1beta4.SqlBackupsService') :
-          // eslint-disable-next-line @typescript-eslint/no-explicit-any
+      this._opts.fallback
+        ? (this._protos as protobuf.Root).lookupService(
+            'google.cloud.sql.v1beta4.SqlBackupsService',
+          )
+        : // eslint-disable-next-line @typescript-eslint/no-explicit-any
           (this._protos as any).google.cloud.sql.v1beta4.SqlBackupsService,
-        this._opts, this._providedCustomServicePath) as Promise<{[method: string]: Function}>;
+      this._opts,
+      this._providedCustomServicePath,
+    ) as Promise<{ [method: string]: Function }>;
 
     // Iterate over each of the methods that the service provides
     // and create an API call method for each.
-    const sqlBackupsServiceStubMethods =
-        ['createBackup', 'getBackup', 'listBackups', 'updateBackup', 'deleteBackup'];
+    const sqlBackupsServiceStubMethods = [
+      'createBackup',
+      'getBackup',
+      'listBackups',
+      'updateBackup',
+      'deleteBackup',
+    ];
     for (const methodName of sqlBackupsServiceStubMethods) {
       const callPromise = this.sqlBackupsServiceStub.then(
-        stub => (...args: Array<{}>) => {
-          if (this._terminated) {
-            return Promise.reject('The client has already been closed.');
-          }
-          const func = stub[methodName];
-          return func.apply(stub, args);
-        },
-        (err: Error|null|undefined) => () => {
+        (stub) =>
+          (...args: Array<{}>) => {
+            if (this._terminated) {
+              return Promise.reject('The client has already been closed.');
+            }
+            const func = stub[methodName];
+            return func.apply(stub, args);
+          },
+        (err: Error | null | undefined) => () => {
           throw err;
-        });
+        },
+      );
 
-      const descriptor =
-        this.descriptors.page[methodName] ||
-        undefined;
+      const descriptor = this.descriptors.page[methodName] || undefined;
       const apiCall = this._gaxModule.createApiCall(
         callPromise,
         this._defaults[methodName],
         descriptor,
-        this._opts.fallback
+        this._opts.fallback,
       );
 
       this.innerApiCalls[methodName] = apiCall;
@@ -277,8 +318,14 @@ export class SqlBackupsServiceClient {
    * @returns {string} The DNS address for this service.
    */
   static get servicePath() {
-    if (typeof process === 'object' && typeof process.emitWarning === 'function') {
-      process.emitWarning('Static servicePath is deprecated, please use the instance method instead.', 'DeprecationWarning');
+    if (
+      typeof process === 'object' &&
+      typeof process.emitWarning === 'function'
+    ) {
+      process.emitWarning(
+        'Static servicePath is deprecated, please use the instance method instead.',
+        'DeprecationWarning',
+      );
     }
     return 'sqladmin.googleapis.com';
   }
@@ -289,8 +336,14 @@ export class SqlBackupsServiceClient {
    * @returns {string} The DNS address for this service.
    */
   static get apiEndpoint() {
-    if (typeof process === 'object' && typeof process.emitWarning === 'function') {
-      process.emitWarning('Static apiEndpoint is deprecated, please use the instance method instead.', 'DeprecationWarning');
+    if (
+      typeof process === 'object' &&
+      typeof process.emitWarning === 'function'
+    ) {
+      process.emitWarning(
+        'Static apiEndpoint is deprecated, please use the instance method instead.',
+        'DeprecationWarning',
+      );
     }
     return 'sqladmin.googleapis.com';
   }
@@ -323,7 +376,7 @@ export class SqlBackupsServiceClient {
   static get scopes() {
     return [
       'https://www.googleapis.com/auth/cloud-platform',
-      'https://www.googleapis.com/auth/sqlservice.admin'
+      'https://www.googleapis.com/auth/sqlservice.admin',
     ];
   }
 
@@ -333,8 +386,9 @@ export class SqlBackupsServiceClient {
    * Return the project ID used by this class.
    * @returns {Promise} A promise that resolves to string containing the project ID.
    */
-  getProjectId(callback?: Callback<string, undefined, undefined>):
-      Promise<string>|void {
+  getProjectId(
+    callback?: Callback<string, undefined, undefined>,
+  ): Promise<string> | void {
     if (callback) {
       this.auth.getProjectId(callback);
       return;
@@ -345,490 +399,641 @@ export class SqlBackupsServiceClient {
   // -------------------
   // -- Service calls --
   // -------------------
-/**
- * Creates a backup for a Cloud SQL instance. This API can be used only to
- * create on-demand backups.
- *
- * @param {Object} request
- *   The request object that will be sent.
- * @param {string} request.parent
- *   Required. The parent resource where this backup is created.
- *   Format: projects/{project}
- * @param {google.cloud.sql.v1beta4.Backup} request.backup
- *   Required. The Backup to create.
- * @param {object} [options]
- *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
- * @returns {Promise} - The promise which resolves to an array.
- *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1beta4.Operation|Operation}.
- *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
- *   for more details and examples.
- * @example <caption>include:samples/generated/v1beta4/sql_backups_service.create_backup.js</caption>
- * region_tag:sqladmin_v1beta4_generated_SqlBackupsService_CreateBackup_async
- */
+  /**
+   * Creates a backup for a Cloud SQL instance. This API can be used only to
+   * create on-demand backups.
+   *
+   * @param {Object} request
+   *   The request object that will be sent.
+   * @param {string} request.parent
+   *   Required. The parent resource where this backup is created.
+   *   Format: projects/{project}
+   * @param {google.cloud.sql.v1beta4.Backup} request.backup
+   *   Required. The Backup to create.
+   * @param {object} [options]
+   *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+   * @returns {Promise} - The promise which resolves to an array.
+   *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1beta4.Operation|Operation}.
+   *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
+   *   for more details and examples.
+   * @example <caption>include:samples/generated/v1beta4/sql_backups_service.create_backup.js</caption>
+   * region_tag:sqladmin_v1beta4_generated_SqlBackupsService_CreateBackup_async
+   */
   createBackup(
-      request?: protos.google.cloud.sql.v1beta4.ICreateBackupRequest,
-      options?: CallOptions):
-      Promise<[
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ICreateBackupRequest|undefined, {}|undefined
-      ]>;
+    request?: protos.google.cloud.sql.v1beta4.ICreateBackupRequest,
+    options?: CallOptions,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1beta4.IOperation,
+      protos.google.cloud.sql.v1beta4.ICreateBackupRequest | undefined,
+      {} | undefined,
+    ]
+  >;
   createBackup(
-      request: protos.google.cloud.sql.v1beta4.ICreateBackupRequest,
-      options: CallOptions,
-      callback: Callback<
-          protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ICreateBackupRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1beta4.ICreateBackupRequest,
+    options: CallOptions,
+    callback: Callback<
+      protos.google.cloud.sql.v1beta4.IOperation,
+      protos.google.cloud.sql.v1beta4.ICreateBackupRequest | null | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   createBackup(
-      request: protos.google.cloud.sql.v1beta4.ICreateBackupRequest,
-      callback: Callback<
-          protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ICreateBackupRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1beta4.ICreateBackupRequest,
+    callback: Callback<
+      protos.google.cloud.sql.v1beta4.IOperation,
+      protos.google.cloud.sql.v1beta4.ICreateBackupRequest | null | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   createBackup(
-      request?: protos.google.cloud.sql.v1beta4.ICreateBackupRequest,
-      optionsOrCallback?: CallOptions|Callback<
-          protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ICreateBackupRequest|null|undefined,
-          {}|null|undefined>,
-      callback?: Callback<
+    request?: protos.google.cloud.sql.v1beta4.ICreateBackupRequest,
+    optionsOrCallback?:
+      | CallOptions
+      | Callback<
           protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ICreateBackupRequest|null|undefined,
-          {}|null|undefined>):
-      Promise<[
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ICreateBackupRequest|undefined, {}|undefined
-      ]>|void {
+          | protos.google.cloud.sql.v1beta4.ICreateBackupRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >,
+    callback?: Callback<
+      protos.google.cloud.sql.v1beta4.IOperation,
+      protos.google.cloud.sql.v1beta4.ICreateBackupRequest | null | undefined,
+      {} | null | undefined
+    >,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1beta4.IOperation,
+      protos.google.cloud.sql.v1beta4.ICreateBackupRequest | undefined,
+      {} | undefined,
+    ]
+  > | void {
     request = request || {};
     let options: CallOptions;
     if (typeof optionsOrCallback === 'function' && callback === undefined) {
       callback = optionsOrCallback;
       options = {};
-    }
-    else {
+    } else {
       options = optionsOrCallback as CallOptions;
     }
     options = options || {};
     options.otherArgs = options.otherArgs || {};
     options.otherArgs.headers = options.otherArgs.headers || {};
-    options.otherArgs.headers[
-      'x-goog-request-params'
-    ] = this._gaxModule.routingHeader.fromParams({
-      'parent': request.parent ?? '',
+    options.otherArgs.headers['x-goog-request-params'] =
+      this._gaxModule.routingHeader.fromParams({
+        parent: request.parent ?? '',
+      });
+    this.initialize().catch((err) => {
+      throw err;
     });
-    this.initialize().catch(err => {throw err});
     this._log.info('createBackup request %j', request);
-    const wrappedCallback: Callback<
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ICreateBackupRequest|null|undefined,
-        {}|null|undefined>|undefined = callback
+    const wrappedCallback:
+      | Callback<
+          protos.google.cloud.sql.v1beta4.IOperation,
+          | protos.google.cloud.sql.v1beta4.ICreateBackupRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >
+      | undefined = callback
       ? (error, response, options, rawResponse) => {
           this._log.info('createBackup response %j', response);
           callback!(error, response, options, rawResponse); // We verified callback above.
         }
       : undefined;
-    return this.innerApiCalls.createBackup(request, options, wrappedCallback)
-      ?.then(([response, options, rawResponse]: [
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ICreateBackupRequest|undefined,
-        {}|undefined
-      ]) => {
-        this._log.info('createBackup response %j', response);
-        return [response, options, rawResponse];
-      }).catch((error: any) => {
-        if (error && 'statusDetails' in error && error.statusDetails instanceof Array) {
-          const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type;
-          error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos);
+    return this.innerApiCalls
+      .createBackup(request, options, wrappedCallback)
+      ?.then(
+        ([response, options, rawResponse]: [
+          protos.google.cloud.sql.v1beta4.IOperation,
+          protos.google.cloud.sql.v1beta4.ICreateBackupRequest | undefined,
+          {} | undefined,
+        ]) => {
+          this._log.info('createBackup response %j', response);
+          return [response, options, rawResponse];
+        },
+      )
+      .catch((error: any) => {
+        if (
+          error &&
+          'statusDetails' in error &&
+          error.statusDetails instanceof Array
+        ) {
+          const protos = this._gaxModule.protobuf.Root.fromJSON(
+            jsonProtos,
+          ) as unknown as gax.protobuf.Type;
+          error.statusDetails = decodeAnyProtosInArray(
+            error.statusDetails,
+            protos,
+          );
         }
         throw error;
       });
   }
-/**
- * Retrieves a resource containing information about a backup.
- *
- * @param {Object} request
- *   The request object that will be sent.
- * @param {string} request.name
- *   Required. The name of the backup to retrieve.
- *   Format: projects/{project}/backups/{backup}
- * @param {object} [options]
- *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
- * @returns {Promise} - The promise which resolves to an array.
- *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1beta4.Backup|Backup}.
- *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
- *   for more details and examples.
- * @example <caption>include:samples/generated/v1beta4/sql_backups_service.get_backup.js</caption>
- * region_tag:sqladmin_v1beta4_generated_SqlBackupsService_GetBackup_async
- */
+  /**
+   * Retrieves a resource containing information about a backup.
+   *
+   * @param {Object} request
+   *   The request object that will be sent.
+   * @param {string} request.name
+   *   Required. The name of the backup to retrieve.
+   *   Format: projects/{project}/backups/{backup}
+   * @param {object} [options]
+   *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+   * @returns {Promise} - The promise which resolves to an array.
+   *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1beta4.Backup|Backup}.
+   *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
+   *   for more details and examples.
+   * @example <caption>include:samples/generated/v1beta4/sql_backups_service.get_backup.js</caption>
+   * region_tag:sqladmin_v1beta4_generated_SqlBackupsService_GetBackup_async
+   */
   getBackup(
-      request?: protos.google.cloud.sql.v1beta4.IGetBackupRequest,
-      options?: CallOptions):
-      Promise<[
-        protos.google.cloud.sql.v1beta4.IBackup,
-        protos.google.cloud.sql.v1beta4.IGetBackupRequest|undefined, {}|undefined
-      ]>;
+    request?: protos.google.cloud.sql.v1beta4.IGetBackupRequest,
+    options?: CallOptions,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1beta4.IBackup,
+      protos.google.cloud.sql.v1beta4.IGetBackupRequest | undefined,
+      {} | undefined,
+    ]
+  >;
   getBackup(
-      request: protos.google.cloud.sql.v1beta4.IGetBackupRequest,
-      options: CallOptions,
-      callback: Callback<
-          protos.google.cloud.sql.v1beta4.IBackup,
-          protos.google.cloud.sql.v1beta4.IGetBackupRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1beta4.IGetBackupRequest,
+    options: CallOptions,
+    callback: Callback<
+      protos.google.cloud.sql.v1beta4.IBackup,
+      protos.google.cloud.sql.v1beta4.IGetBackupRequest | null | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   getBackup(
-      request: protos.google.cloud.sql.v1beta4.IGetBackupRequest,
-      callback: Callback<
-          protos.google.cloud.sql.v1beta4.IBackup,
-          protos.google.cloud.sql.v1beta4.IGetBackupRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1beta4.IGetBackupRequest,
+    callback: Callback<
+      protos.google.cloud.sql.v1beta4.IBackup,
+      protos.google.cloud.sql.v1beta4.IGetBackupRequest | null | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   getBackup(
-      request?: protos.google.cloud.sql.v1beta4.IGetBackupRequest,
-      optionsOrCallback?: CallOptions|Callback<
-          protos.google.cloud.sql.v1beta4.IBackup,
-          protos.google.cloud.sql.v1beta4.IGetBackupRequest|null|undefined,
-          {}|null|undefined>,
-      callback?: Callback<
+    request?: protos.google.cloud.sql.v1beta4.IGetBackupRequest,
+    optionsOrCallback?:
+      | CallOptions
+      | Callback<
           protos.google.cloud.sql.v1beta4.IBackup,
-          protos.google.cloud.sql.v1beta4.IGetBackupRequest|null|undefined,
-          {}|null|undefined>):
-      Promise<[
-        protos.google.cloud.sql.v1beta4.IBackup,
-        protos.google.cloud.sql.v1beta4.IGetBackupRequest|undefined, {}|undefined
-      ]>|void {
+          protos.google.cloud.sql.v1beta4.IGetBackupRequest | null | undefined,
+          {} | null | undefined
+        >,
+    callback?: Callback<
+      protos.google.cloud.sql.v1beta4.IBackup,
+      protos.google.cloud.sql.v1beta4.IGetBackupRequest | null | undefined,
+      {} | null | undefined
+    >,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1beta4.IBackup,
+      protos.google.cloud.sql.v1beta4.IGetBackupRequest | undefined,
+      {} | undefined,
+    ]
+  > | void {
     request = request || {};
     let options: CallOptions;
     if (typeof optionsOrCallback === 'function' && callback === undefined) {
       callback = optionsOrCallback;
       options = {};
-    }
-    else {
+    } else {
       options = optionsOrCallback as CallOptions;
     }
     options = options || {};
     options.otherArgs = options.otherArgs || {};
     options.otherArgs.headers = options.otherArgs.headers || {};
-    options.otherArgs.headers[
-      'x-goog-request-params'
-    ] = this._gaxModule.routingHeader.fromParams({
-      'name': request.name ?? '',
+    options.otherArgs.headers['x-goog-request-params'] =
+      this._gaxModule.routingHeader.fromParams({
+        name: request.name ?? '',
+      });
+    this.initialize().catch((err) => {
+      throw err;
     });
-    this.initialize().catch(err => {throw err});
     this._log.info('getBackup request %j', request);
-    const wrappedCallback: Callback<
-        protos.google.cloud.sql.v1beta4.IBackup,
-        protos.google.cloud.sql.v1beta4.IGetBackupRequest|null|undefined,
-        {}|null|undefined>|undefined = callback
+    const wrappedCallback:
+      | Callback<
+          protos.google.cloud.sql.v1beta4.IBackup,
+          protos.google.cloud.sql.v1beta4.IGetBackupRequest | null | undefined,
+          {} | null | undefined
+        >
+      | undefined = callback
       ? (error, response, options, rawResponse) => {
           this._log.info('getBackup response %j', response);
           callback!(error, response, options, rawResponse); // We verified callback above.
         }
       : undefined;
-    return this.innerApiCalls.getBackup(request, options, wrappedCallback)
-      ?.then(([response, options, rawResponse]: [
-        protos.google.cloud.sql.v1beta4.IBackup,
-        protos.google.cloud.sql.v1beta4.IGetBackupRequest|undefined,
-        {}|undefined
-      ]) => {
-        this._log.info('getBackup response %j', response);
-        return [response, options, rawResponse];
-      }).catch((error: any) => {
-        if (error && 'statusDetails' in error && error.statusDetails instanceof Array) {
-          const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type;
-          error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos);
+    return this.innerApiCalls
+      .getBackup(request, options, wrappedCallback)
+      ?.then(
+        ([response, options, rawResponse]: [
+          protos.google.cloud.sql.v1beta4.IBackup,
+          protos.google.cloud.sql.v1beta4.IGetBackupRequest | undefined,
+          {} | undefined,
+        ]) => {
+          this._log.info('getBackup response %j', response);
+          return [response, options, rawResponse];
+        },
+      )
+      .catch((error: any) => {
+        if (
+          error &&
+          'statusDetails' in error &&
+          error.statusDetails instanceof Array
+        ) {
+          const protos = this._gaxModule.protobuf.Root.fromJSON(
+            jsonProtos,
+          ) as unknown as gax.protobuf.Type;
+          error.statusDetails = decodeAnyProtosInArray(
+            error.statusDetails,
+            protos,
+          );
         }
         throw error;
       });
   }
-/**
- * Updates the retention period and the description of the backup. You can use
- * this API to update final backups only.
- *
- * @param {Object} request
- *   The request object that will be sent.
- * @param {google.cloud.sql.v1beta4.Backup} request.backup
- *   Required. The backup to update.
- *   The backup’s `name` field is used to identify the backup to update.
- *   Format: projects/{project}/backups/{backup}
- * @param {google.protobuf.FieldMask} request.updateMask
- *   The list of fields that you can update. You can update only the description
- *   and retention period of the final backup.
- * @param {object} [options]
- *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
- * @returns {Promise} - The promise which resolves to an array.
- *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1beta4.Operation|Operation}.
- *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
- *   for more details and examples.
- * @example <caption>include:samples/generated/v1beta4/sql_backups_service.update_backup.js</caption>
- * region_tag:sqladmin_v1beta4_generated_SqlBackupsService_UpdateBackup_async
- */
+  /**
+   * Updates the retention period and the description of the backup. You can use
+   * this API to update final backups only.
+   *
+   * @param {Object} request
+   *   The request object that will be sent.
+   * @param {google.cloud.sql.v1beta4.Backup} request.backup
+   *   Required. The backup to update.
+   *   The backup’s `name` field is used to identify the backup to update.
+   *   Format: projects/{project}/backups/{backup}
+   * @param {google.protobuf.FieldMask} request.updateMask
+   *   The list of fields that you can update. You can update only the description
+   *   and retention period of the final backup.
+   * @param {object} [options]
+   *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+   * @returns {Promise} - The promise which resolves to an array.
+   *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1beta4.Operation|Operation}.
+   *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
+   *   for more details and examples.
+   * @example <caption>include:samples/generated/v1beta4/sql_backups_service.update_backup.js</caption>
+   * region_tag:sqladmin_v1beta4_generated_SqlBackupsService_UpdateBackup_async
+   */
   updateBackup(
-      request?: protos.google.cloud.sql.v1beta4.IUpdateBackupRequest,
-      options?: CallOptions):
-      Promise<[
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.IUpdateBackupRequest|undefined, {}|undefined
-      ]>;
+    request?: protos.google.cloud.sql.v1beta4.IUpdateBackupRequest,
+    options?: CallOptions,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1beta4.IOperation,
+      protos.google.cloud.sql.v1beta4.IUpdateBackupRequest | undefined,
+      {} | undefined,
+    ]
+  >;
   updateBackup(
-      request: protos.google.cloud.sql.v1beta4.IUpdateBackupRequest,
-      options: CallOptions,
-      callback: Callback<
-          protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.IUpdateBackupRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1beta4.IUpdateBackupRequest,
+    options: CallOptions,
+    callback: Callback<
+      protos.google.cloud.sql.v1beta4.IOperation,
+      protos.google.cloud.sql.v1beta4.IUpdateBackupRequest | null | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   updateBackup(
-      request: protos.google.cloud.sql.v1beta4.IUpdateBackupRequest,
-      callback: Callback<
-          protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.IUpdateBackupRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1beta4.IUpdateBackupRequest,
+    callback: Callback<
+      protos.google.cloud.sql.v1beta4.IOperation,
+      protos.google.cloud.sql.v1beta4.IUpdateBackupRequest | null | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   updateBackup(
-      request?: protos.google.cloud.sql.v1beta4.IUpdateBackupRequest,
-      optionsOrCallback?: CallOptions|Callback<
-          protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.IUpdateBackupRequest|null|undefined,
-          {}|null|undefined>,
-      callback?: Callback<
+    request?: protos.google.cloud.sql.v1beta4.IUpdateBackupRequest,
+    optionsOrCallback?:
+      | CallOptions
+      | Callback<
           protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.IUpdateBackupRequest|null|undefined,
-          {}|null|undefined>):
-      Promise<[
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.IUpdateBackupRequest|undefined, {}|undefined
-      ]>|void {
+          | protos.google.cloud.sql.v1beta4.IUpdateBackupRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >,
+    callback?: Callback<
+      protos.google.cloud.sql.v1beta4.IOperation,
+      protos.google.cloud.sql.v1beta4.IUpdateBackupRequest | null | undefined,
+      {} | null | undefined
+    >,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1beta4.IOperation,
+      protos.google.cloud.sql.v1beta4.IUpdateBackupRequest | undefined,
+      {} | undefined,
+    ]
+  > | void {
     request = request || {};
     let options: CallOptions;
     if (typeof optionsOrCallback === 'function' && callback === undefined) {
       callback = optionsOrCallback;
       options = {};
-    }
-    else {
+    } else {
       options = optionsOrCallback as CallOptions;
     }
     options = options || {};
     options.otherArgs = options.otherArgs || {};
     options.otherArgs.headers = options.otherArgs.headers || {};
-    options.otherArgs.headers[
-      'x-goog-request-params'
-    ] = this._gaxModule.routingHeader.fromParams({
-      'backup.name': request.backup!.name ?? '',
+    options.otherArgs.headers['x-goog-request-params'] =
+      this._gaxModule.routingHeader.fromParams({
+        'backup.name': request.backup!.name ?? '',
+      });
+    this.initialize().catch((err) => {
+      throw err;
     });
-    this.initialize().catch(err => {throw err});
     this._log.info('updateBackup request %j', request);
-    const wrappedCallback: Callback<
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.IUpdateBackupRequest|null|undefined,
-        {}|null|undefined>|undefined = callback
+    const wrappedCallback:
+      | Callback<
+          protos.google.cloud.sql.v1beta4.IOperation,
+          | protos.google.cloud.sql.v1beta4.IUpdateBackupRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >
+      | undefined = callback
       ? (error, response, options, rawResponse) => {
           this._log.info('updateBackup response %j', response);
           callback!(error, response, options, rawResponse); // We verified callback above.
         }
       : undefined;
-    return this.innerApiCalls.updateBackup(request, options, wrappedCallback)
-      ?.then(([response, options, rawResponse]: [
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.IUpdateBackupRequest|undefined,
-        {}|undefined
-      ]) => {
-        this._log.info('updateBackup response %j', response);
-        return [response, options, rawResponse];
-      }).catch((error: any) => {
-        if (error && 'statusDetails' in error && error.statusDetails instanceof Array) {
-          const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type;
-          error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos);
+    return this.innerApiCalls
+      .updateBackup(request, options, wrappedCallback)
+      ?.then(
+        ([response, options, rawResponse]: [
+          protos.google.cloud.sql.v1beta4.IOperation,
+          protos.google.cloud.sql.v1beta4.IUpdateBackupRequest | undefined,
+          {} | undefined,
+        ]) => {
+          this._log.info('updateBackup response %j', response);
+          return [response, options, rawResponse];
+        },
+      )
+      .catch((error: any) => {
+        if (
+          error &&
+          'statusDetails' in error &&
+          error.statusDetails instanceof Array
+        ) {
+          const protos = this._gaxModule.protobuf.Root.fromJSON(
+            jsonProtos,
+          ) as unknown as gax.protobuf.Type;
+          error.statusDetails = decodeAnyProtosInArray(
+            error.statusDetails,
+            protos,
+          );
         }
         throw error;
       });
   }
-/**
- * Deletes the backup.
- *
- * @param {Object} request
- *   The request object that will be sent.
- * @param {string} request.name
- *   Required. The name of the backup to delete.
- *   Format: projects/{project}/backups/{backup}
- * @param {object} [options]
- *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
- * @returns {Promise} - The promise which resolves to an array.
- *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1beta4.Operation|Operation}.
- *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
- *   for more details and examples.
- * @example <caption>include:samples/generated/v1beta4/sql_backups_service.delete_backup.js</caption>
- * region_tag:sqladmin_v1beta4_generated_SqlBackupsService_DeleteBackup_async
- */
+  /**
+   * Deletes the backup.
+   *
+   * @param {Object} request
+   *   The request object that will be sent.
+   * @param {string} request.name
+   *   Required. The name of the backup to delete.
+   *   Format: projects/{project}/backups/{backup}
+   * @param {object} [options]
+   *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+   * @returns {Promise} - The promise which resolves to an array.
+   *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1beta4.Operation|Operation}.
+   *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
+   *   for more details and examples.
+   * @example <caption>include:samples/generated/v1beta4/sql_backups_service.delete_backup.js</caption>
+   * region_tag:sqladmin_v1beta4_generated_SqlBackupsService_DeleteBackup_async
+   */
   deleteBackup(
-      request?: protos.google.cloud.sql.v1beta4.IDeleteBackupRequest,
-      options?: CallOptions):
-      Promise<[
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.IDeleteBackupRequest|undefined, {}|undefined
-      ]>;
+    request?: protos.google.cloud.sql.v1beta4.IDeleteBackupRequest,
+    options?: CallOptions,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1beta4.IOperation,
+      protos.google.cloud.sql.v1beta4.IDeleteBackupRequest | undefined,
+      {} | undefined,
+    ]
+  >;
   deleteBackup(
-      request: protos.google.cloud.sql.v1beta4.IDeleteBackupRequest,
-      options: CallOptions,
-      callback: Callback<
-          protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.IDeleteBackupRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1beta4.IDeleteBackupRequest,
+    options: CallOptions,
+    callback: Callback<
+      protos.google.cloud.sql.v1beta4.IOperation,
+      protos.google.cloud.sql.v1beta4.IDeleteBackupRequest | null | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   deleteBackup(
-      request: protos.google.cloud.sql.v1beta4.IDeleteBackupRequest,
-      callback: Callback<
-          protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.IDeleteBackupRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1beta4.IDeleteBackupRequest,
+    callback: Callback<
+      protos.google.cloud.sql.v1beta4.IOperation,
+      protos.google.cloud.sql.v1beta4.IDeleteBackupRequest | null | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   deleteBackup(
-      request?: protos.google.cloud.sql.v1beta4.IDeleteBackupRequest,
-      optionsOrCallback?: CallOptions|Callback<
-          protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.IDeleteBackupRequest|null|undefined,
-          {}|null|undefined>,
-      callback?: Callback<
+    request?: protos.google.cloud.sql.v1beta4.IDeleteBackupRequest,
+    optionsOrCallback?:
+      | CallOptions
+      | Callback<
           protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.IDeleteBackupRequest|null|undefined,
-          {}|null|undefined>):
-      Promise<[
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.IDeleteBackupRequest|undefined, {}|undefined
-      ]>|void {
+          | protos.google.cloud.sql.v1beta4.IDeleteBackupRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >,
+    callback?: Callback<
+      protos.google.cloud.sql.v1beta4.IOperation,
+      protos.google.cloud.sql.v1beta4.IDeleteBackupRequest | null | undefined,
+      {} | null | undefined
+    >,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1beta4.IOperation,
+      protos.google.cloud.sql.v1beta4.IDeleteBackupRequest | undefined,
+      {} | undefined,
+    ]
+  > | void {
     request = request || {};
     let options: CallOptions;
     if (typeof optionsOrCallback === 'function' && callback === undefined) {
       callback = optionsOrCallback;
       options = {};
-    }
-    else {
+    } else {
       options = optionsOrCallback as CallOptions;
     }
     options = options || {};
     options.otherArgs = options.otherArgs || {};
     options.otherArgs.headers = options.otherArgs.headers || {};
-    options.otherArgs.headers[
-      'x-goog-request-params'
-    ] = this._gaxModule.routingHeader.fromParams({
-      'name': request.name ?? '',
+    options.otherArgs.headers['x-goog-request-params'] =
+      this._gaxModule.routingHeader.fromParams({
+        name: request.name ?? '',
+      });
+    this.initialize().catch((err) => {
+      throw err;
     });
-    this.initialize().catch(err => {throw err});
     this._log.info('deleteBackup request %j', request);
-    const wrappedCallback: Callback<
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.IDeleteBackupRequest|null|undefined,
-        {}|null|undefined>|undefined = callback
+    const wrappedCallback:
+      | Callback<
+          protos.google.cloud.sql.v1beta4.IOperation,
+          | protos.google.cloud.sql.v1beta4.IDeleteBackupRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >
+      | undefined = callback
       ? (error, response, options, rawResponse) => {
           this._log.info('deleteBackup response %j', response);
           callback!(error, response, options, rawResponse); // We verified callback above.
         }
       : undefined;
-    return this.innerApiCalls.deleteBackup(request, options, wrappedCallback)
-      ?.then(([response, options, rawResponse]: [
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.IDeleteBackupRequest|undefined,
-        {}|undefined
-      ]) => {
-        this._log.info('deleteBackup response %j', response);
-        return [response, options, rawResponse];
-      }).catch((error: any) => {
-        if (error && 'statusDetails' in error && error.statusDetails instanceof Array) {
-          const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type;
-          error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos);
+    return this.innerApiCalls
+      .deleteBackup(request, options, wrappedCallback)
+      ?.then(
+        ([response, options, rawResponse]: [
+          protos.google.cloud.sql.v1beta4.IOperation,
+          protos.google.cloud.sql.v1beta4.IDeleteBackupRequest | undefined,
+          {} | undefined,
+        ]) => {
+          this._log.info('deleteBackup response %j', response);
+          return [response, options, rawResponse];
+        },
+      )
+      .catch((error: any) => {
+        if (
+          error &&
+          'statusDetails' in error &&
+          error.statusDetails instanceof Array
+        ) {
+          const protos = this._gaxModule.protobuf.Root.fromJSON(
+            jsonProtos,
+          ) as unknown as gax.protobuf.Type;
+          error.statusDetails = decodeAnyProtosInArray(
+            error.statusDetails,
+            protos,
+          );
         }
         throw error;
       });
   }
 
- /**
- * Lists all backups associated with the project.
- *
- * @param {Object} request
- *   The request object that will be sent.
- * @param {string} request.parent
- *   Required. The parent that owns this collection of backups.
- *   Format: projects/{project}
- * @param {number} request.pageSize
- *   The maximum number of backups to return per response. The service might
- *   return fewer backups than this value. If a value for this parameter isn't
- *   specified, then, at most, 500 backups are returned. The maximum value is
- *   2,000. Any values that you set, which are greater than 2,000, are changed
- *   to 2,000.
- * @param {string} request.pageToken
- *   A page token, received from a previous `ListBackups` call.
- *   Provide this to retrieve the subsequent page.
- *
- *   When paginating, all other parameters provided to `ListBackups` must match
- *   the call that provided the page token.
- * @param {string} request.filter
- *   Multiple filter queries are separated by spaces. For example,
- *   'instance:abc AND type:FINAL, 'location:us',
- *   'backupInterval.startTime>=1950-01-01T01:01:25.771Z'. You can filter by
- *   type, instance, backupInterval.startTime (creation time), or location.
- * @param {object} [options]
- *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
- * @returns {Promise} - The promise which resolves to an array.
- *   The first element of the array is Array of {@link protos.google.cloud.sql.v1beta4.Backup|Backup}.
- *   The client library will perform auto-pagination by default: it will call the API as many
- *   times as needed and will merge results from all the pages into this array.
- *   Note that it can affect your quota.
- *   We recommend using `listBackupsAsync()`
- *   method described below for async iteration which you can stop as needed.
- *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation }
- *   for more details and examples.
- */
+  /**
+   * Lists all backups associated with the project.
+   *
+   * @param {Object} request
+   *   The request object that will be sent.
+   * @param {string} request.parent
+   *   Required. The parent that owns this collection of backups.
+   *   Format: projects/{project}
+   * @param {number} request.pageSize
+   *   The maximum number of backups to return per response. The service might
+   *   return fewer backups than this value. If a value for this parameter isn't
+   *   specified, then, at most, 500 backups are returned. The maximum value is
+   *   2,000. Any values that you set, which are greater than 2,000, are changed
+   *   to 2,000.
+   * @param {string} request.pageToken
+   *   A page token, received from a previous `ListBackups` call.
+   *   Provide this to retrieve the subsequent page.
+   *
+   *   When paginating, all other parameters provided to `ListBackups` must match
+   *   the call that provided the page token.
+   * @param {string} request.filter
+   *   Multiple filter queries are separated by spaces. For example,
+   *   'instance:abc AND type:FINAL, 'location:us',
+   *   'backupInterval.startTime>=1950-01-01T01:01:25.771Z'. You can filter by
+   *   type, instance, backupInterval.startTime (creation time), or location.
+   * @param {object} [options]
+   *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+   * @returns {Promise} - The promise which resolves to an array.
+   *   The first element of the array is Array of {@link protos.google.cloud.sql.v1beta4.Backup|Backup}.
+   *   The client library will perform auto-pagination by default: it will call the API as many
+   *   times as needed and will merge results from all the pages into this array.
+   *   Note that it can affect your quota.
+   *   We recommend using `listBackupsAsync()`
+   *   method described below for async iteration which you can stop as needed.
+   *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation }
+   *   for more details and examples.
+   */
   listBackups(
-      request?: protos.google.cloud.sql.v1beta4.IListBackupsRequest,
-      options?: CallOptions):
-      Promise<[
-        protos.google.cloud.sql.v1beta4.IBackup[],
-        protos.google.cloud.sql.v1beta4.IListBackupsRequest|null,
-        protos.google.cloud.sql.v1beta4.IListBackupsResponse
-      ]>;
+    request?: protos.google.cloud.sql.v1beta4.IListBackupsRequest,
+    options?: CallOptions,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1beta4.IBackup[],
+      protos.google.cloud.sql.v1beta4.IListBackupsRequest | null,
+      protos.google.cloud.sql.v1beta4.IListBackupsResponse,
+    ]
+  >;
   listBackups(
-      request: protos.google.cloud.sql.v1beta4.IListBackupsRequest,
-      options: CallOptions,
-      callback: PaginationCallback<
-          protos.google.cloud.sql.v1beta4.IListBackupsRequest,
-          protos.google.cloud.sql.v1beta4.IListBackupsResponse|null|undefined,
-          protos.google.cloud.sql.v1beta4.IBackup>): void;
+    request: protos.google.cloud.sql.v1beta4.IListBackupsRequest,
+    options: CallOptions,
+    callback: PaginationCallback<
+      protos.google.cloud.sql.v1beta4.IListBackupsRequest,
+      protos.google.cloud.sql.v1beta4.IListBackupsResponse | null | undefined,
+      protos.google.cloud.sql.v1beta4.IBackup
+    >,
+  ): void;
   listBackups(
-      request: protos.google.cloud.sql.v1beta4.IListBackupsRequest,
-      callback: PaginationCallback<
-          protos.google.cloud.sql.v1beta4.IListBackupsRequest,
-          protos.google.cloud.sql.v1beta4.IListBackupsResponse|null|undefined,
-          protos.google.cloud.sql.v1beta4.IBackup>): void;
+    request: protos.google.cloud.sql.v1beta4.IListBackupsRequest,
+    callback: PaginationCallback<
+      protos.google.cloud.sql.v1beta4.IListBackupsRequest,
+      protos.google.cloud.sql.v1beta4.IListBackupsResponse | null | undefined,
+      protos.google.cloud.sql.v1beta4.IBackup
+    >,
+  ): void;
   listBackups(
-      request?: protos.google.cloud.sql.v1beta4.IListBackupsRequest,
-      optionsOrCallback?: CallOptions|PaginationCallback<
-          protos.google.cloud.sql.v1beta4.IListBackupsRequest,
-          protos.google.cloud.sql.v1beta4.IListBackupsResponse|null|undefined,
-          protos.google.cloud.sql.v1beta4.IBackup>,
-      callback?: PaginationCallback<
+    request?: protos.google.cloud.sql.v1beta4.IListBackupsRequest,
+    optionsOrCallback?:
+      | CallOptions
+      | PaginationCallback<
           protos.google.cloud.sql.v1beta4.IListBackupsRequest,
-          protos.google.cloud.sql.v1beta4.IListBackupsResponse|null|undefined,
-          protos.google.cloud.sql.v1beta4.IBackup>):
-      Promise<[
-        protos.google.cloud.sql.v1beta4.IBackup[],
-        protos.google.cloud.sql.v1beta4.IListBackupsRequest|null,
-        protos.google.cloud.sql.v1beta4.IListBackupsResponse
-      ]>|void {
+          | protos.google.cloud.sql.v1beta4.IListBackupsResponse
+          | null
+          | undefined,
+          protos.google.cloud.sql.v1beta4.IBackup
+        >,
+    callback?: PaginationCallback<
+      protos.google.cloud.sql.v1beta4.IListBackupsRequest,
+      protos.google.cloud.sql.v1beta4.IListBackupsResponse | null | undefined,
+      protos.google.cloud.sql.v1beta4.IBackup
+    >,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1beta4.IBackup[],
+      protos.google.cloud.sql.v1beta4.IListBackupsRequest | null,
+      protos.google.cloud.sql.v1beta4.IListBackupsResponse,
+    ]
+  > | void {
     request = request || {};
     let options: CallOptions;
     if (typeof optionsOrCallback === 'function' && callback === undefined) {
       callback = optionsOrCallback;
       options = {};
-    }
-    else {
+    } else {
       options = optionsOrCallback as CallOptions;
     }
     options = options || {};
     options.otherArgs = options.otherArgs || {};
     options.otherArgs.headers = options.otherArgs.headers || {};
-    options.otherArgs.headers[
-      'x-goog-request-params'
-    ] = this._gaxModule.routingHeader.fromParams({
-      'parent': request.parent ?? '',
+    options.otherArgs.headers['x-goog-request-params'] =
+      this._gaxModule.routingHeader.fromParams({
+        parent: request.parent ?? '',
+      });
+    this.initialize().catch((err) => {
+      throw err;
     });
-    this.initialize().catch(err => {throw err});
-    const wrappedCallback: PaginationCallback<
-      protos.google.cloud.sql.v1beta4.IListBackupsRequest,
-      protos.google.cloud.sql.v1beta4.IListBackupsResponse|null|undefined,
-      protos.google.cloud.sql.v1beta4.IBackup>|undefined = callback
+    const wrappedCallback:
+      | PaginationCallback<
+          protos.google.cloud.sql.v1beta4.IListBackupsRequest,
+          | protos.google.cloud.sql.v1beta4.IListBackupsResponse
+          | null
+          | undefined,
+          protos.google.cloud.sql.v1beta4.IBackup
+        >
+      | undefined = callback
       ? (error, values, nextPageRequest, rawResponse) => {
           this._log.info('listBackups values %j', values);
           callback!(error, values, nextPageRequest, rawResponse); // We verified callback above.
@@ -837,137 +1042,142 @@ export class SqlBackupsServiceClient {
     this._log.info('listBackups request %j', request);
     return this.innerApiCalls
       .listBackups(request, options, wrappedCallback)
-      ?.then(([response, input, output]: [
-        protos.google.cloud.sql.v1beta4.IBackup[],
-        protos.google.cloud.sql.v1beta4.IListBackupsRequest|null,
-        protos.google.cloud.sql.v1beta4.IListBackupsResponse
-      ]) => {
-        this._log.info('listBackups values %j', response);
-        return [response, input, output];
-      });
+      ?.then(
+        ([response, input, output]: [
+          protos.google.cloud.sql.v1beta4.IBackup[],
+          protos.google.cloud.sql.v1beta4.IListBackupsRequest | null,
+          protos.google.cloud.sql.v1beta4.IListBackupsResponse,
+        ]) => {
+          this._log.info('listBackups values %j', response);
+          return [response, input, output];
+        },
+      );
   }
 
-/**
- * Equivalent to `listBackups`, but returns a NodeJS Stream object.
- * @param {Object} request
- *   The request object that will be sent.
- * @param {string} request.parent
- *   Required. The parent that owns this collection of backups.
- *   Format: projects/{project}
- * @param {number} request.pageSize
- *   The maximum number of backups to return per response. The service might
- *   return fewer backups than this value. If a value for this parameter isn't
- *   specified, then, at most, 500 backups are returned. The maximum value is
- *   2,000. Any values that you set, which are greater than 2,000, are changed
- *   to 2,000.
- * @param {string} request.pageToken
- *   A page token, received from a previous `ListBackups` call.
- *   Provide this to retrieve the subsequent page.
- *
- *   When paginating, all other parameters provided to `ListBackups` must match
- *   the call that provided the page token.
- * @param {string} request.filter
- *   Multiple filter queries are separated by spaces. For example,
- *   'instance:abc AND type:FINAL, 'location:us',
- *   'backupInterval.startTime>=1950-01-01T01:01:25.771Z'. You can filter by
- *   type, instance, backupInterval.startTime (creation time), or location.
- * @param {object} [options]
- *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
- * @returns {Stream}
- *   An object stream which emits an object representing {@link protos.google.cloud.sql.v1beta4.Backup|Backup} on 'data' event.
- *   The client library will perform auto-pagination by default: it will call the API as many
- *   times as needed. Note that it can affect your quota.
- *   We recommend using `listBackupsAsync()`
- *   method described below for async iteration which you can stop as needed.
- *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation }
- *   for more details and examples.
- */
+  /**
+   * Equivalent to `listBackups`, but returns a NodeJS Stream object.
+   * @param {Object} request
+   *   The request object that will be sent.
+   * @param {string} request.parent
+   *   Required. The parent that owns this collection of backups.
+   *   Format: projects/{project}
+   * @param {number} request.pageSize
+   *   The maximum number of backups to return per response. The service might
+   *   return fewer backups than this value. If a value for this parameter isn't
+   *   specified, then, at most, 500 backups are returned. The maximum value is
+   *   2,000. Any values that you set, which are greater than 2,000, are changed
+   *   to 2,000.
+   * @param {string} request.pageToken
+   *   A page token, received from a previous `ListBackups` call.
+   *   Provide this to retrieve the subsequent page.
+   *
+   *   When paginating, all other parameters provided to `ListBackups` must match
+   *   the call that provided the page token.
+   * @param {string} request.filter
+   *   Multiple filter queries are separated by spaces. For example,
+   *   'instance:abc AND type:FINAL, 'location:us',
+   *   'backupInterval.startTime>=1950-01-01T01:01:25.771Z'. You can filter by
+   *   type, instance, backupInterval.startTime (creation time), or location.
+   * @param {object} [options]
+   *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+   * @returns {Stream}
+   *   An object stream which emits an object representing {@link protos.google.cloud.sql.v1beta4.Backup|Backup} on 'data' event.
+   *   The client library will perform auto-pagination by default: it will call the API as many
+   *   times as needed. Note that it can affect your quota.
+   *   We recommend using `listBackupsAsync()`
+   *   method described below for async iteration which you can stop as needed.
+   *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation }
+   *   for more details and examples.
+   */
   listBackupsStream(
-      request?: protos.google.cloud.sql.v1beta4.IListBackupsRequest,
-      options?: CallOptions):
-    Transform{
+    request?: protos.google.cloud.sql.v1beta4.IListBackupsRequest,
+    options?: CallOptions,
+  ): Transform {
     request = request || {};
     options = options || {};
     options.otherArgs = options.otherArgs || {};
     options.otherArgs.headers = options.otherArgs.headers || {};
-    options.otherArgs.headers[
-      'x-goog-request-params'
-    ] = this._gaxModule.routingHeader.fromParams({
-      'parent': request.parent ?? '',
-    });
+    options.otherArgs.headers['x-goog-request-params'] =
+      this._gaxModule.routingHeader.fromParams({
+        parent: request.parent ?? '',
+      });
     const defaultCallSettings = this._defaults['listBackups'];
     const callSettings = defaultCallSettings.merge(options);
-    this.initialize().catch(err => {throw err});
+    this.initialize().catch((err) => {
+      throw err;
+    });
     this._log.info('listBackups stream %j', request);
     return this.descriptors.page.listBackups.createStream(
       this.innerApiCalls.listBackups as GaxCall,
       request,
-      callSettings
+      callSettings,
     );
   }
 
-/**
- * Equivalent to `listBackups`, but returns an iterable object.
- *
- * `for`-`await`-`of` syntax is used with the iterable to get response elements on-demand.
- * @param {Object} request
- *   The request object that will be sent.
- * @param {string} request.parent
- *   Required. The parent that owns this collection of backups.
- *   Format: projects/{project}
- * @param {number} request.pageSize
- *   The maximum number of backups to return per response. The service might
- *   return fewer backups than this value. If a value for this parameter isn't
- *   specified, then, at most, 500 backups are returned. The maximum value is
- *   2,000. Any values that you set, which are greater than 2,000, are changed
- *   to 2,000.
- * @param {string} request.pageToken
- *   A page token, received from a previous `ListBackups` call.
- *   Provide this to retrieve the subsequent page.
- *
- *   When paginating, all other parameters provided to `ListBackups` must match
- *   the call that provided the page token.
- * @param {string} request.filter
- *   Multiple filter queries are separated by spaces. For example,
- *   'instance:abc AND type:FINAL, 'location:us',
- *   'backupInterval.startTime>=1950-01-01T01:01:25.771Z'. You can filter by
- *   type, instance, backupInterval.startTime (creation time), or location.
- * @param {object} [options]
- *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
- * @returns {Object}
- *   An iterable Object that allows {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols | async iteration }.
- *   When you iterate the returned iterable, each element will be an object representing
- *   {@link protos.google.cloud.sql.v1beta4.Backup|Backup}. The API will be called under the hood as needed, once per the page,
- *   so you can stop the iteration when you don't need more results.
- *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation }
- *   for more details and examples.
- * @example <caption>include:samples/generated/v1beta4/sql_backups_service.list_backups.js</caption>
- * region_tag:sqladmin_v1beta4_generated_SqlBackupsService_ListBackups_async
- */
+  /**
+   * Equivalent to `listBackups`, but returns an iterable object.
+   *
+   * `for`-`await`-`of` syntax is used with the iterable to get response elements on-demand.
+   * @param {Object} request
+   *   The request object that will be sent.
+   * @param {string} request.parent
+   *   Required. The parent that owns this collection of backups.
+   *   Format: projects/{project}
+   * @param {number} request.pageSize
+   *   The maximum number of backups to return per response. The service might
+   *   return fewer backups than this value. If a value for this parameter isn't
+   *   specified, then, at most, 500 backups are returned. The maximum value is
+   *   2,000. Any values that you set, which are greater than 2,000, are changed
+   *   to 2,000.
+   * @param {string} request.pageToken
+   *   A page token, received from a previous `ListBackups` call.
+   *   Provide this to retrieve the subsequent page.
+   *
+   *   When paginating, all other parameters provided to `ListBackups` must match
+   *   the call that provided the page token.
+   * @param {string} request.filter
+   *   Multiple filter queries are separated by spaces. For example,
+   *   'instance:abc AND type:FINAL, 'location:us',
+   *   'backupInterval.startTime>=1950-01-01T01:01:25.771Z'. You can filter by
+   *   type, instance, backupInterval.startTime (creation time), or location.
+   * @param {object} [options]
+   *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+   * @returns {Object}
+   *   An iterable Object that allows {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols | async iteration }.
+   *   When you iterate the returned iterable, each element will be an object representing
+   *   {@link protos.google.cloud.sql.v1beta4.Backup|Backup}. The API will be called under the hood as needed, once per the page,
+   *   so you can stop the iteration when you don't need more results.
+   *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation }
+   *   for more details and examples.
+   * @example <caption>include:samples/generated/v1beta4/sql_backups_service.list_backups.js</caption>
+   * region_tag:sqladmin_v1beta4_generated_SqlBackupsService_ListBackups_async
+   */
   listBackupsAsync(
-      request?: protos.google.cloud.sql.v1beta4.IListBackupsRequest,
-      options?: CallOptions):
-    AsyncIterable<protos.google.cloud.sql.v1beta4.IBackup>{
+    request?: protos.google.cloud.sql.v1beta4.IListBackupsRequest,
+    options?: CallOptions,
+  ): AsyncIterable<protos.google.cloud.sql.v1beta4.IBackup> {
     request = request || {};
     options = options || {};
     options.otherArgs = options.otherArgs || {};
     options.otherArgs.headers = options.otherArgs.headers || {};
-    options.otherArgs.headers[
-      'x-goog-request-params'
-    ] = this._gaxModule.routingHeader.fromParams({
-      'parent': request.parent ?? '',
-    });
+    options.otherArgs.headers['x-goog-request-params'] =
+      this._gaxModule.routingHeader.fromParams({
+        parent: request.parent ?? '',
+      });
     const defaultCallSettings = this._defaults['listBackups'];
     const callSettings = defaultCallSettings.merge(options);
-    this.initialize().catch(err => {throw err});
+    this.initialize().catch((err) => {
+      throw err;
+    });
     this._log.info('listBackups iterate %j', request);
     return this.descriptors.page.listBackups.asyncIterate(
       this.innerApiCalls['listBackups'] as GaxCall,
       request as {},
-      callSettings
+      callSettings,
     ) as AsyncIterable<protos.google.cloud.sql.v1beta4.IBackup>;
   }
-/**
+
+  /**
    * Gets information about a location.
    *
    * @param {Object} request
@@ -1002,12 +1212,11 @@ export class SqlBackupsServiceClient {
       | null
       | undefined,
       {} | null | undefined
-    >
+    >,
   ): Promise<LocationProtos.google.cloud.location.ILocation> {
     return this.locationsClient.getLocation(request, options, callback);
   }
-
-/**
+  /**
    * Lists information about the supported locations for this service. Returns an iterable object.
    *
    * `for`-`await`-`of` syntax is used with the iterable to get response elements on-demand.
@@ -1040,7 +1249,7 @@ export class SqlBackupsServiceClient {
    */
   listLocationsAsync(
     request: LocationProtos.google.cloud.location.IListLocationsRequest,
-    options?: CallOptions
+    options?: CallOptions,
   ): AsyncIterable<LocationProtos.google.cloud.location.ILocation> {
     return this.locationsClient.listLocationsAsync(request, options);
   }
@@ -1056,7 +1265,7 @@ export class SqlBackupsServiceClient {
    * @param {string} backup
    * @returns {string} Resource name string.
    */
-  backupPath(project:string,backup:string) {
+  backupPath(project: string, backup: string) {
     return this.pathTemplates.backupPathTemplate.render({
       project: project,
       backup: backup,
@@ -1091,7 +1300,7 @@ export class SqlBackupsServiceClient {
    * @param {string} project
    * @returns {string} Resource name string.
    */
-  projectPath(project:string) {
+  projectPath(project: string) {
     return this.pathTemplates.projectPathTemplate.render({
       project: project,
     });
@@ -1116,13 +1325,15 @@ export class SqlBackupsServiceClient {
    */
   close(): Promise<void> {
     if (this.sqlBackupsServiceStub && !this._terminated) {
-      return this.sqlBackupsServiceStub.then(stub => {
+      return this.sqlBackupsServiceStub.then((stub) => {
         this._log.info('ending gRPC channel');
         this._terminated = true;
         stub.close();
-        this.locationsClient.close().catch(err => {throw err});
+        this.locationsClient.close().catch((err) => {
+          throw err;
+        });
       });
     }
     return Promise.resolve();
   }
-}
\ No newline at end of file
+}
diff --git a/packages/google-cloud-sql/src/v1beta4/sql_connect_service_client.ts b/packages/google-cloud-sql/src/v1beta4/sql_connect_service_client.ts
index 9dd0d4425b76..98f4fcbdfa17 100644
--- a/packages/google-cloud-sql/src/v1beta4/sql_connect_service_client.ts
+++ b/packages/google-cloud-sql/src/v1beta4/sql_connect_service_client.ts
@@ -18,11 +18,18 @@
 
 /* global window */
 import type * as gax from 'google-gax';
-import type {Callback, CallOptions, Descriptors, ClientOptions, LocationsClient, LocationProtos} from 'google-gax';
+import type {
+  Callback,
+  CallOptions,
+  Descriptors,
+  ClientOptions,
+  LocationsClient,
+  LocationProtos,
+} from 'google-gax';
 
 import * as protos from '../../protos/protos';
 import jsonProtos = require('../../protos/protos.json');
-import {loggingUtils as logging, decodeAnyProtosInArray} from 'google-gax';
+import { loggingUtils as logging, decodeAnyProtosInArray } from 'google-gax';
 
 /**
  * Client JSON configuration object, loaded from
@@ -44,7 +51,7 @@ export class SqlConnectServiceClient {
   private _gaxModule: typeof gax | typeof gax.fallback;
   private _gaxGrpc: gax.GrpcClient | gax.fallback.GrpcClient;
   private _protos: {};
-  private _defaults: {[method: string]: gax.CallSettings};
+  private _defaults: { [method: string]: gax.CallSettings };
   private _universeDomain: string;
   private _servicePath: string;
   private _log = logging.log('sql');
@@ -57,10 +64,10 @@ export class SqlConnectServiceClient {
     batching: {},
   };
   warn: (code: string, message: string, warnType?: string) => void;
-  innerApiCalls: {[name: string]: Function};
+  innerApiCalls: { [name: string]: Function };
   locationsClient: LocationsClient;
-  pathTemplates: {[name: string]: gax.PathTemplate};
-  sqlConnectServiceStub?: Promise<{[name: string]: Function}>;
+  pathTemplates: { [name: string]: gax.PathTemplate };
+  sqlConnectServiceStub?: Promise<{ [name: string]: Function }>;
 
   /**
    * Construct an instance of SqlConnectServiceClient.
@@ -101,21 +108,42 @@ export class SqlConnectServiceClient {
    *     const client = new SqlConnectServiceClient({fallback: true}, gax);
    *     ```
    */
-  constructor(opts?: ClientOptions, gaxInstance?: typeof gax | typeof gax.fallback) {
+  constructor(
+    opts?: ClientOptions,
+    gaxInstance?: typeof gax | typeof gax.fallback,
+  ) {
     // Ensure that options include all the required fields.
     const staticMembers = this.constructor as typeof SqlConnectServiceClient;
-    if (opts?.universe_domain && opts?.universeDomain && opts?.universe_domain !== opts?.universeDomain) {
-      throw new Error('Please set either universe_domain or universeDomain, but not both.');
+    if (
+      opts?.universe_domain &&
+      opts?.universeDomain &&
+      opts?.universe_domain !== opts?.universeDomain
+    ) {
+      throw new Error(
+        'Please set either universe_domain or universeDomain, but not both.',
+      );
     }
-    const universeDomainEnvVar = (typeof process === 'object' && typeof process.env === 'object') ? process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] : undefined;
-    this._universeDomain = opts?.universeDomain ?? opts?.universe_domain ?? universeDomainEnvVar ?? 'googleapis.com';
+    const universeDomainEnvVar =
+      typeof process === 'object' && typeof process.env === 'object'
+        ? process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN']
+        : undefined;
+    this._universeDomain =
+      opts?.universeDomain ??
+      opts?.universe_domain ??
+      universeDomainEnvVar ??
+      'googleapis.com';
     this._servicePath = 'sqladmin.' + this._universeDomain;
-    const servicePath = opts?.servicePath || opts?.apiEndpoint || this._servicePath;
-    this._providedCustomServicePath = !!(opts?.servicePath || opts?.apiEndpoint);
+    const servicePath =
+      opts?.servicePath || opts?.apiEndpoint || this._servicePath;
+    this._providedCustomServicePath = !!(
+      opts?.servicePath || opts?.apiEndpoint
+    );
     const port = opts?.port || staticMembers.port;
     const clientConfig = opts?.clientConfig ?? {};
-    const fallback = opts?.fallback ?? (typeof window !== 'undefined' && typeof window?.fetch === 'function');
-    opts = Object.assign({servicePath, port, clientConfig, fallback}, opts);
+    const fallback =
+      opts?.fallback ??
+      (typeof window !== 'undefined' && typeof window?.fetch === 'function');
+    opts = Object.assign({ servicePath, port, clientConfig, fallback }, opts);
 
     // Request numeric enum values if REST transport is used.
     opts.numericEnums = true;
@@ -140,7 +168,7 @@ export class SqlConnectServiceClient {
     this._opts = opts;
 
     // Save the auth object to the client, for use by other methods.
-    this.auth = (this._gaxGrpc.auth as gax.GoogleAuth);
+    this.auth = this._gaxGrpc.auth as gax.GoogleAuth;
 
     // Set useJWTAccessWithScope on the auth object.
     this.auth.useJWTAccessWithScope = true;
@@ -154,15 +182,11 @@ export class SqlConnectServiceClient {
     }
     this.locationsClient = new this._gaxModule.LocationsClient(
       this._gaxGrpc,
-      opts
+      opts,
     );
-  
 
     // Determine the client header string.
-    const clientHeader = [
-      `gax/${this._gaxModule.version}`,
-      `gapic/${version}`,
-    ];
+    const clientHeader = [`gax/${this._gaxModule.version}`, `gapic/${version}`];
     if (typeof process === 'object' && 'versions' in process) {
       clientHeader.push(`gl-node/${process.versions.node}`);
     } else {
@@ -184,14 +208,17 @@ export class SqlConnectServiceClient {
     // Create useful helper objects for these.
     this.pathTemplates = {
       backupPathTemplate: new this._gaxModule.PathTemplate(
-        'projects/{project}/backups/{backup}'
+        'projects/{project}/backups/{backup}',
       ),
     };
 
     // Put together the default options sent with requests.
     this._defaults = this._gaxGrpc.constructSettings(
-        'google.cloud.sql.v1beta4.SqlConnectService', gapicConfig as gax.ClientConfig,
-        opts.clientConfig || {}, {'x-goog-api-client': clientHeader.join(' ')});
+      'google.cloud.sql.v1beta4.SqlConnectService',
+      gapicConfig as gax.ClientConfig,
+      opts.clientConfig || {},
+      { 'x-goog-api-client': clientHeader.join(' ') },
+    );
 
     // Set up a dictionary of "inner API calls"; the core implementation
     // of calling the API is handled in `google-gax`, with this code
@@ -222,36 +249,43 @@ export class SqlConnectServiceClient {
     // Put together the "service stub" for
     // google.cloud.sql.v1beta4.SqlConnectService.
     this.sqlConnectServiceStub = this._gaxGrpc.createStub(
-        this._opts.fallback ?
-          (this._protos as protobuf.Root).lookupService('google.cloud.sql.v1beta4.SqlConnectService') :
-          // eslint-disable-next-line @typescript-eslint/no-explicit-any
+      this._opts.fallback
+        ? (this._protos as protobuf.Root).lookupService(
+            'google.cloud.sql.v1beta4.SqlConnectService',
+          )
+        : // eslint-disable-next-line @typescript-eslint/no-explicit-any
           (this._protos as any).google.cloud.sql.v1beta4.SqlConnectService,
-        this._opts, this._providedCustomServicePath) as Promise<{[method: string]: Function}>;
+      this._opts,
+      this._providedCustomServicePath,
+    ) as Promise<{ [method: string]: Function }>;
 
     // Iterate over each of the methods that the service provides
     // and create an API call method for each.
-    const sqlConnectServiceStubMethods =
-        ['getConnectSettings', 'generateEphemeralCert'];
+    const sqlConnectServiceStubMethods = [
+      'getConnectSettings',
+      'generateEphemeralCert',
+    ];
     for (const methodName of sqlConnectServiceStubMethods) {
       const callPromise = this.sqlConnectServiceStub.then(
-        stub => (...args: Array<{}>) => {
-          if (this._terminated) {
-            return Promise.reject('The client has already been closed.');
-          }
-          const func = stub[methodName];
-          return func.apply(stub, args);
-        },
-        (err: Error|null|undefined) => () => {
+        (stub) =>
+          (...args: Array<{}>) => {
+            if (this._terminated) {
+              return Promise.reject('The client has already been closed.');
+            }
+            const func = stub[methodName];
+            return func.apply(stub, args);
+          },
+        (err: Error | null | undefined) => () => {
           throw err;
-        });
+        },
+      );
 
-      const descriptor =
-        undefined;
+      const descriptor = undefined;
       const apiCall = this._gaxModule.createApiCall(
         callPromise,
         this._defaults[methodName],
         descriptor,
-        this._opts.fallback
+        this._opts.fallback,
       );
 
       this.innerApiCalls[methodName] = apiCall;
@@ -266,8 +300,14 @@ export class SqlConnectServiceClient {
    * @returns {string} The DNS address for this service.
    */
   static get servicePath() {
-    if (typeof process === 'object' && typeof process.emitWarning === 'function') {
-      process.emitWarning('Static servicePath is deprecated, please use the instance method instead.', 'DeprecationWarning');
+    if (
+      typeof process === 'object' &&
+      typeof process.emitWarning === 'function'
+    ) {
+      process.emitWarning(
+        'Static servicePath is deprecated, please use the instance method instead.',
+        'DeprecationWarning',
+      );
     }
     return 'sqladmin.googleapis.com';
   }
@@ -278,8 +318,14 @@ export class SqlConnectServiceClient {
    * @returns {string} The DNS address for this service.
    */
   static get apiEndpoint() {
-    if (typeof process === 'object' && typeof process.emitWarning === 'function') {
-      process.emitWarning('Static apiEndpoint is deprecated, please use the instance method instead.', 'DeprecationWarning');
+    if (
+      typeof process === 'object' &&
+      typeof process.emitWarning === 'function'
+    ) {
+      process.emitWarning(
+        'Static apiEndpoint is deprecated, please use the instance method instead.',
+        'DeprecationWarning',
+      );
     }
     return 'sqladmin.googleapis.com';
   }
@@ -312,7 +358,7 @@ export class SqlConnectServiceClient {
   static get scopes() {
     return [
       'https://www.googleapis.com/auth/cloud-platform',
-      'https://www.googleapis.com/auth/sqlservice.admin'
+      'https://www.googleapis.com/auth/sqlservice.admin',
     ];
   }
 
@@ -322,8 +368,9 @@ export class SqlConnectServiceClient {
    * Return the project ID used by this class.
    * @returns {Promise} A promise that resolves to string containing the project ID.
    */
-  getProjectId(callback?: Callback<string, undefined, undefined>):
-      Promise<string>|void {
+  getProjectId(
+    callback?: Callback<string, undefined, undefined>,
+  ): Promise<string> | void {
     if (callback) {
       this.auth.getProjectId(callback);
       return;
@@ -334,217 +381,303 @@ export class SqlConnectServiceClient {
   // -------------------
   // -- Service calls --
   // -------------------
-/**
- * Retrieves connect settings about a Cloud SQL instance.
- *
- * @param {Object} request
- *   The request object that will be sent.
- * @param {string} request.instance
- *   Cloud SQL instance ID. This does not include the project ID.
- * @param {string} request.project
- *   Project ID of the project that contains the instance.
- * @param {google.protobuf.Timestamp} [request.readTime]
- *   Optional. Optional snapshot read timestamp to trade freshness for
- *   performance.
- * @param {object} [options]
- *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
- * @returns {Promise} - The promise which resolves to an array.
- *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1beta4.ConnectSettings|ConnectSettings}.
- *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
- *   for more details and examples.
- * @example <caption>include:samples/generated/v1beta4/sql_connect_service.get_connect_settings.js</caption>
- * region_tag:sqladmin_v1beta4_generated_SqlConnectService_GetConnectSettings_async
- */
+  /**
+   * Retrieves connect settings about a Cloud SQL instance.
+   *
+   * @param {Object} request
+   *   The request object that will be sent.
+   * @param {string} request.instance
+   *   Cloud SQL instance ID. This does not include the project ID.
+   * @param {string} request.project
+   *   Project ID of the project that contains the instance.
+   * @param {google.protobuf.Timestamp} [request.readTime]
+   *   Optional. Optional snapshot read timestamp to trade freshness for
+   *   performance.
+   * @param {object} [options]
+   *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+   * @returns {Promise} - The promise which resolves to an array.
+   *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1beta4.ConnectSettings|ConnectSettings}.
+   *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
+   *   for more details and examples.
+   * @example <caption>include:samples/generated/v1beta4/sql_connect_service.get_connect_settings.js</caption>
+   * region_tag:sqladmin_v1beta4_generated_SqlConnectService_GetConnectSettings_async
+   */
   getConnectSettings(
-      request?: protos.google.cloud.sql.v1beta4.IGetConnectSettingsRequest,
-      options?: CallOptions):
-      Promise<[
-        protos.google.cloud.sql.v1beta4.IConnectSettings,
-        protos.google.cloud.sql.v1beta4.IGetConnectSettingsRequest|undefined, {}|undefined
-      ]>;
+    request?: protos.google.cloud.sql.v1beta4.IGetConnectSettingsRequest,
+    options?: CallOptions,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1beta4.IConnectSettings,
+      protos.google.cloud.sql.v1beta4.IGetConnectSettingsRequest | undefined,
+      {} | undefined,
+    ]
+  >;
   getConnectSettings(
-      request: protos.google.cloud.sql.v1beta4.IGetConnectSettingsRequest,
-      options: CallOptions,
-      callback: Callback<
-          protos.google.cloud.sql.v1beta4.IConnectSettings,
-          protos.google.cloud.sql.v1beta4.IGetConnectSettingsRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1beta4.IGetConnectSettingsRequest,
+    options: CallOptions,
+    callback: Callback<
+      protos.google.cloud.sql.v1beta4.IConnectSettings,
+      | protos.google.cloud.sql.v1beta4.IGetConnectSettingsRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   getConnectSettings(
-      request: protos.google.cloud.sql.v1beta4.IGetConnectSettingsRequest,
-      callback: Callback<
-          protos.google.cloud.sql.v1beta4.IConnectSettings,
-          protos.google.cloud.sql.v1beta4.IGetConnectSettingsRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1beta4.IGetConnectSettingsRequest,
+    callback: Callback<
+      protos.google.cloud.sql.v1beta4.IConnectSettings,
+      | protos.google.cloud.sql.v1beta4.IGetConnectSettingsRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   getConnectSettings(
-      request?: protos.google.cloud.sql.v1beta4.IGetConnectSettingsRequest,
-      optionsOrCallback?: CallOptions|Callback<
-          protos.google.cloud.sql.v1beta4.IConnectSettings,
-          protos.google.cloud.sql.v1beta4.IGetConnectSettingsRequest|null|undefined,
-          {}|null|undefined>,
-      callback?: Callback<
+    request?: protos.google.cloud.sql.v1beta4.IGetConnectSettingsRequest,
+    optionsOrCallback?:
+      | CallOptions
+      | Callback<
           protos.google.cloud.sql.v1beta4.IConnectSettings,
-          protos.google.cloud.sql.v1beta4.IGetConnectSettingsRequest|null|undefined,
-          {}|null|undefined>):
-      Promise<[
-        protos.google.cloud.sql.v1beta4.IConnectSettings,
-        protos.google.cloud.sql.v1beta4.IGetConnectSettingsRequest|undefined, {}|undefined
-      ]>|void {
+          | protos.google.cloud.sql.v1beta4.IGetConnectSettingsRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >,
+    callback?: Callback<
+      protos.google.cloud.sql.v1beta4.IConnectSettings,
+      | protos.google.cloud.sql.v1beta4.IGetConnectSettingsRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1beta4.IConnectSettings,
+      protos.google.cloud.sql.v1beta4.IGetConnectSettingsRequest | undefined,
+      {} | undefined,
+    ]
+  > | void {
     request = request || {};
     let options: CallOptions;
     if (typeof optionsOrCallback === 'function' && callback === undefined) {
       callback = optionsOrCallback;
       options = {};
-    }
-    else {
+    } else {
       options = optionsOrCallback as CallOptions;
     }
     options = options || {};
     options.otherArgs = options.otherArgs || {};
     options.otherArgs.headers = options.otherArgs.headers || {};
-    options.otherArgs.headers[
-      'x-goog-request-params'
-    ] = this._gaxModule.routingHeader.fromParams({
-      'project': request.project ?? '',
-      'instance': request.instance ?? '',
+    options.otherArgs.headers['x-goog-request-params'] =
+      this._gaxModule.routingHeader.fromParams({
+        project: request.project ?? '',
+        instance: request.instance ?? '',
+      });
+    this.initialize().catch((err) => {
+      throw err;
     });
-    this.initialize().catch(err => {throw err});
     this._log.info('getConnectSettings request %j', request);
-    const wrappedCallback: Callback<
-        protos.google.cloud.sql.v1beta4.IConnectSettings,
-        protos.google.cloud.sql.v1beta4.IGetConnectSettingsRequest|null|undefined,
-        {}|null|undefined>|undefined = callback
+    const wrappedCallback:
+      | Callback<
+          protos.google.cloud.sql.v1beta4.IConnectSettings,
+          | protos.google.cloud.sql.v1beta4.IGetConnectSettingsRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >
+      | undefined = callback
       ? (error, response, options, rawResponse) => {
           this._log.info('getConnectSettings response %j', response);
           callback!(error, response, options, rawResponse); // We verified callback above.
         }
       : undefined;
-    return this.innerApiCalls.getConnectSettings(request, options, wrappedCallback)
-      ?.then(([response, options, rawResponse]: [
-        protos.google.cloud.sql.v1beta4.IConnectSettings,
-        protos.google.cloud.sql.v1beta4.IGetConnectSettingsRequest|undefined,
-        {}|undefined
-      ]) => {
-        this._log.info('getConnectSettings response %j', response);
-        return [response, options, rawResponse];
-      }).catch((error: any) => {
-        if (error && 'statusDetails' in error && error.statusDetails instanceof Array) {
-          const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type;
-          error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos);
+    return this.innerApiCalls
+      .getConnectSettings(request, options, wrappedCallback)
+      ?.then(
+        ([response, options, rawResponse]: [
+          protos.google.cloud.sql.v1beta4.IConnectSettings,
+          (
+            | protos.google.cloud.sql.v1beta4.IGetConnectSettingsRequest
+            | undefined
+          ),
+          {} | undefined,
+        ]) => {
+          this._log.info('getConnectSettings response %j', response);
+          return [response, options, rawResponse];
+        },
+      )
+      .catch((error: any) => {
+        if (
+          error &&
+          'statusDetails' in error &&
+          error.statusDetails instanceof Array
+        ) {
+          const protos = this._gaxModule.protobuf.Root.fromJSON(
+            jsonProtos,
+          ) as unknown as gax.protobuf.Type;
+          error.statusDetails = decodeAnyProtosInArray(
+            error.statusDetails,
+            protos,
+          );
         }
         throw error;
       });
   }
-/**
- * Generates a short-lived X509 certificate containing the provided public key
- * and signed by a private key specific to the target instance. Users may use
- * the certificate to authenticate as themselves when connecting to the
- * database.
- *
- * @param {Object} request
- *   The request object that will be sent.
- * @param {string} request.instance
- *   Cloud SQL instance ID. This does not include the project ID.
- * @param {string} request.project
- *   Project ID of the project that contains the instance.
- * @param {string} request.publicKey
- *   PEM encoded public key to include in the signed certificate.
- * @param {string} [request.accessToken]
- *   Optional. Access token to include in the signed certificate.
- * @param {google.protobuf.Timestamp} [request.readTime]
- *   Optional. Optional snapshot read timestamp to trade freshness for
- *   performance.
- * @param {google.protobuf.Duration} [request.validDuration]
- *   Optional. If set, it will contain the cert valid duration.
- * @param {object} [options]
- *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
- * @returns {Promise} - The promise which resolves to an array.
- *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1beta4.GenerateEphemeralCertResponse|GenerateEphemeralCertResponse}.
- *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
- *   for more details and examples.
- * @example <caption>include:samples/generated/v1beta4/sql_connect_service.generate_ephemeral_cert.js</caption>
- * region_tag:sqladmin_v1beta4_generated_SqlConnectService_GenerateEphemeralCert_async
- */
+  /**
+   * Generates a short-lived X509 certificate containing the provided public key
+   * and signed by a private key specific to the target instance. Users may use
+   * the certificate to authenticate as themselves when connecting to the
+   * database.
+   *
+   * @param {Object} request
+   *   The request object that will be sent.
+   * @param {string} request.instance
+   *   Cloud SQL instance ID. This does not include the project ID.
+   * @param {string} request.project
+   *   Project ID of the project that contains the instance.
+   * @param {string} request.publicKey
+   *   PEM encoded public key to include in the signed certificate.
+   * @param {string} [request.accessToken]
+   *   Optional. Access token to include in the signed certificate.
+   * @param {google.protobuf.Timestamp} [request.readTime]
+   *   Optional. Optional snapshot read timestamp to trade freshness for
+   *   performance.
+   * @param {google.protobuf.Duration} [request.validDuration]
+   *   Optional. If set, it will contain the cert valid duration.
+   * @param {object} [options]
+   *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+   * @returns {Promise} - The promise which resolves to an array.
+   *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1beta4.GenerateEphemeralCertResponse|GenerateEphemeralCertResponse}.
+   *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
+   *   for more details and examples.
+   * @example <caption>include:samples/generated/v1beta4/sql_connect_service.generate_ephemeral_cert.js</caption>
+   * region_tag:sqladmin_v1beta4_generated_SqlConnectService_GenerateEphemeralCert_async
+   */
   generateEphemeralCert(
-      request?: protos.google.cloud.sql.v1beta4.IGenerateEphemeralCertRequest,
-      options?: CallOptions):
-      Promise<[
-        protos.google.cloud.sql.v1beta4.IGenerateEphemeralCertResponse,
-        protos.google.cloud.sql.v1beta4.IGenerateEphemeralCertRequest|undefined, {}|undefined
-      ]>;
+    request?: protos.google.cloud.sql.v1beta4.IGenerateEphemeralCertRequest,
+    options?: CallOptions,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1beta4.IGenerateEphemeralCertResponse,
+      protos.google.cloud.sql.v1beta4.IGenerateEphemeralCertRequest | undefined,
+      {} | undefined,
+    ]
+  >;
   generateEphemeralCert(
-      request: protos.google.cloud.sql.v1beta4.IGenerateEphemeralCertRequest,
-      options: CallOptions,
-      callback: Callback<
-          protos.google.cloud.sql.v1beta4.IGenerateEphemeralCertResponse,
-          protos.google.cloud.sql.v1beta4.IGenerateEphemeralCertRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1beta4.IGenerateEphemeralCertRequest,
+    options: CallOptions,
+    callback: Callback<
+      protos.google.cloud.sql.v1beta4.IGenerateEphemeralCertResponse,
+      | protos.google.cloud.sql.v1beta4.IGenerateEphemeralCertRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   generateEphemeralCert(
-      request: protos.google.cloud.sql.v1beta4.IGenerateEphemeralCertRequest,
-      callback: Callback<
-          protos.google.cloud.sql.v1beta4.IGenerateEphemeralCertResponse,
-          protos.google.cloud.sql.v1beta4.IGenerateEphemeralCertRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1beta4.IGenerateEphemeralCertRequest,
+    callback: Callback<
+      protos.google.cloud.sql.v1beta4.IGenerateEphemeralCertResponse,
+      | protos.google.cloud.sql.v1beta4.IGenerateEphemeralCertRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   generateEphemeralCert(
-      request?: protos.google.cloud.sql.v1beta4.IGenerateEphemeralCertRequest,
-      optionsOrCallback?: CallOptions|Callback<
-          protos.google.cloud.sql.v1beta4.IGenerateEphemeralCertResponse,
-          protos.google.cloud.sql.v1beta4.IGenerateEphemeralCertRequest|null|undefined,
-          {}|null|undefined>,
-      callback?: Callback<
+    request?: protos.google.cloud.sql.v1beta4.IGenerateEphemeralCertRequest,
+    optionsOrCallback?:
+      | CallOptions
+      | Callback<
           protos.google.cloud.sql.v1beta4.IGenerateEphemeralCertResponse,
-          protos.google.cloud.sql.v1beta4.IGenerateEphemeralCertRequest|null|undefined,
-          {}|null|undefined>):
-      Promise<[
-        protos.google.cloud.sql.v1beta4.IGenerateEphemeralCertResponse,
-        protos.google.cloud.sql.v1beta4.IGenerateEphemeralCertRequest|undefined, {}|undefined
-      ]>|void {
+          | protos.google.cloud.sql.v1beta4.IGenerateEphemeralCertRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >,
+    callback?: Callback<
+      protos.google.cloud.sql.v1beta4.IGenerateEphemeralCertResponse,
+      | protos.google.cloud.sql.v1beta4.IGenerateEphemeralCertRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1beta4.IGenerateEphemeralCertResponse,
+      protos.google.cloud.sql.v1beta4.IGenerateEphemeralCertRequest | undefined,
+      {} | undefined,
+    ]
+  > | void {
     request = request || {};
     let options: CallOptions;
     if (typeof optionsOrCallback === 'function' && callback === undefined) {
       callback = optionsOrCallback;
       options = {};
-    }
-    else {
+    } else {
       options = optionsOrCallback as CallOptions;
     }
     options = options || {};
     options.otherArgs = options.otherArgs || {};
     options.otherArgs.headers = options.otherArgs.headers || {};
-    options.otherArgs.headers[
-      'x-goog-request-params'
-    ] = this._gaxModule.routingHeader.fromParams({
-      'project': request.project ?? '',
-      'instance': request.instance ?? '',
+    options.otherArgs.headers['x-goog-request-params'] =
+      this._gaxModule.routingHeader.fromParams({
+        project: request.project ?? '',
+        instance: request.instance ?? '',
+      });
+    this.initialize().catch((err) => {
+      throw err;
     });
-    this.initialize().catch(err => {throw err});
     this._log.info('generateEphemeralCert request %j', request);
-    const wrappedCallback: Callback<
-        protos.google.cloud.sql.v1beta4.IGenerateEphemeralCertResponse,
-        protos.google.cloud.sql.v1beta4.IGenerateEphemeralCertRequest|null|undefined,
-        {}|null|undefined>|undefined = callback
+    const wrappedCallback:
+      | Callback<
+          protos.google.cloud.sql.v1beta4.IGenerateEphemeralCertResponse,
+          | protos.google.cloud.sql.v1beta4.IGenerateEphemeralCertRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >
+      | undefined = callback
       ? (error, response, options, rawResponse) => {
           this._log.info('generateEphemeralCert response %j', response);
           callback!(error, response, options, rawResponse); // We verified callback above.
         }
       : undefined;
-    return this.innerApiCalls.generateEphemeralCert(request, options, wrappedCallback)
-      ?.then(([response, options, rawResponse]: [
-        protos.google.cloud.sql.v1beta4.IGenerateEphemeralCertResponse,
-        protos.google.cloud.sql.v1beta4.IGenerateEphemeralCertRequest|undefined,
-        {}|undefined
-      ]) => {
-        this._log.info('generateEphemeralCert response %j', response);
-        return [response, options, rawResponse];
-      }).catch((error: any) => {
-        if (error && 'statusDetails' in error && error.statusDetails instanceof Array) {
-          const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type;
-          error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos);
+    return this.innerApiCalls
+      .generateEphemeralCert(request, options, wrappedCallback)
+      ?.then(
+        ([response, options, rawResponse]: [
+          protos.google.cloud.sql.v1beta4.IGenerateEphemeralCertResponse,
+          (
+            | protos.google.cloud.sql.v1beta4.IGenerateEphemeralCertRequest
+            | undefined
+          ),
+          {} | undefined,
+        ]) => {
+          this._log.info('generateEphemeralCert response %j', response);
+          return [response, options, rawResponse];
+        },
+      )
+      .catch((error: any) => {
+        if (
+          error &&
+          'statusDetails' in error &&
+          error.statusDetails instanceof Array
+        ) {
+          const protos = this._gaxModule.protobuf.Root.fromJSON(
+            jsonProtos,
+          ) as unknown as gax.protobuf.Type;
+          error.statusDetails = decodeAnyProtosInArray(
+            error.statusDetails,
+            protos,
+          );
         }
         throw error;
       });
   }
 
-/**
+  /**
    * Gets information about a location.
    *
    * @param {Object} request
@@ -579,12 +712,11 @@ export class SqlConnectServiceClient {
       | null
       | undefined,
       {} | null | undefined
-    >
+    >,
   ): Promise<LocationProtos.google.cloud.location.ILocation> {
     return this.locationsClient.getLocation(request, options, callback);
   }
-
-/**
+  /**
    * Lists information about the supported locations for this service. Returns an iterable object.
    *
    * `for`-`await`-`of` syntax is used with the iterable to get response elements on-demand.
@@ -617,7 +749,7 @@ export class SqlConnectServiceClient {
    */
   listLocationsAsync(
     request: LocationProtos.google.cloud.location.IListLocationsRequest,
-    options?: CallOptions
+    options?: CallOptions,
   ): AsyncIterable<LocationProtos.google.cloud.location.ILocation> {
     return this.locationsClient.listLocationsAsync(request, options);
   }
@@ -633,7 +765,7 @@ export class SqlConnectServiceClient {
    * @param {string} backup
    * @returns {string} Resource name string.
    */
-  backupPath(project:string,backup:string) {
+  backupPath(project: string, backup: string) {
     return this.pathTemplates.backupPathTemplate.render({
       project: project,
       backup: backup,
@@ -670,13 +802,15 @@ export class SqlConnectServiceClient {
    */
   close(): Promise<void> {
     if (this.sqlConnectServiceStub && !this._terminated) {
-      return this.sqlConnectServiceStub.then(stub => {
+      return this.sqlConnectServiceStub.then((stub) => {
         this._log.info('ending gRPC channel');
         this._terminated = true;
         stub.close();
-        this.locationsClient.close().catch(err => {throw err});
+        this.locationsClient.close().catch((err) => {
+          throw err;
+        });
       });
     }
     return Promise.resolve();
   }
-}
\ No newline at end of file
+}
diff --git a/packages/google-cloud-sql/src/v1beta4/sql_databases_service_client.ts b/packages/google-cloud-sql/src/v1beta4/sql_databases_service_client.ts
index 8be5e2d2de26..acc2d5a1d7c3 100644
--- a/packages/google-cloud-sql/src/v1beta4/sql_databases_service_client.ts
+++ b/packages/google-cloud-sql/src/v1beta4/sql_databases_service_client.ts
@@ -18,11 +18,18 @@
 
 /* global window */
 import type * as gax from 'google-gax';
-import type {Callback, CallOptions, Descriptors, ClientOptions, LocationsClient, LocationProtos} from 'google-gax';
+import type {
+  Callback,
+  CallOptions,
+  Descriptors,
+  ClientOptions,
+  LocationsClient,
+  LocationProtos,
+} from 'google-gax';
 
 import * as protos from '../../protos/protos';
 import jsonProtos = require('../../protos/protos.json');
-import {loggingUtils as logging, decodeAnyProtosInArray} from 'google-gax';
+import { loggingUtils as logging, decodeAnyProtosInArray } from 'google-gax';
 
 /**
  * Client JSON configuration object, loaded from
@@ -43,7 +50,7 @@ export class SqlDatabasesServiceClient {
   private _gaxModule: typeof gax | typeof gax.fallback;
   private _gaxGrpc: gax.GrpcClient | gax.fallback.GrpcClient;
   private _protos: {};
-  private _defaults: {[method: string]: gax.CallSettings};
+  private _defaults: { [method: string]: gax.CallSettings };
   private _universeDomain: string;
   private _servicePath: string;
   private _log = logging.log('sql');
@@ -56,10 +63,10 @@ export class SqlDatabasesServiceClient {
     batching: {},
   };
   warn: (code: string, message: string, warnType?: string) => void;
-  innerApiCalls: {[name: string]: Function};
+  innerApiCalls: { [name: string]: Function };
   locationsClient: LocationsClient;
-  pathTemplates: {[name: string]: gax.PathTemplate};
-  sqlDatabasesServiceStub?: Promise<{[name: string]: Function}>;
+  pathTemplates: { [name: string]: gax.PathTemplate };
+  sqlDatabasesServiceStub?: Promise<{ [name: string]: Function }>;
 
   /**
    * Construct an instance of SqlDatabasesServiceClient.
@@ -100,21 +107,42 @@ export class SqlDatabasesServiceClient {
    *     const client = new SqlDatabasesServiceClient({fallback: true}, gax);
    *     ```
    */
-  constructor(opts?: ClientOptions, gaxInstance?: typeof gax | typeof gax.fallback) {
+  constructor(
+    opts?: ClientOptions,
+    gaxInstance?: typeof gax | typeof gax.fallback,
+  ) {
     // Ensure that options include all the required fields.
     const staticMembers = this.constructor as typeof SqlDatabasesServiceClient;
-    if (opts?.universe_domain && opts?.universeDomain && opts?.universe_domain !== opts?.universeDomain) {
-      throw new Error('Please set either universe_domain or universeDomain, but not both.');
+    if (
+      opts?.universe_domain &&
+      opts?.universeDomain &&
+      opts?.universe_domain !== opts?.universeDomain
+    ) {
+      throw new Error(
+        'Please set either universe_domain or universeDomain, but not both.',
+      );
     }
-    const universeDomainEnvVar = (typeof process === 'object' && typeof process.env === 'object') ? process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] : undefined;
-    this._universeDomain = opts?.universeDomain ?? opts?.universe_domain ?? universeDomainEnvVar ?? 'googleapis.com';
+    const universeDomainEnvVar =
+      typeof process === 'object' && typeof process.env === 'object'
+        ? process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN']
+        : undefined;
+    this._universeDomain =
+      opts?.universeDomain ??
+      opts?.universe_domain ??
+      universeDomainEnvVar ??
+      'googleapis.com';
     this._servicePath = 'sqladmin.' + this._universeDomain;
-    const servicePath = opts?.servicePath || opts?.apiEndpoint || this._servicePath;
-    this._providedCustomServicePath = !!(opts?.servicePath || opts?.apiEndpoint);
+    const servicePath =
+      opts?.servicePath || opts?.apiEndpoint || this._servicePath;
+    this._providedCustomServicePath = !!(
+      opts?.servicePath || opts?.apiEndpoint
+    );
     const port = opts?.port || staticMembers.port;
     const clientConfig = opts?.clientConfig ?? {};
-    const fallback = opts?.fallback ?? (typeof window !== 'undefined' && typeof window?.fetch === 'function');
-    opts = Object.assign({servicePath, port, clientConfig, fallback}, opts);
+    const fallback =
+      opts?.fallback ??
+      (typeof window !== 'undefined' && typeof window?.fetch === 'function');
+    opts = Object.assign({ servicePath, port, clientConfig, fallback }, opts);
 
     // Request numeric enum values if REST transport is used.
     opts.numericEnums = true;
@@ -139,7 +167,7 @@ export class SqlDatabasesServiceClient {
     this._opts = opts;
 
     // Save the auth object to the client, for use by other methods.
-    this.auth = (this._gaxGrpc.auth as gax.GoogleAuth);
+    this.auth = this._gaxGrpc.auth as gax.GoogleAuth;
 
     // Set useJWTAccessWithScope on the auth object.
     this.auth.useJWTAccessWithScope = true;
@@ -153,15 +181,11 @@ export class SqlDatabasesServiceClient {
     }
     this.locationsClient = new this._gaxModule.LocationsClient(
       this._gaxGrpc,
-      opts
+      opts,
     );
-  
 
     // Determine the client header string.
-    const clientHeader = [
-      `gax/${this._gaxModule.version}`,
-      `gapic/${version}`,
-    ];
+    const clientHeader = [`gax/${this._gaxModule.version}`, `gapic/${version}`];
     if (typeof process === 'object' && 'versions' in process) {
       clientHeader.push(`gl-node/${process.versions.node}`);
     } else {
@@ -183,17 +207,20 @@ export class SqlDatabasesServiceClient {
     // Create useful helper objects for these.
     this.pathTemplates = {
       backupPathTemplate: new this._gaxModule.PathTemplate(
-        'projects/{project}/backups/{backup}'
+        'projects/{project}/backups/{backup}',
       ),
       projectPathTemplate: new this._gaxModule.PathTemplate(
-        'projects/{project}'
+        'projects/{project}',
       ),
     };
 
     // Put together the default options sent with requests.
     this._defaults = this._gaxGrpc.constructSettings(
-        'google.cloud.sql.v1beta4.SqlDatabasesService', gapicConfig as gax.ClientConfig,
-        opts.clientConfig || {}, {'x-goog-api-client': clientHeader.join(' ')});
+      'google.cloud.sql.v1beta4.SqlDatabasesService',
+      gapicConfig as gax.ClientConfig,
+      opts.clientConfig || {},
+      { 'x-goog-api-client': clientHeader.join(' ') },
+    );
 
     // Set up a dictionary of "inner API calls"; the core implementation
     // of calling the API is handled in `google-gax`, with this code
@@ -224,36 +251,47 @@ export class SqlDatabasesServiceClient {
     // Put together the "service stub" for
     // google.cloud.sql.v1beta4.SqlDatabasesService.
     this.sqlDatabasesServiceStub = this._gaxGrpc.createStub(
-        this._opts.fallback ?
-          (this._protos as protobuf.Root).lookupService('google.cloud.sql.v1beta4.SqlDatabasesService') :
-          // eslint-disable-next-line @typescript-eslint/no-explicit-any
+      this._opts.fallback
+        ? (this._protos as protobuf.Root).lookupService(
+            'google.cloud.sql.v1beta4.SqlDatabasesService',
+          )
+        : // eslint-disable-next-line @typescript-eslint/no-explicit-any
           (this._protos as any).google.cloud.sql.v1beta4.SqlDatabasesService,
-        this._opts, this._providedCustomServicePath) as Promise<{[method: string]: Function}>;
+      this._opts,
+      this._providedCustomServicePath,
+    ) as Promise<{ [method: string]: Function }>;
 
     // Iterate over each of the methods that the service provides
     // and create an API call method for each.
-    const sqlDatabasesServiceStubMethods =
-        ['delete', 'get', 'insert', 'list', 'patch', 'update'];
+    const sqlDatabasesServiceStubMethods = [
+      'delete',
+      'get',
+      'insert',
+      'list',
+      'patch',
+      'update',
+    ];
     for (const methodName of sqlDatabasesServiceStubMethods) {
       const callPromise = this.sqlDatabasesServiceStub.then(
-        stub => (...args: Array<{}>) => {
-          if (this._terminated) {
-            return Promise.reject('The client has already been closed.');
-          }
-          const func = stub[methodName];
-          return func.apply(stub, args);
-        },
-        (err: Error|null|undefined) => () => {
+        (stub) =>
+          (...args: Array<{}>) => {
+            if (this._terminated) {
+              return Promise.reject('The client has already been closed.');
+            }
+            const func = stub[methodName];
+            return func.apply(stub, args);
+          },
+        (err: Error | null | undefined) => () => {
           throw err;
-        });
+        },
+      );
 
-      const descriptor =
-        undefined;
+      const descriptor = undefined;
       const apiCall = this._gaxModule.createApiCall(
         callPromise,
         this._defaults[methodName],
         descriptor,
-        this._opts.fallback
+        this._opts.fallback,
       );
 
       this.innerApiCalls[methodName] = apiCall;
@@ -268,8 +306,14 @@ export class SqlDatabasesServiceClient {
    * @returns {string} The DNS address for this service.
    */
   static get servicePath() {
-    if (typeof process === 'object' && typeof process.emitWarning === 'function') {
-      process.emitWarning('Static servicePath is deprecated, please use the instance method instead.', 'DeprecationWarning');
+    if (
+      typeof process === 'object' &&
+      typeof process.emitWarning === 'function'
+    ) {
+      process.emitWarning(
+        'Static servicePath is deprecated, please use the instance method instead.',
+        'DeprecationWarning',
+      );
     }
     return 'sqladmin.googleapis.com';
   }
@@ -280,8 +324,14 @@ export class SqlDatabasesServiceClient {
    * @returns {string} The DNS address for this service.
    */
   static get apiEndpoint() {
-    if (typeof process === 'object' && typeof process.emitWarning === 'function') {
-      process.emitWarning('Static apiEndpoint is deprecated, please use the instance method instead.', 'DeprecationWarning');
+    if (
+      typeof process === 'object' &&
+      typeof process.emitWarning === 'function'
+    ) {
+      process.emitWarning(
+        'Static apiEndpoint is deprecated, please use the instance method instead.',
+        'DeprecationWarning',
+      );
     }
     return 'sqladmin.googleapis.com';
   }
@@ -314,7 +364,7 @@ export class SqlDatabasesServiceClient {
   static get scopes() {
     return [
       'https://www.googleapis.com/auth/cloud-platform',
-      'https://www.googleapis.com/auth/sqlservice.admin'
+      'https://www.googleapis.com/auth/sqlservice.admin',
     ];
   }
 
@@ -324,8 +374,9 @@ export class SqlDatabasesServiceClient {
    * Return the project ID used by this class.
    * @returns {Promise} A promise that resolves to string containing the project ID.
    */
-  getProjectId(callback?: Callback<string, undefined, undefined>):
-      Promise<string>|void {
+  getProjectId(
+    callback?: Callback<string, undefined, undefined>,
+  ): Promise<string> | void {
     if (callback) {
       this.auth.getProjectId(callback);
       return;
@@ -336,611 +387,863 @@ export class SqlDatabasesServiceClient {
   // -------------------
   // -- Service calls --
   // -------------------
-/**
- * Deletes a database from a Cloud SQL instance.
- *
- * @param {Object} request
- *   The request object that will be sent.
- * @param {string} request.database
- *   Name of the database to be deleted in the instance.
- * @param {string} request.instance
- *   Database instance ID. This does not include the project ID.
- * @param {string} request.project
- *   Project ID of the project that contains the instance.
- * @param {object} [options]
- *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
- * @returns {Promise} - The promise which resolves to an array.
- *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1beta4.Operation|Operation}.
- *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
- *   for more details and examples.
- * @example <caption>include:samples/generated/v1beta4/sql_databases_service.delete.js</caption>
- * region_tag:sqladmin_v1beta4_generated_SqlDatabasesService_Delete_async
- */
+  /**
+   * Deletes a database from a Cloud SQL instance.
+   *
+   * @param {Object} request
+   *   The request object that will be sent.
+   * @param {string} request.database
+   *   Name of the database to be deleted in the instance.
+   * @param {string} request.instance
+   *   Database instance ID. This does not include the project ID.
+   * @param {string} request.project
+   *   Project ID of the project that contains the instance.
+   * @param {object} [options]
+   *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+   * @returns {Promise} - The promise which resolves to an array.
+   *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1beta4.Operation|Operation}.
+   *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
+   *   for more details and examples.
+   * @example <caption>include:samples/generated/v1beta4/sql_databases_service.delete.js</caption>
+   * region_tag:sqladmin_v1beta4_generated_SqlDatabasesService_Delete_async
+   */
   delete(
-      request?: protos.google.cloud.sql.v1beta4.ISqlDatabasesDeleteRequest,
-      options?: CallOptions):
-      Promise<[
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlDatabasesDeleteRequest|undefined, {}|undefined
-      ]>;
+    request?: protos.google.cloud.sql.v1beta4.ISqlDatabasesDeleteRequest,
+    options?: CallOptions,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1beta4.IOperation,
+      protos.google.cloud.sql.v1beta4.ISqlDatabasesDeleteRequest | undefined,
+      {} | undefined,
+    ]
+  >;
   delete(
-      request: protos.google.cloud.sql.v1beta4.ISqlDatabasesDeleteRequest,
-      options: CallOptions,
-      callback: Callback<
-          protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlDatabasesDeleteRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1beta4.ISqlDatabasesDeleteRequest,
+    options: CallOptions,
+    callback: Callback<
+      protos.google.cloud.sql.v1beta4.IOperation,
+      | protos.google.cloud.sql.v1beta4.ISqlDatabasesDeleteRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   delete(
-      request: protos.google.cloud.sql.v1beta4.ISqlDatabasesDeleteRequest,
-      callback: Callback<
-          protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlDatabasesDeleteRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1beta4.ISqlDatabasesDeleteRequest,
+    callback: Callback<
+      protos.google.cloud.sql.v1beta4.IOperation,
+      | protos.google.cloud.sql.v1beta4.ISqlDatabasesDeleteRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   delete(
-      request?: protos.google.cloud.sql.v1beta4.ISqlDatabasesDeleteRequest,
-      optionsOrCallback?: CallOptions|Callback<
-          protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlDatabasesDeleteRequest|null|undefined,
-          {}|null|undefined>,
-      callback?: Callback<
+    request?: protos.google.cloud.sql.v1beta4.ISqlDatabasesDeleteRequest,
+    optionsOrCallback?:
+      | CallOptions
+      | Callback<
           protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlDatabasesDeleteRequest|null|undefined,
-          {}|null|undefined>):
-      Promise<[
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlDatabasesDeleteRequest|undefined, {}|undefined
-      ]>|void {
+          | protos.google.cloud.sql.v1beta4.ISqlDatabasesDeleteRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >,
+    callback?: Callback<
+      protos.google.cloud.sql.v1beta4.IOperation,
+      | protos.google.cloud.sql.v1beta4.ISqlDatabasesDeleteRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1beta4.IOperation,
+      protos.google.cloud.sql.v1beta4.ISqlDatabasesDeleteRequest | undefined,
+      {} | undefined,
+    ]
+  > | void {
     request = request || {};
     let options: CallOptions;
     if (typeof optionsOrCallback === 'function' && callback === undefined) {
       callback = optionsOrCallback;
       options = {};
-    }
-    else {
+    } else {
       options = optionsOrCallback as CallOptions;
     }
     options = options || {};
     options.otherArgs = options.otherArgs || {};
     options.otherArgs.headers = options.otherArgs.headers || {};
-    options.otherArgs.headers[
-      'x-goog-request-params'
-    ] = this._gaxModule.routingHeader.fromParams({
-      'project': request.project ?? '',
-      'instance': request.instance ?? '',
-      'database': request.database ?? '',
+    options.otherArgs.headers['x-goog-request-params'] =
+      this._gaxModule.routingHeader.fromParams({
+        project: request.project ?? '',
+        instance: request.instance ?? '',
+        database: request.database ?? '',
+      });
+    this.initialize().catch((err) => {
+      throw err;
     });
-    this.initialize().catch(err => {throw err});
     this._log.info('delete request %j', request);
-    const wrappedCallback: Callback<
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlDatabasesDeleteRequest|null|undefined,
-        {}|null|undefined>|undefined = callback
+    const wrappedCallback:
+      | Callback<
+          protos.google.cloud.sql.v1beta4.IOperation,
+          | protos.google.cloud.sql.v1beta4.ISqlDatabasesDeleteRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >
+      | undefined = callback
       ? (error, response, options, rawResponse) => {
           this._log.info('delete response %j', response);
           callback!(error, response, options, rawResponse); // We verified callback above.
         }
       : undefined;
-    return this.innerApiCalls.delete(request, options, wrappedCallback)
-      ?.then(([response, options, rawResponse]: [
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlDatabasesDeleteRequest|undefined,
-        {}|undefined
-      ]) => {
-        this._log.info('delete response %j', response);
-        return [response, options, rawResponse];
-      }).catch((error: any) => {
-        if (error && 'statusDetails' in error && error.statusDetails instanceof Array) {
-          const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type;
-          error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos);
+    return this.innerApiCalls
+      .delete(request, options, wrappedCallback)
+      ?.then(
+        ([response, options, rawResponse]: [
+          protos.google.cloud.sql.v1beta4.IOperation,
+          (
+            | protos.google.cloud.sql.v1beta4.ISqlDatabasesDeleteRequest
+            | undefined
+          ),
+          {} | undefined,
+        ]) => {
+          this._log.info('delete response %j', response);
+          return [response, options, rawResponse];
+        },
+      )
+      .catch((error: any) => {
+        if (
+          error &&
+          'statusDetails' in error &&
+          error.statusDetails instanceof Array
+        ) {
+          const protos = this._gaxModule.protobuf.Root.fromJSON(
+            jsonProtos,
+          ) as unknown as gax.protobuf.Type;
+          error.statusDetails = decodeAnyProtosInArray(
+            error.statusDetails,
+            protos,
+          );
         }
         throw error;
       });
   }
-/**
- * Retrieves a resource containing information about a database inside a Cloud
- * SQL instance.
- *
- * @param {Object} request
- *   The request object that will be sent.
- * @param {string} request.database
- *   Name of the database in the instance.
- * @param {string} request.instance
- *   Database instance ID. This does not include the project ID.
- * @param {string} request.project
- *   Project ID of the project that contains the instance.
- * @param {object} [options]
- *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
- * @returns {Promise} - The promise which resolves to an array.
- *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1beta4.Database|Database}.
- *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
- *   for more details and examples.
- * @example <caption>include:samples/generated/v1beta4/sql_databases_service.get.js</caption>
- * region_tag:sqladmin_v1beta4_generated_SqlDatabasesService_Get_async
- */
+  /**
+   * Retrieves a resource containing information about a database inside a Cloud
+   * SQL instance.
+   *
+   * @param {Object} request
+   *   The request object that will be sent.
+   * @param {string} request.database
+   *   Name of the database in the instance.
+   * @param {string} request.instance
+   *   Database instance ID. This does not include the project ID.
+   * @param {string} request.project
+   *   Project ID of the project that contains the instance.
+   * @param {object} [options]
+   *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+   * @returns {Promise} - The promise which resolves to an array.
+   *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1beta4.Database|Database}.
+   *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
+   *   for more details and examples.
+   * @example <caption>include:samples/generated/v1beta4/sql_databases_service.get.js</caption>
+   * region_tag:sqladmin_v1beta4_generated_SqlDatabasesService_Get_async
+   */
   get(
-      request?: protos.google.cloud.sql.v1beta4.ISqlDatabasesGetRequest,
-      options?: CallOptions):
-      Promise<[
-        protos.google.cloud.sql.v1beta4.IDatabase,
-        protos.google.cloud.sql.v1beta4.ISqlDatabasesGetRequest|undefined, {}|undefined
-      ]>;
+    request?: protos.google.cloud.sql.v1beta4.ISqlDatabasesGetRequest,
+    options?: CallOptions,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1beta4.IDatabase,
+      protos.google.cloud.sql.v1beta4.ISqlDatabasesGetRequest | undefined,
+      {} | undefined,
+    ]
+  >;
   get(
-      request: protos.google.cloud.sql.v1beta4.ISqlDatabasesGetRequest,
-      options: CallOptions,
-      callback: Callback<
-          protos.google.cloud.sql.v1beta4.IDatabase,
-          protos.google.cloud.sql.v1beta4.ISqlDatabasesGetRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1beta4.ISqlDatabasesGetRequest,
+    options: CallOptions,
+    callback: Callback<
+      protos.google.cloud.sql.v1beta4.IDatabase,
+      | protos.google.cloud.sql.v1beta4.ISqlDatabasesGetRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   get(
-      request: protos.google.cloud.sql.v1beta4.ISqlDatabasesGetRequest,
-      callback: Callback<
-          protos.google.cloud.sql.v1beta4.IDatabase,
-          protos.google.cloud.sql.v1beta4.ISqlDatabasesGetRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1beta4.ISqlDatabasesGetRequest,
+    callback: Callback<
+      protos.google.cloud.sql.v1beta4.IDatabase,
+      | protos.google.cloud.sql.v1beta4.ISqlDatabasesGetRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   get(
-      request?: protos.google.cloud.sql.v1beta4.ISqlDatabasesGetRequest,
-      optionsOrCallback?: CallOptions|Callback<
-          protos.google.cloud.sql.v1beta4.IDatabase,
-          protos.google.cloud.sql.v1beta4.ISqlDatabasesGetRequest|null|undefined,
-          {}|null|undefined>,
-      callback?: Callback<
+    request?: protos.google.cloud.sql.v1beta4.ISqlDatabasesGetRequest,
+    optionsOrCallback?:
+      | CallOptions
+      | Callback<
           protos.google.cloud.sql.v1beta4.IDatabase,
-          protos.google.cloud.sql.v1beta4.ISqlDatabasesGetRequest|null|undefined,
-          {}|null|undefined>):
-      Promise<[
-        protos.google.cloud.sql.v1beta4.IDatabase,
-        protos.google.cloud.sql.v1beta4.ISqlDatabasesGetRequest|undefined, {}|undefined
-      ]>|void {
+          | protos.google.cloud.sql.v1beta4.ISqlDatabasesGetRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >,
+    callback?: Callback<
+      protos.google.cloud.sql.v1beta4.IDatabase,
+      | protos.google.cloud.sql.v1beta4.ISqlDatabasesGetRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1beta4.IDatabase,
+      protos.google.cloud.sql.v1beta4.ISqlDatabasesGetRequest | undefined,
+      {} | undefined,
+    ]
+  > | void {
     request = request || {};
     let options: CallOptions;
     if (typeof optionsOrCallback === 'function' && callback === undefined) {
       callback = optionsOrCallback;
       options = {};
-    }
-    else {
+    } else {
       options = optionsOrCallback as CallOptions;
     }
     options = options || {};
     options.otherArgs = options.otherArgs || {};
     options.otherArgs.headers = options.otherArgs.headers || {};
-    options.otherArgs.headers[
-      'x-goog-request-params'
-    ] = this._gaxModule.routingHeader.fromParams({
-      'project': request.project ?? '',
-      'instance': request.instance ?? '',
-      'database': request.database ?? '',
+    options.otherArgs.headers['x-goog-request-params'] =
+      this._gaxModule.routingHeader.fromParams({
+        project: request.project ?? '',
+        instance: request.instance ?? '',
+        database: request.database ?? '',
+      });
+    this.initialize().catch((err) => {
+      throw err;
     });
-    this.initialize().catch(err => {throw err});
     this._log.info('get request %j', request);
-    const wrappedCallback: Callback<
-        protos.google.cloud.sql.v1beta4.IDatabase,
-        protos.google.cloud.sql.v1beta4.ISqlDatabasesGetRequest|null|undefined,
-        {}|null|undefined>|undefined = callback
+    const wrappedCallback:
+      | Callback<
+          protos.google.cloud.sql.v1beta4.IDatabase,
+          | protos.google.cloud.sql.v1beta4.ISqlDatabasesGetRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >
+      | undefined = callback
       ? (error, response, options, rawResponse) => {
           this._log.info('get response %j', response);
           callback!(error, response, options, rawResponse); // We verified callback above.
         }
       : undefined;
-    return this.innerApiCalls.get(request, options, wrappedCallback)
-      ?.then(([response, options, rawResponse]: [
-        protos.google.cloud.sql.v1beta4.IDatabase,
-        protos.google.cloud.sql.v1beta4.ISqlDatabasesGetRequest|undefined,
-        {}|undefined
-      ]) => {
-        this._log.info('get response %j', response);
-        return [response, options, rawResponse];
-      }).catch((error: any) => {
-        if (error && 'statusDetails' in error && error.statusDetails instanceof Array) {
-          const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type;
-          error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos);
+    return this.innerApiCalls
+      .get(request, options, wrappedCallback)
+      ?.then(
+        ([response, options, rawResponse]: [
+          protos.google.cloud.sql.v1beta4.IDatabase,
+          protos.google.cloud.sql.v1beta4.ISqlDatabasesGetRequest | undefined,
+          {} | undefined,
+        ]) => {
+          this._log.info('get response %j', response);
+          return [response, options, rawResponse];
+        },
+      )
+      .catch((error: any) => {
+        if (
+          error &&
+          'statusDetails' in error &&
+          error.statusDetails instanceof Array
+        ) {
+          const protos = this._gaxModule.protobuf.Root.fromJSON(
+            jsonProtos,
+          ) as unknown as gax.protobuf.Type;
+          error.statusDetails = decodeAnyProtosInArray(
+            error.statusDetails,
+            protos,
+          );
         }
         throw error;
       });
   }
-/**
- * Inserts a resource containing information about a database inside a Cloud
- * SQL instance.
- *
- * **Note:** You can't modify the default character set and collation.
- *
- * @param {Object} request
- *   The request object that will be sent.
- * @param {string} request.instance
- *   Database instance ID. This does not include the project ID.
- * @param {string} request.project
- *   Project ID of the project that contains the instance.
- * @param {google.cloud.sql.v1beta4.Database} request.body
- * @param {object} [options]
- *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
- * @returns {Promise} - The promise which resolves to an array.
- *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1beta4.Operation|Operation}.
- *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
- *   for more details and examples.
- * @example <caption>include:samples/generated/v1beta4/sql_databases_service.insert.js</caption>
- * region_tag:sqladmin_v1beta4_generated_SqlDatabasesService_Insert_async
- */
+  /**
+   * Inserts a resource containing information about a database inside a Cloud
+   * SQL instance.
+   *
+   * **Note:** You can't modify the default character set and collation.
+   *
+   * @param {Object} request
+   *   The request object that will be sent.
+   * @param {string} request.instance
+   *   Database instance ID. This does not include the project ID.
+   * @param {string} request.project
+   *   Project ID of the project that contains the instance.
+   * @param {google.cloud.sql.v1beta4.Database} request.body
+   * @param {object} [options]
+   *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+   * @returns {Promise} - The promise which resolves to an array.
+   *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1beta4.Operation|Operation}.
+   *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
+   *   for more details and examples.
+   * @example <caption>include:samples/generated/v1beta4/sql_databases_service.insert.js</caption>
+   * region_tag:sqladmin_v1beta4_generated_SqlDatabasesService_Insert_async
+   */
   insert(
-      request?: protos.google.cloud.sql.v1beta4.ISqlDatabasesInsertRequest,
-      options?: CallOptions):
-      Promise<[
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlDatabasesInsertRequest|undefined, {}|undefined
-      ]>;
+    request?: protos.google.cloud.sql.v1beta4.ISqlDatabasesInsertRequest,
+    options?: CallOptions,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1beta4.IOperation,
+      protos.google.cloud.sql.v1beta4.ISqlDatabasesInsertRequest | undefined,
+      {} | undefined,
+    ]
+  >;
   insert(
-      request: protos.google.cloud.sql.v1beta4.ISqlDatabasesInsertRequest,
-      options: CallOptions,
-      callback: Callback<
-          protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlDatabasesInsertRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1beta4.ISqlDatabasesInsertRequest,
+    options: CallOptions,
+    callback: Callback<
+      protos.google.cloud.sql.v1beta4.IOperation,
+      | protos.google.cloud.sql.v1beta4.ISqlDatabasesInsertRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   insert(
-      request: protos.google.cloud.sql.v1beta4.ISqlDatabasesInsertRequest,
-      callback: Callback<
-          protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlDatabasesInsertRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1beta4.ISqlDatabasesInsertRequest,
+    callback: Callback<
+      protos.google.cloud.sql.v1beta4.IOperation,
+      | protos.google.cloud.sql.v1beta4.ISqlDatabasesInsertRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   insert(
-      request?: protos.google.cloud.sql.v1beta4.ISqlDatabasesInsertRequest,
-      optionsOrCallback?: CallOptions|Callback<
-          protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlDatabasesInsertRequest|null|undefined,
-          {}|null|undefined>,
-      callback?: Callback<
+    request?: protos.google.cloud.sql.v1beta4.ISqlDatabasesInsertRequest,
+    optionsOrCallback?:
+      | CallOptions
+      | Callback<
           protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlDatabasesInsertRequest|null|undefined,
-          {}|null|undefined>):
-      Promise<[
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlDatabasesInsertRequest|undefined, {}|undefined
-      ]>|void {
+          | protos.google.cloud.sql.v1beta4.ISqlDatabasesInsertRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >,
+    callback?: Callback<
+      protos.google.cloud.sql.v1beta4.IOperation,
+      | protos.google.cloud.sql.v1beta4.ISqlDatabasesInsertRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1beta4.IOperation,
+      protos.google.cloud.sql.v1beta4.ISqlDatabasesInsertRequest | undefined,
+      {} | undefined,
+    ]
+  > | void {
     request = request || {};
     let options: CallOptions;
     if (typeof optionsOrCallback === 'function' && callback === undefined) {
       callback = optionsOrCallback;
       options = {};
-    }
-    else {
+    } else {
       options = optionsOrCallback as CallOptions;
     }
     options = options || {};
     options.otherArgs = options.otherArgs || {};
     options.otherArgs.headers = options.otherArgs.headers || {};
-    options.otherArgs.headers[
-      'x-goog-request-params'
-    ] = this._gaxModule.routingHeader.fromParams({
-      'project': request.project ?? '',
-      'instance': request.instance ?? '',
+    options.otherArgs.headers['x-goog-request-params'] =
+      this._gaxModule.routingHeader.fromParams({
+        project: request.project ?? '',
+        instance: request.instance ?? '',
+      });
+    this.initialize().catch((err) => {
+      throw err;
     });
-    this.initialize().catch(err => {throw err});
     this._log.info('insert request %j', request);
-    const wrappedCallback: Callback<
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlDatabasesInsertRequest|null|undefined,
-        {}|null|undefined>|undefined = callback
+    const wrappedCallback:
+      | Callback<
+          protos.google.cloud.sql.v1beta4.IOperation,
+          | protos.google.cloud.sql.v1beta4.ISqlDatabasesInsertRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >
+      | undefined = callback
       ? (error, response, options, rawResponse) => {
           this._log.info('insert response %j', response);
           callback!(error, response, options, rawResponse); // We verified callback above.
         }
       : undefined;
-    return this.innerApiCalls.insert(request, options, wrappedCallback)
-      ?.then(([response, options, rawResponse]: [
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlDatabasesInsertRequest|undefined,
-        {}|undefined
-      ]) => {
-        this._log.info('insert response %j', response);
-        return [response, options, rawResponse];
-      }).catch((error: any) => {
-        if (error && 'statusDetails' in error && error.statusDetails instanceof Array) {
-          const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type;
-          error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos);
+    return this.innerApiCalls
+      .insert(request, options, wrappedCallback)
+      ?.then(
+        ([response, options, rawResponse]: [
+          protos.google.cloud.sql.v1beta4.IOperation,
+          (
+            | protos.google.cloud.sql.v1beta4.ISqlDatabasesInsertRequest
+            | undefined
+          ),
+          {} | undefined,
+        ]) => {
+          this._log.info('insert response %j', response);
+          return [response, options, rawResponse];
+        },
+      )
+      .catch((error: any) => {
+        if (
+          error &&
+          'statusDetails' in error &&
+          error.statusDetails instanceof Array
+        ) {
+          const protos = this._gaxModule.protobuf.Root.fromJSON(
+            jsonProtos,
+          ) as unknown as gax.protobuf.Type;
+          error.statusDetails = decodeAnyProtosInArray(
+            error.statusDetails,
+            protos,
+          );
         }
         throw error;
       });
   }
-/**
- * Lists databases in the specified Cloud SQL instance.
- *
- * @param {Object} request
- *   The request object that will be sent.
- * @param {string} request.instance
- *   Cloud SQL instance ID. This does not include the project ID.
- * @param {string} request.project
- *   Project ID of the project that contains the instance.
- * @param {object} [options]
- *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
- * @returns {Promise} - The promise which resolves to an array.
- *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1beta4.DatabasesListResponse|DatabasesListResponse}.
- *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
- *   for more details and examples.
- * @example <caption>include:samples/generated/v1beta4/sql_databases_service.list.js</caption>
- * region_tag:sqladmin_v1beta4_generated_SqlDatabasesService_List_async
- */
+  /**
+   * Lists databases in the specified Cloud SQL instance.
+   *
+   * @param {Object} request
+   *   The request object that will be sent.
+   * @param {string} request.instance
+   *   Cloud SQL instance ID. This does not include the project ID.
+   * @param {string} request.project
+   *   Project ID of the project that contains the instance.
+   * @param {object} [options]
+   *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+   * @returns {Promise} - The promise which resolves to an array.
+   *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1beta4.DatabasesListResponse|DatabasesListResponse}.
+   *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
+   *   for more details and examples.
+   * @example <caption>include:samples/generated/v1beta4/sql_databases_service.list.js</caption>
+   * region_tag:sqladmin_v1beta4_generated_SqlDatabasesService_List_async
+   */
   list(
-      request?: protos.google.cloud.sql.v1beta4.ISqlDatabasesListRequest,
-      options?: CallOptions):
-      Promise<[
-        protos.google.cloud.sql.v1beta4.IDatabasesListResponse,
-        protos.google.cloud.sql.v1beta4.ISqlDatabasesListRequest|undefined, {}|undefined
-      ]>;
+    request?: protos.google.cloud.sql.v1beta4.ISqlDatabasesListRequest,
+    options?: CallOptions,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1beta4.IDatabasesListResponse,
+      protos.google.cloud.sql.v1beta4.ISqlDatabasesListRequest | undefined,
+      {} | undefined,
+    ]
+  >;
   list(
-      request: protos.google.cloud.sql.v1beta4.ISqlDatabasesListRequest,
-      options: CallOptions,
-      callback: Callback<
-          protos.google.cloud.sql.v1beta4.IDatabasesListResponse,
-          protos.google.cloud.sql.v1beta4.ISqlDatabasesListRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1beta4.ISqlDatabasesListRequest,
+    options: CallOptions,
+    callback: Callback<
+      protos.google.cloud.sql.v1beta4.IDatabasesListResponse,
+      | protos.google.cloud.sql.v1beta4.ISqlDatabasesListRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   list(
-      request: protos.google.cloud.sql.v1beta4.ISqlDatabasesListRequest,
-      callback: Callback<
-          protos.google.cloud.sql.v1beta4.IDatabasesListResponse,
-          protos.google.cloud.sql.v1beta4.ISqlDatabasesListRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1beta4.ISqlDatabasesListRequest,
+    callback: Callback<
+      protos.google.cloud.sql.v1beta4.IDatabasesListResponse,
+      | protos.google.cloud.sql.v1beta4.ISqlDatabasesListRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   list(
-      request?: protos.google.cloud.sql.v1beta4.ISqlDatabasesListRequest,
-      optionsOrCallback?: CallOptions|Callback<
-          protos.google.cloud.sql.v1beta4.IDatabasesListResponse,
-          protos.google.cloud.sql.v1beta4.ISqlDatabasesListRequest|null|undefined,
-          {}|null|undefined>,
-      callback?: Callback<
+    request?: protos.google.cloud.sql.v1beta4.ISqlDatabasesListRequest,
+    optionsOrCallback?:
+      | CallOptions
+      | Callback<
           protos.google.cloud.sql.v1beta4.IDatabasesListResponse,
-          protos.google.cloud.sql.v1beta4.ISqlDatabasesListRequest|null|undefined,
-          {}|null|undefined>):
-      Promise<[
-        protos.google.cloud.sql.v1beta4.IDatabasesListResponse,
-        protos.google.cloud.sql.v1beta4.ISqlDatabasesListRequest|undefined, {}|undefined
-      ]>|void {
+          | protos.google.cloud.sql.v1beta4.ISqlDatabasesListRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >,
+    callback?: Callback<
+      protos.google.cloud.sql.v1beta4.IDatabasesListResponse,
+      | protos.google.cloud.sql.v1beta4.ISqlDatabasesListRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1beta4.IDatabasesListResponse,
+      protos.google.cloud.sql.v1beta4.ISqlDatabasesListRequest | undefined,
+      {} | undefined,
+    ]
+  > | void {
     request = request || {};
     let options: CallOptions;
     if (typeof optionsOrCallback === 'function' && callback === undefined) {
       callback = optionsOrCallback;
       options = {};
-    }
-    else {
+    } else {
       options = optionsOrCallback as CallOptions;
     }
     options = options || {};
     options.otherArgs = options.otherArgs || {};
     options.otherArgs.headers = options.otherArgs.headers || {};
-    options.otherArgs.headers[
-      'x-goog-request-params'
-    ] = this._gaxModule.routingHeader.fromParams({
-      'project': request.project ?? '',
-      'instance': request.instance ?? '',
+    options.otherArgs.headers['x-goog-request-params'] =
+      this._gaxModule.routingHeader.fromParams({
+        project: request.project ?? '',
+        instance: request.instance ?? '',
+      });
+    this.initialize().catch((err) => {
+      throw err;
     });
-    this.initialize().catch(err => {throw err});
     this._log.info('list request %j', request);
-    const wrappedCallback: Callback<
-        protos.google.cloud.sql.v1beta4.IDatabasesListResponse,
-        protos.google.cloud.sql.v1beta4.ISqlDatabasesListRequest|null|undefined,
-        {}|null|undefined>|undefined = callback
+    const wrappedCallback:
+      | Callback<
+          protos.google.cloud.sql.v1beta4.IDatabasesListResponse,
+          | protos.google.cloud.sql.v1beta4.ISqlDatabasesListRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >
+      | undefined = callback
       ? (error, response, options, rawResponse) => {
           this._log.info('list response %j', response);
           callback!(error, response, options, rawResponse); // We verified callback above.
         }
       : undefined;
-    return this.innerApiCalls.list(request, options, wrappedCallback)
-      ?.then(([response, options, rawResponse]: [
-        protos.google.cloud.sql.v1beta4.IDatabasesListResponse,
-        protos.google.cloud.sql.v1beta4.ISqlDatabasesListRequest|undefined,
-        {}|undefined
-      ]) => {
-        this._log.info('list response %j', response);
-        return [response, options, rawResponse];
-      }).catch((error: any) => {
-        if (error && 'statusDetails' in error && error.statusDetails instanceof Array) {
-          const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type;
-          error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos);
+    return this.innerApiCalls
+      .list(request, options, wrappedCallback)
+      ?.then(
+        ([response, options, rawResponse]: [
+          protos.google.cloud.sql.v1beta4.IDatabasesListResponse,
+          protos.google.cloud.sql.v1beta4.ISqlDatabasesListRequest | undefined,
+          {} | undefined,
+        ]) => {
+          this._log.info('list response %j', response);
+          return [response, options, rawResponse];
+        },
+      )
+      .catch((error: any) => {
+        if (
+          error &&
+          'statusDetails' in error &&
+          error.statusDetails instanceof Array
+        ) {
+          const protos = this._gaxModule.protobuf.Root.fromJSON(
+            jsonProtos,
+          ) as unknown as gax.protobuf.Type;
+          error.statusDetails = decodeAnyProtosInArray(
+            error.statusDetails,
+            protos,
+          );
         }
         throw error;
       });
   }
-/**
- * Partially updates a resource containing information about a database inside
- * a Cloud SQL instance. This method supports patch semantics.
- *
- * @param {Object} request
- *   The request object that will be sent.
- * @param {string} request.database
- *   Name of the database to be updated in the instance.
- * @param {string} request.instance
- *   Database instance ID. This does not include the project ID.
- * @param {string} request.project
- *   Project ID of the project that contains the instance.
- * @param {google.cloud.sql.v1beta4.Database} request.body
- * @param {object} [options]
- *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
- * @returns {Promise} - The promise which resolves to an array.
- *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1beta4.Operation|Operation}.
- *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
- *   for more details and examples.
- * @example <caption>include:samples/generated/v1beta4/sql_databases_service.patch.js</caption>
- * region_tag:sqladmin_v1beta4_generated_SqlDatabasesService_Patch_async
- */
+  /**
+   * Partially updates a resource containing information about a database inside
+   * a Cloud SQL instance. This method supports patch semantics.
+   *
+   * @param {Object} request
+   *   The request object that will be sent.
+   * @param {string} request.database
+   *   Name of the database to be updated in the instance.
+   * @param {string} request.instance
+   *   Database instance ID. This does not include the project ID.
+   * @param {string} request.project
+   *   Project ID of the project that contains the instance.
+   * @param {google.cloud.sql.v1beta4.Database} request.body
+   * @param {object} [options]
+   *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+   * @returns {Promise} - The promise which resolves to an array.
+   *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1beta4.Operation|Operation}.
+   *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
+   *   for more details and examples.
+   * @example <caption>include:samples/generated/v1beta4/sql_databases_service.patch.js</caption>
+   * region_tag:sqladmin_v1beta4_generated_SqlDatabasesService_Patch_async
+   */
   patch(
-      request?: protos.google.cloud.sql.v1beta4.ISqlDatabasesUpdateRequest,
-      options?: CallOptions):
-      Promise<[
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlDatabasesUpdateRequest|undefined, {}|undefined
-      ]>;
+    request?: protos.google.cloud.sql.v1beta4.ISqlDatabasesUpdateRequest,
+    options?: CallOptions,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1beta4.IOperation,
+      protos.google.cloud.sql.v1beta4.ISqlDatabasesUpdateRequest | undefined,
+      {} | undefined,
+    ]
+  >;
   patch(
-      request: protos.google.cloud.sql.v1beta4.ISqlDatabasesUpdateRequest,
-      options: CallOptions,
-      callback: Callback<
-          protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlDatabasesUpdateRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1beta4.ISqlDatabasesUpdateRequest,
+    options: CallOptions,
+    callback: Callback<
+      protos.google.cloud.sql.v1beta4.IOperation,
+      | protos.google.cloud.sql.v1beta4.ISqlDatabasesUpdateRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   patch(
-      request: protos.google.cloud.sql.v1beta4.ISqlDatabasesUpdateRequest,
-      callback: Callback<
-          protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlDatabasesUpdateRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1beta4.ISqlDatabasesUpdateRequest,
+    callback: Callback<
+      protos.google.cloud.sql.v1beta4.IOperation,
+      | protos.google.cloud.sql.v1beta4.ISqlDatabasesUpdateRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   patch(
-      request?: protos.google.cloud.sql.v1beta4.ISqlDatabasesUpdateRequest,
-      optionsOrCallback?: CallOptions|Callback<
-          protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlDatabasesUpdateRequest|null|undefined,
-          {}|null|undefined>,
-      callback?: Callback<
+    request?: protos.google.cloud.sql.v1beta4.ISqlDatabasesUpdateRequest,
+    optionsOrCallback?:
+      | CallOptions
+      | Callback<
           protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlDatabasesUpdateRequest|null|undefined,
-          {}|null|undefined>):
-      Promise<[
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlDatabasesUpdateRequest|undefined, {}|undefined
-      ]>|void {
+          | protos.google.cloud.sql.v1beta4.ISqlDatabasesUpdateRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >,
+    callback?: Callback<
+      protos.google.cloud.sql.v1beta4.IOperation,
+      | protos.google.cloud.sql.v1beta4.ISqlDatabasesUpdateRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1beta4.IOperation,
+      protos.google.cloud.sql.v1beta4.ISqlDatabasesUpdateRequest | undefined,
+      {} | undefined,
+    ]
+  > | void {
     request = request || {};
     let options: CallOptions;
     if (typeof optionsOrCallback === 'function' && callback === undefined) {
       callback = optionsOrCallback;
       options = {};
-    }
-    else {
+    } else {
       options = optionsOrCallback as CallOptions;
     }
     options = options || {};
     options.otherArgs = options.otherArgs || {};
     options.otherArgs.headers = options.otherArgs.headers || {};
-    options.otherArgs.headers[
-      'x-goog-request-params'
-    ] = this._gaxModule.routingHeader.fromParams({
-      'project': request.project ?? '',
-      'instance': request.instance ?? '',
-      'database': request.database ?? '',
+    options.otherArgs.headers['x-goog-request-params'] =
+      this._gaxModule.routingHeader.fromParams({
+        project: request.project ?? '',
+        instance: request.instance ?? '',
+        database: request.database ?? '',
+      });
+    this.initialize().catch((err) => {
+      throw err;
     });
-    this.initialize().catch(err => {throw err});
     this._log.info('patch request %j', request);
-    const wrappedCallback: Callback<
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlDatabasesUpdateRequest|null|undefined,
-        {}|null|undefined>|undefined = callback
+    const wrappedCallback:
+      | Callback<
+          protos.google.cloud.sql.v1beta4.IOperation,
+          | protos.google.cloud.sql.v1beta4.ISqlDatabasesUpdateRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >
+      | undefined = callback
       ? (error, response, options, rawResponse) => {
           this._log.info('patch response %j', response);
           callback!(error, response, options, rawResponse); // We verified callback above.
         }
       : undefined;
-    return this.innerApiCalls.patch(request, options, wrappedCallback)
-      ?.then(([response, options, rawResponse]: [
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlDatabasesUpdateRequest|undefined,
-        {}|undefined
-      ]) => {
-        this._log.info('patch response %j', response);
-        return [response, options, rawResponse];
-      }).catch((error: any) => {
-        if (error && 'statusDetails' in error && error.statusDetails instanceof Array) {
-          const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type;
-          error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos);
+    return this.innerApiCalls
+      .patch(request, options, wrappedCallback)
+      ?.then(
+        ([response, options, rawResponse]: [
+          protos.google.cloud.sql.v1beta4.IOperation,
+          (
+            | protos.google.cloud.sql.v1beta4.ISqlDatabasesUpdateRequest
+            | undefined
+          ),
+          {} | undefined,
+        ]) => {
+          this._log.info('patch response %j', response);
+          return [response, options, rawResponse];
+        },
+      )
+      .catch((error: any) => {
+        if (
+          error &&
+          'statusDetails' in error &&
+          error.statusDetails instanceof Array
+        ) {
+          const protos = this._gaxModule.protobuf.Root.fromJSON(
+            jsonProtos,
+          ) as unknown as gax.protobuf.Type;
+          error.statusDetails = decodeAnyProtosInArray(
+            error.statusDetails,
+            protos,
+          );
         }
         throw error;
       });
   }
-/**
- * Updates a resource containing information about a database inside a Cloud
- * SQL instance.
- *
- * @param {Object} request
- *   The request object that will be sent.
- * @param {string} request.database
- *   Name of the database to be updated in the instance.
- * @param {string} request.instance
- *   Database instance ID. This does not include the project ID.
- * @param {string} request.project
- *   Project ID of the project that contains the instance.
- * @param {google.cloud.sql.v1beta4.Database} request.body
- * @param {object} [options]
- *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
- * @returns {Promise} - The promise which resolves to an array.
- *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1beta4.Operation|Operation}.
- *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
- *   for more details and examples.
- * @example <caption>include:samples/generated/v1beta4/sql_databases_service.update.js</caption>
- * region_tag:sqladmin_v1beta4_generated_SqlDatabasesService_Update_async
- */
+  /**
+   * Updates a resource containing information about a database inside a Cloud
+   * SQL instance.
+   *
+   * @param {Object} request
+   *   The request object that will be sent.
+   * @param {string} request.database
+   *   Name of the database to be updated in the instance.
+   * @param {string} request.instance
+   *   Database instance ID. This does not include the project ID.
+   * @param {string} request.project
+   *   Project ID of the project that contains the instance.
+   * @param {google.cloud.sql.v1beta4.Database} request.body
+   * @param {object} [options]
+   *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+   * @returns {Promise} - The promise which resolves to an array.
+   *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1beta4.Operation|Operation}.
+   *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
+   *   for more details and examples.
+   * @example <caption>include:samples/generated/v1beta4/sql_databases_service.update.js</caption>
+   * region_tag:sqladmin_v1beta4_generated_SqlDatabasesService_Update_async
+   */
   update(
-      request?: protos.google.cloud.sql.v1beta4.ISqlDatabasesUpdateRequest,
-      options?: CallOptions):
-      Promise<[
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlDatabasesUpdateRequest|undefined, {}|undefined
-      ]>;
+    request?: protos.google.cloud.sql.v1beta4.ISqlDatabasesUpdateRequest,
+    options?: CallOptions,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1beta4.IOperation,
+      protos.google.cloud.sql.v1beta4.ISqlDatabasesUpdateRequest | undefined,
+      {} | undefined,
+    ]
+  >;
   update(
-      request: protos.google.cloud.sql.v1beta4.ISqlDatabasesUpdateRequest,
-      options: CallOptions,
-      callback: Callback<
-          protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlDatabasesUpdateRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1beta4.ISqlDatabasesUpdateRequest,
+    options: CallOptions,
+    callback: Callback<
+      protos.google.cloud.sql.v1beta4.IOperation,
+      | protos.google.cloud.sql.v1beta4.ISqlDatabasesUpdateRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   update(
-      request: protos.google.cloud.sql.v1beta4.ISqlDatabasesUpdateRequest,
-      callback: Callback<
-          protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlDatabasesUpdateRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1beta4.ISqlDatabasesUpdateRequest,
+    callback: Callback<
+      protos.google.cloud.sql.v1beta4.IOperation,
+      | protos.google.cloud.sql.v1beta4.ISqlDatabasesUpdateRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   update(
-      request?: protos.google.cloud.sql.v1beta4.ISqlDatabasesUpdateRequest,
-      optionsOrCallback?: CallOptions|Callback<
-          protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlDatabasesUpdateRequest|null|undefined,
-          {}|null|undefined>,
-      callback?: Callback<
+    request?: protos.google.cloud.sql.v1beta4.ISqlDatabasesUpdateRequest,
+    optionsOrCallback?:
+      | CallOptions
+      | Callback<
           protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlDatabasesUpdateRequest|null|undefined,
-          {}|null|undefined>):
-      Promise<[
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlDatabasesUpdateRequest|undefined, {}|undefined
-      ]>|void {
+          | protos.google.cloud.sql.v1beta4.ISqlDatabasesUpdateRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >,
+    callback?: Callback<
+      protos.google.cloud.sql.v1beta4.IOperation,
+      | protos.google.cloud.sql.v1beta4.ISqlDatabasesUpdateRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1beta4.IOperation,
+      protos.google.cloud.sql.v1beta4.ISqlDatabasesUpdateRequest | undefined,
+      {} | undefined,
+    ]
+  > | void {
     request = request || {};
     let options: CallOptions;
     if (typeof optionsOrCallback === 'function' && callback === undefined) {
       callback = optionsOrCallback;
       options = {};
-    }
-    else {
+    } else {
       options = optionsOrCallback as CallOptions;
     }
     options = options || {};
     options.otherArgs = options.otherArgs || {};
     options.otherArgs.headers = options.otherArgs.headers || {};
-    options.otherArgs.headers[
-      'x-goog-request-params'
-    ] = this._gaxModule.routingHeader.fromParams({
-      'project': request.project ?? '',
-      'instance': request.instance ?? '',
-      'database': request.database ?? '',
+    options.otherArgs.headers['x-goog-request-params'] =
+      this._gaxModule.routingHeader.fromParams({
+        project: request.project ?? '',
+        instance: request.instance ?? '',
+        database: request.database ?? '',
+      });
+    this.initialize().catch((err) => {
+      throw err;
     });
-    this.initialize().catch(err => {throw err});
     this._log.info('update request %j', request);
-    const wrappedCallback: Callback<
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlDatabasesUpdateRequest|null|undefined,
-        {}|null|undefined>|undefined = callback
+    const wrappedCallback:
+      | Callback<
+          protos.google.cloud.sql.v1beta4.IOperation,
+          | protos.google.cloud.sql.v1beta4.ISqlDatabasesUpdateRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >
+      | undefined = callback
       ? (error, response, options, rawResponse) => {
           this._log.info('update response %j', response);
           callback!(error, response, options, rawResponse); // We verified callback above.
         }
       : undefined;
-    return this.innerApiCalls.update(request, options, wrappedCallback)
-      ?.then(([response, options, rawResponse]: [
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlDatabasesUpdateRequest|undefined,
-        {}|undefined
-      ]) => {
-        this._log.info('update response %j', response);
-        return [response, options, rawResponse];
-      }).catch((error: any) => {
-        if (error && 'statusDetails' in error && error.statusDetails instanceof Array) {
-          const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type;
-          error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos);
+    return this.innerApiCalls
+      .update(request, options, wrappedCallback)
+      ?.then(
+        ([response, options, rawResponse]: [
+          protos.google.cloud.sql.v1beta4.IOperation,
+          (
+            | protos.google.cloud.sql.v1beta4.ISqlDatabasesUpdateRequest
+            | undefined
+          ),
+          {} | undefined,
+        ]) => {
+          this._log.info('update response %j', response);
+          return [response, options, rawResponse];
+        },
+      )
+      .catch((error: any) => {
+        if (
+          error &&
+          'statusDetails' in error &&
+          error.statusDetails instanceof Array
+        ) {
+          const protos = this._gaxModule.protobuf.Root.fromJSON(
+            jsonProtos,
+          ) as unknown as gax.protobuf.Type;
+          error.statusDetails = decodeAnyProtosInArray(
+            error.statusDetails,
+            protos,
+          );
         }
         throw error;
       });
   }
 
-/**
+  /**
    * Gets information about a location.
    *
    * @param {Object} request
@@ -975,12 +1278,11 @@ export class SqlDatabasesServiceClient {
       | null
       | undefined,
       {} | null | undefined
-    >
+    >,
   ): Promise<LocationProtos.google.cloud.location.ILocation> {
     return this.locationsClient.getLocation(request, options, callback);
   }
-
-/**
+  /**
    * Lists information about the supported locations for this service. Returns an iterable object.
    *
    * `for`-`await`-`of` syntax is used with the iterable to get response elements on-demand.
@@ -1013,7 +1315,7 @@ export class SqlDatabasesServiceClient {
    */
   listLocationsAsync(
     request: LocationProtos.google.cloud.location.IListLocationsRequest,
-    options?: CallOptions
+    options?: CallOptions,
   ): AsyncIterable<LocationProtos.google.cloud.location.ILocation> {
     return this.locationsClient.listLocationsAsync(request, options);
   }
@@ -1029,7 +1331,7 @@ export class SqlDatabasesServiceClient {
    * @param {string} backup
    * @returns {string} Resource name string.
    */
-  backupPath(project:string,backup:string) {
+  backupPath(project: string, backup: string) {
     return this.pathTemplates.backupPathTemplate.render({
       project: project,
       backup: backup,
@@ -1064,7 +1366,7 @@ export class SqlDatabasesServiceClient {
    * @param {string} project
    * @returns {string} Resource name string.
    */
-  projectPath(project:string) {
+  projectPath(project: string) {
     return this.pathTemplates.projectPathTemplate.render({
       project: project,
     });
@@ -1089,13 +1391,15 @@ export class SqlDatabasesServiceClient {
    */
   close(): Promise<void> {
     if (this.sqlDatabasesServiceStub && !this._terminated) {
-      return this.sqlDatabasesServiceStub.then(stub => {
+      return this.sqlDatabasesServiceStub.then((stub) => {
         this._log.info('ending gRPC channel');
         this._terminated = true;
         stub.close();
-        this.locationsClient.close().catch(err => {throw err});
+        this.locationsClient.close().catch((err) => {
+          throw err;
+        });
       });
     }
     return Promise.resolve();
   }
-}
\ No newline at end of file
+}
diff --git a/packages/google-cloud-sql/src/v1beta4/sql_flags_service_client.ts b/packages/google-cloud-sql/src/v1beta4/sql_flags_service_client.ts
index c8b765e7f710..2ada4fa5a4c1 100644
--- a/packages/google-cloud-sql/src/v1beta4/sql_flags_service_client.ts
+++ b/packages/google-cloud-sql/src/v1beta4/sql_flags_service_client.ts
@@ -18,11 +18,18 @@
 
 /* global window */
 import type * as gax from 'google-gax';
-import type {Callback, CallOptions, Descriptors, ClientOptions, LocationsClient, LocationProtos} from 'google-gax';
+import type {
+  Callback,
+  CallOptions,
+  Descriptors,
+  ClientOptions,
+  LocationsClient,
+  LocationProtos,
+} from 'google-gax';
 
 import * as protos from '../../protos/protos';
 import jsonProtos = require('../../protos/protos.json');
-import {loggingUtils as logging, decodeAnyProtosInArray} from 'google-gax';
+import { loggingUtils as logging, decodeAnyProtosInArray } from 'google-gax';
 
 /**
  * Client JSON configuration object, loaded from
@@ -43,7 +50,7 @@ export class SqlFlagsServiceClient {
   private _gaxModule: typeof gax | typeof gax.fallback;
   private _gaxGrpc: gax.GrpcClient | gax.fallback.GrpcClient;
   private _protos: {};
-  private _defaults: {[method: string]: gax.CallSettings};
+  private _defaults: { [method: string]: gax.CallSettings };
   private _universeDomain: string;
   private _servicePath: string;
   private _log = logging.log('sql');
@@ -56,10 +63,10 @@ export class SqlFlagsServiceClient {
     batching: {},
   };
   warn: (code: string, message: string, warnType?: string) => void;
-  innerApiCalls: {[name: string]: Function};
+  innerApiCalls: { [name: string]: Function };
   locationsClient: LocationsClient;
-  pathTemplates: {[name: string]: gax.PathTemplate};
-  sqlFlagsServiceStub?: Promise<{[name: string]: Function}>;
+  pathTemplates: { [name: string]: gax.PathTemplate };
+  sqlFlagsServiceStub?: Promise<{ [name: string]: Function }>;
 
   /**
    * Construct an instance of SqlFlagsServiceClient.
@@ -100,21 +107,42 @@ export class SqlFlagsServiceClient {
    *     const client = new SqlFlagsServiceClient({fallback: true}, gax);
    *     ```
    */
-  constructor(opts?: ClientOptions, gaxInstance?: typeof gax | typeof gax.fallback) {
+  constructor(
+    opts?: ClientOptions,
+    gaxInstance?: typeof gax | typeof gax.fallback,
+  ) {
     // Ensure that options include all the required fields.
     const staticMembers = this.constructor as typeof SqlFlagsServiceClient;
-    if (opts?.universe_domain && opts?.universeDomain && opts?.universe_domain !== opts?.universeDomain) {
-      throw new Error('Please set either universe_domain or universeDomain, but not both.');
+    if (
+      opts?.universe_domain &&
+      opts?.universeDomain &&
+      opts?.universe_domain !== opts?.universeDomain
+    ) {
+      throw new Error(
+        'Please set either universe_domain or universeDomain, but not both.',
+      );
     }
-    const universeDomainEnvVar = (typeof process === 'object' && typeof process.env === 'object') ? process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] : undefined;
-    this._universeDomain = opts?.universeDomain ?? opts?.universe_domain ?? universeDomainEnvVar ?? 'googleapis.com';
+    const universeDomainEnvVar =
+      typeof process === 'object' && typeof process.env === 'object'
+        ? process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN']
+        : undefined;
+    this._universeDomain =
+      opts?.universeDomain ??
+      opts?.universe_domain ??
+      universeDomainEnvVar ??
+      'googleapis.com';
     this._servicePath = 'sqladmin.' + this._universeDomain;
-    const servicePath = opts?.servicePath || opts?.apiEndpoint || this._servicePath;
-    this._providedCustomServicePath = !!(opts?.servicePath || opts?.apiEndpoint);
+    const servicePath =
+      opts?.servicePath || opts?.apiEndpoint || this._servicePath;
+    this._providedCustomServicePath = !!(
+      opts?.servicePath || opts?.apiEndpoint
+    );
     const port = opts?.port || staticMembers.port;
     const clientConfig = opts?.clientConfig ?? {};
-    const fallback = opts?.fallback ?? (typeof window !== 'undefined' && typeof window?.fetch === 'function');
-    opts = Object.assign({servicePath, port, clientConfig, fallback}, opts);
+    const fallback =
+      opts?.fallback ??
+      (typeof window !== 'undefined' && typeof window?.fetch === 'function');
+    opts = Object.assign({ servicePath, port, clientConfig, fallback }, opts);
 
     // Request numeric enum values if REST transport is used.
     opts.numericEnums = true;
@@ -139,7 +167,7 @@ export class SqlFlagsServiceClient {
     this._opts = opts;
 
     // Save the auth object to the client, for use by other methods.
-    this.auth = (this._gaxGrpc.auth as gax.GoogleAuth);
+    this.auth = this._gaxGrpc.auth as gax.GoogleAuth;
 
     // Set useJWTAccessWithScope on the auth object.
     this.auth.useJWTAccessWithScope = true;
@@ -153,15 +181,11 @@ export class SqlFlagsServiceClient {
     }
     this.locationsClient = new this._gaxModule.LocationsClient(
       this._gaxGrpc,
-      opts
+      opts,
     );
-  
 
     // Determine the client header string.
-    const clientHeader = [
-      `gax/${this._gaxModule.version}`,
-      `gapic/${version}`,
-    ];
+    const clientHeader = [`gax/${this._gaxModule.version}`, `gapic/${version}`];
     if (typeof process === 'object' && 'versions' in process) {
       clientHeader.push(`gl-node/${process.versions.node}`);
     } else {
@@ -183,17 +207,20 @@ export class SqlFlagsServiceClient {
     // Create useful helper objects for these.
     this.pathTemplates = {
       backupPathTemplate: new this._gaxModule.PathTemplate(
-        'projects/{project}/backups/{backup}'
+        'projects/{project}/backups/{backup}',
       ),
       projectPathTemplate: new this._gaxModule.PathTemplate(
-        'projects/{project}'
+        'projects/{project}',
       ),
     };
 
     // Put together the default options sent with requests.
     this._defaults = this._gaxGrpc.constructSettings(
-        'google.cloud.sql.v1beta4.SqlFlagsService', gapicConfig as gax.ClientConfig,
-        opts.clientConfig || {}, {'x-goog-api-client': clientHeader.join(' ')});
+      'google.cloud.sql.v1beta4.SqlFlagsService',
+      gapicConfig as gax.ClientConfig,
+      opts.clientConfig || {},
+      { 'x-goog-api-client': clientHeader.join(' ') },
+    );
 
     // Set up a dictionary of "inner API calls"; the core implementation
     // of calling the API is handled in `google-gax`, with this code
@@ -224,36 +251,40 @@ export class SqlFlagsServiceClient {
     // Put together the "service stub" for
     // google.cloud.sql.v1beta4.SqlFlagsService.
     this.sqlFlagsServiceStub = this._gaxGrpc.createStub(
-        this._opts.fallback ?
-          (this._protos as protobuf.Root).lookupService('google.cloud.sql.v1beta4.SqlFlagsService') :
-          // eslint-disable-next-line @typescript-eslint/no-explicit-any
+      this._opts.fallback
+        ? (this._protos as protobuf.Root).lookupService(
+            'google.cloud.sql.v1beta4.SqlFlagsService',
+          )
+        : // eslint-disable-next-line @typescript-eslint/no-explicit-any
           (this._protos as any).google.cloud.sql.v1beta4.SqlFlagsService,
-        this._opts, this._providedCustomServicePath) as Promise<{[method: string]: Function}>;
+      this._opts,
+      this._providedCustomServicePath,
+    ) as Promise<{ [method: string]: Function }>;
 
     // Iterate over each of the methods that the service provides
     // and create an API call method for each.
-    const sqlFlagsServiceStubMethods =
-        ['list'];
+    const sqlFlagsServiceStubMethods = ['list'];
     for (const methodName of sqlFlagsServiceStubMethods) {
       const callPromise = this.sqlFlagsServiceStub.then(
-        stub => (...args: Array<{}>) => {
-          if (this._terminated) {
-            return Promise.reject('The client has already been closed.');
-          }
-          const func = stub[methodName];
-          return func.apply(stub, args);
-        },
-        (err: Error|null|undefined) => () => {
+        (stub) =>
+          (...args: Array<{}>) => {
+            if (this._terminated) {
+              return Promise.reject('The client has already been closed.');
+            }
+            const func = stub[methodName];
+            return func.apply(stub, args);
+          },
+        (err: Error | null | undefined) => () => {
           throw err;
-        });
+        },
+      );
 
-      const descriptor =
-        undefined;
+      const descriptor = undefined;
       const apiCall = this._gaxModule.createApiCall(
         callPromise,
         this._defaults[methodName],
         descriptor,
-        this._opts.fallback
+        this._opts.fallback,
       );
 
       this.innerApiCalls[methodName] = apiCall;
@@ -268,8 +299,14 @@ export class SqlFlagsServiceClient {
    * @returns {string} The DNS address for this service.
    */
   static get servicePath() {
-    if (typeof process === 'object' && typeof process.emitWarning === 'function') {
-      process.emitWarning('Static servicePath is deprecated, please use the instance method instead.', 'DeprecationWarning');
+    if (
+      typeof process === 'object' &&
+      typeof process.emitWarning === 'function'
+    ) {
+      process.emitWarning(
+        'Static servicePath is deprecated, please use the instance method instead.',
+        'DeprecationWarning',
+      );
     }
     return 'sqladmin.googleapis.com';
   }
@@ -280,8 +317,14 @@ export class SqlFlagsServiceClient {
    * @returns {string} The DNS address for this service.
    */
   static get apiEndpoint() {
-    if (typeof process === 'object' && typeof process.emitWarning === 'function') {
-      process.emitWarning('Static apiEndpoint is deprecated, please use the instance method instead.', 'DeprecationWarning');
+    if (
+      typeof process === 'object' &&
+      typeof process.emitWarning === 'function'
+    ) {
+      process.emitWarning(
+        'Static apiEndpoint is deprecated, please use the instance method instead.',
+        'DeprecationWarning',
+      );
     }
     return 'sqladmin.googleapis.com';
   }
@@ -314,7 +357,7 @@ export class SqlFlagsServiceClient {
   static get scopes() {
     return [
       'https://www.googleapis.com/auth/cloud-platform',
-      'https://www.googleapis.com/auth/sqlservice.admin'
+      'https://www.googleapis.com/auth/sqlservice.admin',
     ];
   }
 
@@ -324,8 +367,9 @@ export class SqlFlagsServiceClient {
    * Return the project ID used by this class.
    * @returns {Promise} A promise that resolves to string containing the project ID.
    */
-  getProjectId(callback?: Callback<string, undefined, undefined>):
-      Promise<string>|void {
+  getProjectId(
+    callback?: Callback<string, undefined, undefined>,
+  ): Promise<string> | void {
     if (callback) {
       this.auth.getProjectId(callback);
       return;
@@ -336,101 +380,136 @@ export class SqlFlagsServiceClient {
   // -------------------
   // -- Service calls --
   // -------------------
-/**
- * Lists all available database flags for Cloud SQL instances.
- *
- * @param {Object} request
- *   The request object that will be sent.
- * @param {string} request.databaseVersion
- *   Database type and version you want to retrieve flags for. By default, this
- *   method returns flags for all database types and versions.
- * @param {google.cloud.sql.v1beta4.SqlFlagScope} [request.flagScope]
- *   Optional. Specify the scope of flags to be returned by SqlFlagsListService.
- *   Return list of database flags if unspecified.
- * @param {object} [options]
- *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
- * @returns {Promise} - The promise which resolves to an array.
- *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1beta4.FlagsListResponse|FlagsListResponse}.
- *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
- *   for more details and examples.
- * @example <caption>include:samples/generated/v1beta4/sql_flags_service.list.js</caption>
- * region_tag:sqladmin_v1beta4_generated_SqlFlagsService_List_async
- */
+  /**
+   * Lists all available database flags for Cloud SQL instances.
+   *
+   * @param {Object} request
+   *   The request object that will be sent.
+   * @param {string} request.databaseVersion
+   *   Database type and version you want to retrieve flags for. By default, this
+   *   method returns flags for all database types and versions.
+   * @param {google.cloud.sql.v1beta4.SqlFlagScope} [request.flagScope]
+   *   Optional. Specify the scope of flags to be returned by SqlFlagsListService.
+   *   Return list of database flags if unspecified.
+   * @param {object} [options]
+   *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+   * @returns {Promise} - The promise which resolves to an array.
+   *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1beta4.FlagsListResponse|FlagsListResponse}.
+   *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
+   *   for more details and examples.
+   * @example <caption>include:samples/generated/v1beta4/sql_flags_service.list.js</caption>
+   * region_tag:sqladmin_v1beta4_generated_SqlFlagsService_List_async
+   */
   list(
-      request?: protos.google.cloud.sql.v1beta4.ISqlFlagsListRequest,
-      options?: CallOptions):
-      Promise<[
-        protos.google.cloud.sql.v1beta4.IFlagsListResponse,
-        protos.google.cloud.sql.v1beta4.ISqlFlagsListRequest|undefined, {}|undefined
-      ]>;
+    request?: protos.google.cloud.sql.v1beta4.ISqlFlagsListRequest,
+    options?: CallOptions,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1beta4.IFlagsListResponse,
+      protos.google.cloud.sql.v1beta4.ISqlFlagsListRequest | undefined,
+      {} | undefined,
+    ]
+  >;
   list(
-      request: protos.google.cloud.sql.v1beta4.ISqlFlagsListRequest,
-      options: CallOptions,
-      callback: Callback<
-          protos.google.cloud.sql.v1beta4.IFlagsListResponse,
-          protos.google.cloud.sql.v1beta4.ISqlFlagsListRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1beta4.ISqlFlagsListRequest,
+    options: CallOptions,
+    callback: Callback<
+      protos.google.cloud.sql.v1beta4.IFlagsListResponse,
+      protos.google.cloud.sql.v1beta4.ISqlFlagsListRequest | null | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   list(
-      request: protos.google.cloud.sql.v1beta4.ISqlFlagsListRequest,
-      callback: Callback<
-          protos.google.cloud.sql.v1beta4.IFlagsListResponse,
-          protos.google.cloud.sql.v1beta4.ISqlFlagsListRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1beta4.ISqlFlagsListRequest,
+    callback: Callback<
+      protos.google.cloud.sql.v1beta4.IFlagsListResponse,
+      protos.google.cloud.sql.v1beta4.ISqlFlagsListRequest | null | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   list(
-      request?: protos.google.cloud.sql.v1beta4.ISqlFlagsListRequest,
-      optionsOrCallback?: CallOptions|Callback<
-          protos.google.cloud.sql.v1beta4.IFlagsListResponse,
-          protos.google.cloud.sql.v1beta4.ISqlFlagsListRequest|null|undefined,
-          {}|null|undefined>,
-      callback?: Callback<
+    request?: protos.google.cloud.sql.v1beta4.ISqlFlagsListRequest,
+    optionsOrCallback?:
+      | CallOptions
+      | Callback<
           protos.google.cloud.sql.v1beta4.IFlagsListResponse,
-          protos.google.cloud.sql.v1beta4.ISqlFlagsListRequest|null|undefined,
-          {}|null|undefined>):
-      Promise<[
-        protos.google.cloud.sql.v1beta4.IFlagsListResponse,
-        protos.google.cloud.sql.v1beta4.ISqlFlagsListRequest|undefined, {}|undefined
-      ]>|void {
+          | protos.google.cloud.sql.v1beta4.ISqlFlagsListRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >,
+    callback?: Callback<
+      protos.google.cloud.sql.v1beta4.IFlagsListResponse,
+      protos.google.cloud.sql.v1beta4.ISqlFlagsListRequest | null | undefined,
+      {} | null | undefined
+    >,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1beta4.IFlagsListResponse,
+      protos.google.cloud.sql.v1beta4.ISqlFlagsListRequest | undefined,
+      {} | undefined,
+    ]
+  > | void {
     request = request || {};
     let options: CallOptions;
     if (typeof optionsOrCallback === 'function' && callback === undefined) {
       callback = optionsOrCallback;
       options = {};
-    }
-    else {
+    } else {
       options = optionsOrCallback as CallOptions;
     }
     options = options || {};
     options.otherArgs = options.otherArgs || {};
     options.otherArgs.headers = options.otherArgs.headers || {};
-    this.initialize().catch(err => {throw err});
+    this.initialize().catch((err) => {
+      throw err;
+    });
     this._log.info('list request %j', request);
-    const wrappedCallback: Callback<
-        protos.google.cloud.sql.v1beta4.IFlagsListResponse,
-        protos.google.cloud.sql.v1beta4.ISqlFlagsListRequest|null|undefined,
-        {}|null|undefined>|undefined = callback
+    const wrappedCallback:
+      | Callback<
+          protos.google.cloud.sql.v1beta4.IFlagsListResponse,
+          | protos.google.cloud.sql.v1beta4.ISqlFlagsListRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >
+      | undefined = callback
       ? (error, response, options, rawResponse) => {
           this._log.info('list response %j', response);
           callback!(error, response, options, rawResponse); // We verified callback above.
         }
       : undefined;
-    return this.innerApiCalls.list(request, options, wrappedCallback)
-      ?.then(([response, options, rawResponse]: [
-        protos.google.cloud.sql.v1beta4.IFlagsListResponse,
-        protos.google.cloud.sql.v1beta4.ISqlFlagsListRequest|undefined,
-        {}|undefined
-      ]) => {
-        this._log.info('list response %j', response);
-        return [response, options, rawResponse];
-      }).catch((error: any) => {
-        if (error && 'statusDetails' in error && error.statusDetails instanceof Array) {
-          const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type;
-          error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos);
+    return this.innerApiCalls
+      .list(request, options, wrappedCallback)
+      ?.then(
+        ([response, options, rawResponse]: [
+          protos.google.cloud.sql.v1beta4.IFlagsListResponse,
+          protos.google.cloud.sql.v1beta4.ISqlFlagsListRequest | undefined,
+          {} | undefined,
+        ]) => {
+          this._log.info('list response %j', response);
+          return [response, options, rawResponse];
+        },
+      )
+      .catch((error: any) => {
+        if (
+          error &&
+          'statusDetails' in error &&
+          error.statusDetails instanceof Array
+        ) {
+          const protos = this._gaxModule.protobuf.Root.fromJSON(
+            jsonProtos,
+          ) as unknown as gax.protobuf.Type;
+          error.statusDetails = decodeAnyProtosInArray(
+            error.statusDetails,
+            protos,
+          );
         }
         throw error;
       });
   }
 
-/**
+  /**
    * Gets information about a location.
    *
    * @param {Object} request
@@ -465,12 +544,11 @@ export class SqlFlagsServiceClient {
       | null
       | undefined,
       {} | null | undefined
-    >
+    >,
   ): Promise<LocationProtos.google.cloud.location.ILocation> {
     return this.locationsClient.getLocation(request, options, callback);
   }
-
-/**
+  /**
    * Lists information about the supported locations for this service. Returns an iterable object.
    *
    * `for`-`await`-`of` syntax is used with the iterable to get response elements on-demand.
@@ -503,7 +581,7 @@ export class SqlFlagsServiceClient {
    */
   listLocationsAsync(
     request: LocationProtos.google.cloud.location.IListLocationsRequest,
-    options?: CallOptions
+    options?: CallOptions,
   ): AsyncIterable<LocationProtos.google.cloud.location.ILocation> {
     return this.locationsClient.listLocationsAsync(request, options);
   }
@@ -519,7 +597,7 @@ export class SqlFlagsServiceClient {
    * @param {string} backup
    * @returns {string} Resource name string.
    */
-  backupPath(project:string,backup:string) {
+  backupPath(project: string, backup: string) {
     return this.pathTemplates.backupPathTemplate.render({
       project: project,
       backup: backup,
@@ -554,7 +632,7 @@ export class SqlFlagsServiceClient {
    * @param {string} project
    * @returns {string} Resource name string.
    */
-  projectPath(project:string) {
+  projectPath(project: string) {
     return this.pathTemplates.projectPathTemplate.render({
       project: project,
     });
@@ -579,13 +657,15 @@ export class SqlFlagsServiceClient {
    */
   close(): Promise<void> {
     if (this.sqlFlagsServiceStub && !this._terminated) {
-      return this.sqlFlagsServiceStub.then(stub => {
+      return this.sqlFlagsServiceStub.then((stub) => {
         this._log.info('ending gRPC channel');
         this._terminated = true;
         stub.close();
-        this.locationsClient.close().catch(err => {throw err});
+        this.locationsClient.close().catch((err) => {
+          throw err;
+        });
       });
     }
     return Promise.resolve();
   }
-}
\ No newline at end of file
+}
diff --git a/packages/google-cloud-sql/src/v1beta4/sql_instances_service_client.ts b/packages/google-cloud-sql/src/v1beta4/sql_instances_service_client.ts
index dbfed12b86a9..a487606fd449 100644
--- a/packages/google-cloud-sql/src/v1beta4/sql_instances_service_client.ts
+++ b/packages/google-cloud-sql/src/v1beta4/sql_instances_service_client.ts
@@ -18,11 +18,18 @@
 
 /* global window */
 import type * as gax from 'google-gax';
-import type {Callback, CallOptions, Descriptors, ClientOptions, LocationsClient, LocationProtos} from 'google-gax';
+import type {
+  Callback,
+  CallOptions,
+  Descriptors,
+  ClientOptions,
+  LocationsClient,
+  LocationProtos,
+} from 'google-gax';
 
 import * as protos from '../../protos/protos';
 import jsonProtos = require('../../protos/protos.json');
-import {loggingUtils as logging, decodeAnyProtosInArray} from 'google-gax';
+import { loggingUtils as logging, decodeAnyProtosInArray } from 'google-gax';
 
 /**
  * Client JSON configuration object, loaded from
@@ -43,7 +50,7 @@ export class SqlInstancesServiceClient {
   private _gaxModule: typeof gax | typeof gax.fallback;
   private _gaxGrpc: gax.GrpcClient | gax.fallback.GrpcClient;
   private _protos: {};
-  private _defaults: {[method: string]: gax.CallSettings};
+  private _defaults: { [method: string]: gax.CallSettings };
   private _universeDomain: string;
   private _servicePath: string;
   private _log = logging.log('sql');
@@ -56,10 +63,10 @@ export class SqlInstancesServiceClient {
     batching: {},
   };
   warn: (code: string, message: string, warnType?: string) => void;
-  innerApiCalls: {[name: string]: Function};
+  innerApiCalls: { [name: string]: Function };
   locationsClient: LocationsClient;
-  pathTemplates: {[name: string]: gax.PathTemplate};
-  sqlInstancesServiceStub?: Promise<{[name: string]: Function}>;
+  pathTemplates: { [name: string]: gax.PathTemplate };
+  sqlInstancesServiceStub?: Promise<{ [name: string]: Function }>;
 
   /**
    * Construct an instance of SqlInstancesServiceClient.
@@ -100,21 +107,42 @@ export class SqlInstancesServiceClient {
    *     const client = new SqlInstancesServiceClient({fallback: true}, gax);
    *     ```
    */
-  constructor(opts?: ClientOptions, gaxInstance?: typeof gax | typeof gax.fallback) {
+  constructor(
+    opts?: ClientOptions,
+    gaxInstance?: typeof gax | typeof gax.fallback,
+  ) {
     // Ensure that options include all the required fields.
     const staticMembers = this.constructor as typeof SqlInstancesServiceClient;
-    if (opts?.universe_domain && opts?.universeDomain && opts?.universe_domain !== opts?.universeDomain) {
-      throw new Error('Please set either universe_domain or universeDomain, but not both.');
+    if (
+      opts?.universe_domain &&
+      opts?.universeDomain &&
+      opts?.universe_domain !== opts?.universeDomain
+    ) {
+      throw new Error(
+        'Please set either universe_domain or universeDomain, but not both.',
+      );
     }
-    const universeDomainEnvVar = (typeof process === 'object' && typeof process.env === 'object') ? process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] : undefined;
-    this._universeDomain = opts?.universeDomain ?? opts?.universe_domain ?? universeDomainEnvVar ?? 'googleapis.com';
+    const universeDomainEnvVar =
+      typeof process === 'object' && typeof process.env === 'object'
+        ? process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN']
+        : undefined;
+    this._universeDomain =
+      opts?.universeDomain ??
+      opts?.universe_domain ??
+      universeDomainEnvVar ??
+      'googleapis.com';
     this._servicePath = 'sqladmin.' + this._universeDomain;
-    const servicePath = opts?.servicePath || opts?.apiEndpoint || this._servicePath;
-    this._providedCustomServicePath = !!(opts?.servicePath || opts?.apiEndpoint);
+    const servicePath =
+      opts?.servicePath || opts?.apiEndpoint || this._servicePath;
+    this._providedCustomServicePath = !!(
+      opts?.servicePath || opts?.apiEndpoint
+    );
     const port = opts?.port || staticMembers.port;
     const clientConfig = opts?.clientConfig ?? {};
-    const fallback = opts?.fallback ?? (typeof window !== 'undefined' && typeof window?.fetch === 'function');
-    opts = Object.assign({servicePath, port, clientConfig, fallback}, opts);
+    const fallback =
+      opts?.fallback ??
+      (typeof window !== 'undefined' && typeof window?.fetch === 'function');
+    opts = Object.assign({ servicePath, port, clientConfig, fallback }, opts);
 
     // Request numeric enum values if REST transport is used.
     opts.numericEnums = true;
@@ -139,7 +167,7 @@ export class SqlInstancesServiceClient {
     this._opts = opts;
 
     // Save the auth object to the client, for use by other methods.
-    this.auth = (this._gaxGrpc.auth as gax.GoogleAuth);
+    this.auth = this._gaxGrpc.auth as gax.GoogleAuth;
 
     // Set useJWTAccessWithScope on the auth object.
     this.auth.useJWTAccessWithScope = true;
@@ -153,15 +181,11 @@ export class SqlInstancesServiceClient {
     }
     this.locationsClient = new this._gaxModule.LocationsClient(
       this._gaxGrpc,
-      opts
+      opts,
     );
-  
 
     // Determine the client header string.
-    const clientHeader = [
-      `gax/${this._gaxModule.version}`,
-      `gapic/${version}`,
-    ];
+    const clientHeader = [`gax/${this._gaxModule.version}`, `gapic/${version}`];
     if (typeof process === 'object' && 'versions' in process) {
       clientHeader.push(`gl-node/${process.versions.node}`);
     } else {
@@ -183,17 +207,20 @@ export class SqlInstancesServiceClient {
     // Create useful helper objects for these.
     this.pathTemplates = {
       backupPathTemplate: new this._gaxModule.PathTemplate(
-        'projects/{project}/backups/{backup}'
+        'projects/{project}/backups/{backup}',
       ),
       projectPathTemplate: new this._gaxModule.PathTemplate(
-        'projects/{project}'
+        'projects/{project}',
       ),
     };
 
     // Put together the default options sent with requests.
     this._defaults = this._gaxGrpc.constructSettings(
-        'google.cloud.sql.v1beta4.SqlInstancesService', gapicConfig as gax.ClientConfig,
-        opts.clientConfig || {}, {'x-goog-api-client': clientHeader.join(' ')});
+      'google.cloud.sql.v1beta4.SqlInstancesService',
+      gapicConfig as gax.ClientConfig,
+      opts.clientConfig || {},
+      { 'x-goog-api-client': clientHeader.join(' ') },
+    );
 
     // Set up a dictionary of "inner API calls"; the core implementation
     // of calling the API is handled in `google-gax`, with this code
@@ -224,36 +251,84 @@ export class SqlInstancesServiceClient {
     // Put together the "service stub" for
     // google.cloud.sql.v1beta4.SqlInstancesService.
     this.sqlInstancesServiceStub = this._gaxGrpc.createStub(
-        this._opts.fallback ?
-          (this._protos as protobuf.Root).lookupService('google.cloud.sql.v1beta4.SqlInstancesService') :
-          // eslint-disable-next-line @typescript-eslint/no-explicit-any
+      this._opts.fallback
+        ? (this._protos as protobuf.Root).lookupService(
+            'google.cloud.sql.v1beta4.SqlInstancesService',
+          )
+        : // eslint-disable-next-line @typescript-eslint/no-explicit-any
           (this._protos as any).google.cloud.sql.v1beta4.SqlInstancesService,
-        this._opts, this._providedCustomServicePath) as Promise<{[method: string]: Function}>;
+      this._opts,
+      this._providedCustomServicePath,
+    ) as Promise<{ [method: string]: Function }>;
 
     // Iterate over each of the methods that the service provides
     // and create an API call method for each.
-    const sqlInstancesServiceStubMethods =
-        ['addServerCa', 'addServerCertificate', 'addEntraIdCertificate', 'clone', 'delete', 'demoteMaster', 'demote', 'export', 'failover', 'reencrypt', 'get', 'import', 'insert', 'list', 'listServerCas', 'listServerCertificates', 'listEntraIdCertificates', 'patch', 'promoteReplica', 'switchover', 'resetSslConfig', 'restart', 'restoreBackup', 'rotateServerCa', 'rotateServerCertificate', 'rotateEntraIdCertificate', 'startReplica', 'stopReplica', 'truncateLog', 'update', 'createEphemeral', 'rescheduleMaintenance', 'verifyExternalSyncSettings', 'startExternalSync', 'performDiskShrink', 'getDiskShrinkConfig', 'resetReplicaSize', 'getLatestRecoveryTime', 'executeSql', 'acquireSsrsLease', 'releaseSsrsLease', 'preCheckMajorVersionUpgrade', 'pointInTimeRestore'];
+    const sqlInstancesServiceStubMethods = [
+      'addServerCa',
+      'addServerCertificate',
+      'addEntraIdCertificate',
+      'clone',
+      'delete',
+      'demoteMaster',
+      'demote',
+      'export',
+      'failover',
+      'reencrypt',
+      'get',
+      'import',
+      'insert',
+      'list',
+      'listServerCas',
+      'listServerCertificates',
+      'listEntraIdCertificates',
+      'patch',
+      'promoteReplica',
+      'switchover',
+      'resetSslConfig',
+      'restart',
+      'restoreBackup',
+      'rotateServerCa',
+      'rotateServerCertificate',
+      'rotateEntraIdCertificate',
+      'startReplica',
+      'stopReplica',
+      'truncateLog',
+      'update',
+      'createEphemeral',
+      'rescheduleMaintenance',
+      'verifyExternalSyncSettings',
+      'startExternalSync',
+      'performDiskShrink',
+      'getDiskShrinkConfig',
+      'resetReplicaSize',
+      'getLatestRecoveryTime',
+      'executeSql',
+      'acquireSsrsLease',
+      'releaseSsrsLease',
+      'preCheckMajorVersionUpgrade',
+      'pointInTimeRestore',
+    ];
     for (const methodName of sqlInstancesServiceStubMethods) {
       const callPromise = this.sqlInstancesServiceStub.then(
-        stub => (...args: Array<{}>) => {
-          if (this._terminated) {
-            return Promise.reject('The client has already been closed.');
-          }
-          const func = stub[methodName];
-          return func.apply(stub, args);
-        },
-        (err: Error|null|undefined) => () => {
+        (stub) =>
+          (...args: Array<{}>) => {
+            if (this._terminated) {
+              return Promise.reject('The client has already been closed.');
+            }
+            const func = stub[methodName];
+            return func.apply(stub, args);
+          },
+        (err: Error | null | undefined) => () => {
           throw err;
-        });
+        },
+      );
 
-      const descriptor =
-        undefined;
+      const descriptor = undefined;
       const apiCall = this._gaxModule.createApiCall(
         callPromise,
         this._defaults[methodName],
         descriptor,
-        this._opts.fallback
+        this._opts.fallback,
       );
 
       this.innerApiCalls[methodName] = apiCall;
@@ -268,8 +343,14 @@ export class SqlInstancesServiceClient {
    * @returns {string} The DNS address for this service.
    */
   static get servicePath() {
-    if (typeof process === 'object' && typeof process.emitWarning === 'function') {
-      process.emitWarning('Static servicePath is deprecated, please use the instance method instead.', 'DeprecationWarning');
+    if (
+      typeof process === 'object' &&
+      typeof process.emitWarning === 'function'
+    ) {
+      process.emitWarning(
+        'Static servicePath is deprecated, please use the instance method instead.',
+        'DeprecationWarning',
+      );
     }
     return 'sqladmin.googleapis.com';
   }
@@ -280,8 +361,14 @@ export class SqlInstancesServiceClient {
    * @returns {string} The DNS address for this service.
    */
   static get apiEndpoint() {
-    if (typeof process === 'object' && typeof process.emitWarning === 'function') {
-      process.emitWarning('Static apiEndpoint is deprecated, please use the instance method instead.', 'DeprecationWarning');
+    if (
+      typeof process === 'object' &&
+      typeof process.emitWarning === 'function'
+    ) {
+      process.emitWarning(
+        'Static apiEndpoint is deprecated, please use the instance method instead.',
+        'DeprecationWarning',
+      );
     }
     return 'sqladmin.googleapis.com';
   }
@@ -314,7 +401,7 @@ export class SqlInstancesServiceClient {
   static get scopes() {
     return [
       'https://www.googleapis.com/auth/cloud-platform',
-      'https://www.googleapis.com/auth/sqlservice.admin'
+      'https://www.googleapis.com/auth/sqlservice.admin',
     ];
   }
 
@@ -324,8 +411,9 @@ export class SqlInstancesServiceClient {
    * Return the project ID used by this class.
    * @returns {Promise} A promise that resolves to string containing the project ID.
    */
-  getProjectId(callback?: Callback<string, undefined, undefined>):
-      Promise<string>|void {
+  getProjectId(
+    callback?: Callback<string, undefined, undefined>,
+  ): Promise<string> | void {
     if (callback) {
       this.auth.getProjectId(callback);
       return;
@@ -336,4349 +424,6366 @@ export class SqlInstancesServiceClient {
   // -------------------
   // -- Service calls --
   // -------------------
-/**
- * Add a new trusted Certificate Authority (CA) version for the specified
- * instance. Required to prepare for a certificate rotation. If a CA version
- * was previously added but never used in a certificate rotation, this
- * operation replaces that version. There cannot be more than one CA version
- * waiting to be rotated in. For instances that have enabled Certificate
- * Authority Service (CAS) based server CA, use AddServerCertificate to add a
- * new server certificate.
- *
- * @param {Object} request
- *   The request object that will be sent.
- * @param {string} request.instance
- *   Cloud SQL instance ID. This does not include the project ID.
- * @param {string} request.project
- *   Project ID of the project that contains the instance.
- * @param {object} [options]
- *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
- * @returns {Promise} - The promise which resolves to an array.
- *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1beta4.Operation|Operation}.
- *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
- *   for more details and examples.
- * @example <caption>include:samples/generated/v1beta4/sql_instances_service.add_server_ca.js</caption>
- * region_tag:sqladmin_v1beta4_generated_SqlInstancesService_AddServerCa_async
- */
+  /**
+   * Add a new trusted Certificate Authority (CA) version for the specified
+   * instance. Required to prepare for a certificate rotation. If a CA version
+   * was previously added but never used in a certificate rotation, this
+   * operation replaces that version. There cannot be more than one CA version
+   * waiting to be rotated in. For instances that have enabled Certificate
+   * Authority Service (CAS) based server CA, use AddServerCertificate to add a
+   * new server certificate.
+   *
+   * @param {Object} request
+   *   The request object that will be sent.
+   * @param {string} request.instance
+   *   Cloud SQL instance ID. This does not include the project ID.
+   * @param {string} request.project
+   *   Project ID of the project that contains the instance.
+   * @param {object} [options]
+   *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+   * @returns {Promise} - The promise which resolves to an array.
+   *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1beta4.Operation|Operation}.
+   *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
+   *   for more details and examples.
+   * @example <caption>include:samples/generated/v1beta4/sql_instances_service.add_server_ca.js</caption>
+   * region_tag:sqladmin_v1beta4_generated_SqlInstancesService_AddServerCa_async
+   */
   addServerCa(
-      request?: protos.google.cloud.sql.v1beta4.ISqlInstancesAddServerCaRequest,
-      options?: CallOptions):
-      Promise<[
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesAddServerCaRequest|undefined, {}|undefined
-      ]>;
+    request?: protos.google.cloud.sql.v1beta4.ISqlInstancesAddServerCaRequest,
+    options?: CallOptions,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1beta4.IOperation,
+      (
+        | protos.google.cloud.sql.v1beta4.ISqlInstancesAddServerCaRequest
+        | undefined
+      ),
+      {} | undefined,
+    ]
+  >;
   addServerCa(
-      request: protos.google.cloud.sql.v1beta4.ISqlInstancesAddServerCaRequest,
-      options: CallOptions,
-      callback: Callback<
-          protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesAddServerCaRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1beta4.ISqlInstancesAddServerCaRequest,
+    options: CallOptions,
+    callback: Callback<
+      protos.google.cloud.sql.v1beta4.IOperation,
+      | protos.google.cloud.sql.v1beta4.ISqlInstancesAddServerCaRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   addServerCa(
-      request: protos.google.cloud.sql.v1beta4.ISqlInstancesAddServerCaRequest,
-      callback: Callback<
-          protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesAddServerCaRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1beta4.ISqlInstancesAddServerCaRequest,
+    callback: Callback<
+      protos.google.cloud.sql.v1beta4.IOperation,
+      | protos.google.cloud.sql.v1beta4.ISqlInstancesAddServerCaRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   addServerCa(
-      request?: protos.google.cloud.sql.v1beta4.ISqlInstancesAddServerCaRequest,
-      optionsOrCallback?: CallOptions|Callback<
-          protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesAddServerCaRequest|null|undefined,
-          {}|null|undefined>,
-      callback?: Callback<
+    request?: protos.google.cloud.sql.v1beta4.ISqlInstancesAddServerCaRequest,
+    optionsOrCallback?:
+      | CallOptions
+      | Callback<
           protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesAddServerCaRequest|null|undefined,
-          {}|null|undefined>):
-      Promise<[
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesAddServerCaRequest|undefined, {}|undefined
-      ]>|void {
+          | protos.google.cloud.sql.v1beta4.ISqlInstancesAddServerCaRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >,
+    callback?: Callback<
+      protos.google.cloud.sql.v1beta4.IOperation,
+      | protos.google.cloud.sql.v1beta4.ISqlInstancesAddServerCaRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1beta4.IOperation,
+      (
+        | protos.google.cloud.sql.v1beta4.ISqlInstancesAddServerCaRequest
+        | undefined
+      ),
+      {} | undefined,
+    ]
+  > | void {
     request = request || {};
     let options: CallOptions;
     if (typeof optionsOrCallback === 'function' && callback === undefined) {
       callback = optionsOrCallback;
       options = {};
-    }
-    else {
+    } else {
       options = optionsOrCallback as CallOptions;
     }
     options = options || {};
     options.otherArgs = options.otherArgs || {};
     options.otherArgs.headers = options.otherArgs.headers || {};
-    options.otherArgs.headers[
-      'x-goog-request-params'
-    ] = this._gaxModule.routingHeader.fromParams({
-      'project': request.project ?? '',
-      'instance': request.instance ?? '',
+    options.otherArgs.headers['x-goog-request-params'] =
+      this._gaxModule.routingHeader.fromParams({
+        project: request.project ?? '',
+        instance: request.instance ?? '',
+      });
+    this.initialize().catch((err) => {
+      throw err;
     });
-    this.initialize().catch(err => {throw err});
     this._log.info('addServerCa request %j', request);
-    const wrappedCallback: Callback<
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesAddServerCaRequest|null|undefined,
-        {}|null|undefined>|undefined = callback
+    const wrappedCallback:
+      | Callback<
+          protos.google.cloud.sql.v1beta4.IOperation,
+          | protos.google.cloud.sql.v1beta4.ISqlInstancesAddServerCaRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >
+      | undefined = callback
       ? (error, response, options, rawResponse) => {
           this._log.info('addServerCa response %j', response);
           callback!(error, response, options, rawResponse); // We verified callback above.
         }
       : undefined;
-    return this.innerApiCalls.addServerCa(request, options, wrappedCallback)
-      ?.then(([response, options, rawResponse]: [
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesAddServerCaRequest|undefined,
-        {}|undefined
-      ]) => {
-        this._log.info('addServerCa response %j', response);
-        return [response, options, rawResponse];
-      }).catch((error: any) => {
-        if (error && 'statusDetails' in error && error.statusDetails instanceof Array) {
-          const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type;
-          error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos);
+    return this.innerApiCalls
+      .addServerCa(request, options, wrappedCallback)
+      ?.then(
+        ([response, options, rawResponse]: [
+          protos.google.cloud.sql.v1beta4.IOperation,
+          (
+            | protos.google.cloud.sql.v1beta4.ISqlInstancesAddServerCaRequest
+            | undefined
+          ),
+          {} | undefined,
+        ]) => {
+          this._log.info('addServerCa response %j', response);
+          return [response, options, rawResponse];
+        },
+      )
+      .catch((error: any) => {
+        if (
+          error &&
+          'statusDetails' in error &&
+          error.statusDetails instanceof Array
+        ) {
+          const protos = this._gaxModule.protobuf.Root.fromJSON(
+            jsonProtos,
+          ) as unknown as gax.protobuf.Type;
+          error.statusDetails = decodeAnyProtosInArray(
+            error.statusDetails,
+            protos,
+          );
         }
         throw error;
       });
   }
-/**
- * Add a new trusted server certificate version for the specified instance
- * using Certificate Authority Service (CAS) server CA. Required to prepare
- * for a certificate rotation. If a server certificate version was previously
- * added but never used in a certificate rotation, this operation replaces
- * that version. There cannot be more than one certificate version waiting to
- * be rotated in. For instances not using CAS server CA, use AddServerCa
- * instead.
- *
- * @param {Object} request
- *   The request object that will be sent.
- * @param {string} request.instance
- *   Required. Cloud SQL instance ID. This does not include the project ID.
- * @param {string} request.project
- *   Required. Project ID of the project that contains the instance.
- * @param {object} [options]
- *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
- * @returns {Promise} - The promise which resolves to an array.
- *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1beta4.Operation|Operation}.
- *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
- *   for more details and examples.
- * @example <caption>include:samples/generated/v1beta4/sql_instances_service.add_server_certificate.js</caption>
- * region_tag:sqladmin_v1beta4_generated_SqlInstancesService_AddServerCertificate_async
- */
+  /**
+   * Add a new trusted server certificate version for the specified instance
+   * using Certificate Authority Service (CAS) server CA. Required to prepare
+   * for a certificate rotation. If a server certificate version was previously
+   * added but never used in a certificate rotation, this operation replaces
+   * that version. There cannot be more than one certificate version waiting to
+   * be rotated in. For instances not using CAS server CA, use AddServerCa
+   * instead.
+   *
+   * @param {Object} request
+   *   The request object that will be sent.
+   * @param {string} request.instance
+   *   Required. Cloud SQL instance ID. This does not include the project ID.
+   * @param {string} request.project
+   *   Required. Project ID of the project that contains the instance.
+   * @param {object} [options]
+   *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+   * @returns {Promise} - The promise which resolves to an array.
+   *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1beta4.Operation|Operation}.
+   *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
+   *   for more details and examples.
+   * @example <caption>include:samples/generated/v1beta4/sql_instances_service.add_server_certificate.js</caption>
+   * region_tag:sqladmin_v1beta4_generated_SqlInstancesService_AddServerCertificate_async
+   */
   addServerCertificate(
-      request?: protos.google.cloud.sql.v1beta4.ISqlInstancesAddServerCertificateRequest,
-      options?: CallOptions):
-      Promise<[
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesAddServerCertificateRequest|undefined, {}|undefined
-      ]>;
+    request?: protos.google.cloud.sql.v1beta4.ISqlInstancesAddServerCertificateRequest,
+    options?: CallOptions,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1beta4.IOperation,
+      (
+        | protos.google.cloud.sql.v1beta4.ISqlInstancesAddServerCertificateRequest
+        | undefined
+      ),
+      {} | undefined,
+    ]
+  >;
   addServerCertificate(
-      request: protos.google.cloud.sql.v1beta4.ISqlInstancesAddServerCertificateRequest,
-      options: CallOptions,
-      callback: Callback<
-          protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesAddServerCertificateRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1beta4.ISqlInstancesAddServerCertificateRequest,
+    options: CallOptions,
+    callback: Callback<
+      protos.google.cloud.sql.v1beta4.IOperation,
+      | protos.google.cloud.sql.v1beta4.ISqlInstancesAddServerCertificateRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   addServerCertificate(
-      request: protos.google.cloud.sql.v1beta4.ISqlInstancesAddServerCertificateRequest,
-      callback: Callback<
-          protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesAddServerCertificateRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1beta4.ISqlInstancesAddServerCertificateRequest,
+    callback: Callback<
+      protos.google.cloud.sql.v1beta4.IOperation,
+      | protos.google.cloud.sql.v1beta4.ISqlInstancesAddServerCertificateRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   addServerCertificate(
-      request?: protos.google.cloud.sql.v1beta4.ISqlInstancesAddServerCertificateRequest,
-      optionsOrCallback?: CallOptions|Callback<
-          protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesAddServerCertificateRequest|null|undefined,
-          {}|null|undefined>,
-      callback?: Callback<
+    request?: protos.google.cloud.sql.v1beta4.ISqlInstancesAddServerCertificateRequest,
+    optionsOrCallback?:
+      | CallOptions
+      | Callback<
           protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesAddServerCertificateRequest|null|undefined,
-          {}|null|undefined>):
-      Promise<[
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesAddServerCertificateRequest|undefined, {}|undefined
-      ]>|void {
+          | protos.google.cloud.sql.v1beta4.ISqlInstancesAddServerCertificateRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >,
+    callback?: Callback<
+      protos.google.cloud.sql.v1beta4.IOperation,
+      | protos.google.cloud.sql.v1beta4.ISqlInstancesAddServerCertificateRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1beta4.IOperation,
+      (
+        | protos.google.cloud.sql.v1beta4.ISqlInstancesAddServerCertificateRequest
+        | undefined
+      ),
+      {} | undefined,
+    ]
+  > | void {
     request = request || {};
     let options: CallOptions;
     if (typeof optionsOrCallback === 'function' && callback === undefined) {
       callback = optionsOrCallback;
       options = {};
-    }
-    else {
+    } else {
       options = optionsOrCallback as CallOptions;
     }
     options = options || {};
     options.otherArgs = options.otherArgs || {};
     options.otherArgs.headers = options.otherArgs.headers || {};
-    options.otherArgs.headers[
-      'x-goog-request-params'
-    ] = this._gaxModule.routingHeader.fromParams({
-      'project': request.project ?? '',
-      'instance': request.instance ?? '',
+    options.otherArgs.headers['x-goog-request-params'] =
+      this._gaxModule.routingHeader.fromParams({
+        project: request.project ?? '',
+        instance: request.instance ?? '',
+      });
+    this.initialize().catch((err) => {
+      throw err;
     });
-    this.initialize().catch(err => {throw err});
     this._log.info('addServerCertificate request %j', request);
-    const wrappedCallback: Callback<
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesAddServerCertificateRequest|null|undefined,
-        {}|null|undefined>|undefined = callback
+    const wrappedCallback:
+      | Callback<
+          protos.google.cloud.sql.v1beta4.IOperation,
+          | protos.google.cloud.sql.v1beta4.ISqlInstancesAddServerCertificateRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >
+      | undefined = callback
       ? (error, response, options, rawResponse) => {
           this._log.info('addServerCertificate response %j', response);
           callback!(error, response, options, rawResponse); // We verified callback above.
         }
       : undefined;
-    return this.innerApiCalls.addServerCertificate(request, options, wrappedCallback)
-      ?.then(([response, options, rawResponse]: [
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesAddServerCertificateRequest|undefined,
-        {}|undefined
-      ]) => {
-        this._log.info('addServerCertificate response %j', response);
-        return [response, options, rawResponse];
-      }).catch((error: any) => {
-        if (error && 'statusDetails' in error && error.statusDetails instanceof Array) {
-          const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type;
-          error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos);
+    return this.innerApiCalls
+      .addServerCertificate(request, options, wrappedCallback)
+      ?.then(
+        ([response, options, rawResponse]: [
+          protos.google.cloud.sql.v1beta4.IOperation,
+          (
+            | protos.google.cloud.sql.v1beta4.ISqlInstancesAddServerCertificateRequest
+            | undefined
+          ),
+          {} | undefined,
+        ]) => {
+          this._log.info('addServerCertificate response %j', response);
+          return [response, options, rawResponse];
+        },
+      )
+      .catch((error: any) => {
+        if (
+          error &&
+          'statusDetails' in error &&
+          error.statusDetails instanceof Array
+        ) {
+          const protos = this._gaxModule.protobuf.Root.fromJSON(
+            jsonProtos,
+          ) as unknown as gax.protobuf.Type;
+          error.statusDetails = decodeAnyProtosInArray(
+            error.statusDetails,
+            protos,
+          );
         }
         throw error;
       });
   }
-/**
- * Adds a new Entra ID certificate for the specified instance. If an Entra ID
- * certificate was previously added but never used in a certificate rotation,
- * this operation replaces that version.
- *
- * @param {Object} request
- *   The request object that will be sent.
- * @param {string} request.instance
- *   Required. Cloud SQL instance ID. This does not include the project ID.
- * @param {string} request.project
- *   Required. Project ID of the project that contains the instance.
- * @param {object} [options]
- *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
- * @returns {Promise} - The promise which resolves to an array.
- *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1beta4.Operation|Operation}.
- *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
- *   for more details and examples.
- * @example <caption>include:samples/generated/v1beta4/sql_instances_service.add_entra_id_certificate.js</caption>
- * region_tag:sqladmin_v1beta4_generated_SqlInstancesService_AddEntraIdCertificate_async
- */
+  /**
+   * Adds a new Entra ID certificate for the specified instance. If an Entra ID
+   * certificate was previously added but never used in a certificate rotation,
+   * this operation replaces that version.
+   *
+   * @param {Object} request
+   *   The request object that will be sent.
+   * @param {string} request.instance
+   *   Required. Cloud SQL instance ID. This does not include the project ID.
+   * @param {string} request.project
+   *   Required. Project ID of the project that contains the instance.
+   * @param {object} [options]
+   *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+   * @returns {Promise} - The promise which resolves to an array.
+   *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1beta4.Operation|Operation}.
+   *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
+   *   for more details and examples.
+   * @example <caption>include:samples/generated/v1beta4/sql_instances_service.add_entra_id_certificate.js</caption>
+   * region_tag:sqladmin_v1beta4_generated_SqlInstancesService_AddEntraIdCertificate_async
+   */
   addEntraIdCertificate(
-      request?: protos.google.cloud.sql.v1beta4.ISqlInstancesAddEntraIdCertificateRequest,
-      options?: CallOptions):
-      Promise<[
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesAddEntraIdCertificateRequest|undefined, {}|undefined
-      ]>;
+    request?: protos.google.cloud.sql.v1beta4.ISqlInstancesAddEntraIdCertificateRequest,
+    options?: CallOptions,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1beta4.IOperation,
+      (
+        | protos.google.cloud.sql.v1beta4.ISqlInstancesAddEntraIdCertificateRequest
+        | undefined
+      ),
+      {} | undefined,
+    ]
+  >;
   addEntraIdCertificate(
-      request: protos.google.cloud.sql.v1beta4.ISqlInstancesAddEntraIdCertificateRequest,
-      options: CallOptions,
-      callback: Callback<
-          protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesAddEntraIdCertificateRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1beta4.ISqlInstancesAddEntraIdCertificateRequest,
+    options: CallOptions,
+    callback: Callback<
+      protos.google.cloud.sql.v1beta4.IOperation,
+      | protos.google.cloud.sql.v1beta4.ISqlInstancesAddEntraIdCertificateRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   addEntraIdCertificate(
-      request: protos.google.cloud.sql.v1beta4.ISqlInstancesAddEntraIdCertificateRequest,
-      callback: Callback<
-          protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesAddEntraIdCertificateRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1beta4.ISqlInstancesAddEntraIdCertificateRequest,
+    callback: Callback<
+      protos.google.cloud.sql.v1beta4.IOperation,
+      | protos.google.cloud.sql.v1beta4.ISqlInstancesAddEntraIdCertificateRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   addEntraIdCertificate(
-      request?: protos.google.cloud.sql.v1beta4.ISqlInstancesAddEntraIdCertificateRequest,
-      optionsOrCallback?: CallOptions|Callback<
-          protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesAddEntraIdCertificateRequest|null|undefined,
-          {}|null|undefined>,
-      callback?: Callback<
+    request?: protos.google.cloud.sql.v1beta4.ISqlInstancesAddEntraIdCertificateRequest,
+    optionsOrCallback?:
+      | CallOptions
+      | Callback<
           protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesAddEntraIdCertificateRequest|null|undefined,
-          {}|null|undefined>):
-      Promise<[
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesAddEntraIdCertificateRequest|undefined, {}|undefined
-      ]>|void {
+          | protos.google.cloud.sql.v1beta4.ISqlInstancesAddEntraIdCertificateRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >,
+    callback?: Callback<
+      protos.google.cloud.sql.v1beta4.IOperation,
+      | protos.google.cloud.sql.v1beta4.ISqlInstancesAddEntraIdCertificateRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1beta4.IOperation,
+      (
+        | protos.google.cloud.sql.v1beta4.ISqlInstancesAddEntraIdCertificateRequest
+        | undefined
+      ),
+      {} | undefined,
+    ]
+  > | void {
     request = request || {};
     let options: CallOptions;
     if (typeof optionsOrCallback === 'function' && callback === undefined) {
       callback = optionsOrCallback;
       options = {};
-    }
-    else {
+    } else {
       options = optionsOrCallback as CallOptions;
     }
     options = options || {};
     options.otherArgs = options.otherArgs || {};
     options.otherArgs.headers = options.otherArgs.headers || {};
-    options.otherArgs.headers[
-      'x-goog-request-params'
-    ] = this._gaxModule.routingHeader.fromParams({
-      'project': request.project ?? '',
-      'instance': request.instance ?? '',
+    options.otherArgs.headers['x-goog-request-params'] =
+      this._gaxModule.routingHeader.fromParams({
+        project: request.project ?? '',
+        instance: request.instance ?? '',
+      });
+    this.initialize().catch((err) => {
+      throw err;
     });
-    this.initialize().catch(err => {throw err});
     this._log.info('addEntraIdCertificate request %j', request);
-    const wrappedCallback: Callback<
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesAddEntraIdCertificateRequest|null|undefined,
-        {}|null|undefined>|undefined = callback
+    const wrappedCallback:
+      | Callback<
+          protos.google.cloud.sql.v1beta4.IOperation,
+          | protos.google.cloud.sql.v1beta4.ISqlInstancesAddEntraIdCertificateRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >
+      | undefined = callback
       ? (error, response, options, rawResponse) => {
           this._log.info('addEntraIdCertificate response %j', response);
           callback!(error, response, options, rawResponse); // We verified callback above.
         }
       : undefined;
-    return this.innerApiCalls.addEntraIdCertificate(request, options, wrappedCallback)
-      ?.then(([response, options, rawResponse]: [
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesAddEntraIdCertificateRequest|undefined,
-        {}|undefined
-      ]) => {
-        this._log.info('addEntraIdCertificate response %j', response);
-        return [response, options, rawResponse];
-      }).catch((error: any) => {
-        if (error && 'statusDetails' in error && error.statusDetails instanceof Array) {
-          const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type;
-          error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos);
+    return this.innerApiCalls
+      .addEntraIdCertificate(request, options, wrappedCallback)
+      ?.then(
+        ([response, options, rawResponse]: [
+          protos.google.cloud.sql.v1beta4.IOperation,
+          (
+            | protos.google.cloud.sql.v1beta4.ISqlInstancesAddEntraIdCertificateRequest
+            | undefined
+          ),
+          {} | undefined,
+        ]) => {
+          this._log.info('addEntraIdCertificate response %j', response);
+          return [response, options, rawResponse];
+        },
+      )
+      .catch((error: any) => {
+        if (
+          error &&
+          'statusDetails' in error &&
+          error.statusDetails instanceof Array
+        ) {
+          const protos = this._gaxModule.protobuf.Root.fromJSON(
+            jsonProtos,
+          ) as unknown as gax.protobuf.Type;
+          error.statusDetails = decodeAnyProtosInArray(
+            error.statusDetails,
+            protos,
+          );
         }
         throw error;
       });
   }
-/**
- * Creates a Cloud SQL instance as a clone of the source instance. Using this
- * operation might cause your instance to restart.
- *
- * @param {Object} request
- *   The request object that will be sent.
- * @param {string} request.instance
- *   The ID of the Cloud SQL instance to be cloned (source). This does not
- *   include the project ID.
- * @param {string} request.project
- *   Project ID of the source as well as the clone Cloud SQL instance.
- * @param {google.cloud.sql.v1beta4.InstancesCloneRequest} request.body
- * @param {object} [options]
- *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
- * @returns {Promise} - The promise which resolves to an array.
- *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1beta4.Operation|Operation}.
- *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
- *   for more details and examples.
- * @example <caption>include:samples/generated/v1beta4/sql_instances_service.clone.js</caption>
- * region_tag:sqladmin_v1beta4_generated_SqlInstancesService_Clone_async
- */
+  /**
+   * Creates a Cloud SQL instance as a clone of the source instance. Using this
+   * operation might cause your instance to restart.
+   *
+   * @param {Object} request
+   *   The request object that will be sent.
+   * @param {string} request.instance
+   *   The ID of the Cloud SQL instance to be cloned (source). This does not
+   *   include the project ID.
+   * @param {string} request.project
+   *   Project ID of the source as well as the clone Cloud SQL instance.
+   * @param {google.cloud.sql.v1beta4.InstancesCloneRequest} request.body
+   * @param {object} [options]
+   *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+   * @returns {Promise} - The promise which resolves to an array.
+   *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1beta4.Operation|Operation}.
+   *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
+   *   for more details and examples.
+   * @example <caption>include:samples/generated/v1beta4/sql_instances_service.clone.js</caption>
+   * region_tag:sqladmin_v1beta4_generated_SqlInstancesService_Clone_async
+   */
   clone(
-      request?: protos.google.cloud.sql.v1beta4.ISqlInstancesCloneRequest,
-      options?: CallOptions):
-      Promise<[
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesCloneRequest|undefined, {}|undefined
-      ]>;
+    request?: protos.google.cloud.sql.v1beta4.ISqlInstancesCloneRequest,
+    options?: CallOptions,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1beta4.IOperation,
+      protos.google.cloud.sql.v1beta4.ISqlInstancesCloneRequest | undefined,
+      {} | undefined,
+    ]
+  >;
   clone(
-      request: protos.google.cloud.sql.v1beta4.ISqlInstancesCloneRequest,
-      options: CallOptions,
-      callback: Callback<
-          protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesCloneRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1beta4.ISqlInstancesCloneRequest,
+    options: CallOptions,
+    callback: Callback<
+      protos.google.cloud.sql.v1beta4.IOperation,
+      | protos.google.cloud.sql.v1beta4.ISqlInstancesCloneRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   clone(
-      request: protos.google.cloud.sql.v1beta4.ISqlInstancesCloneRequest,
-      callback: Callback<
-          protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesCloneRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1beta4.ISqlInstancesCloneRequest,
+    callback: Callback<
+      protos.google.cloud.sql.v1beta4.IOperation,
+      | protos.google.cloud.sql.v1beta4.ISqlInstancesCloneRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   clone(
-      request?: protos.google.cloud.sql.v1beta4.ISqlInstancesCloneRequest,
-      optionsOrCallback?: CallOptions|Callback<
-          protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesCloneRequest|null|undefined,
-          {}|null|undefined>,
-      callback?: Callback<
+    request?: protos.google.cloud.sql.v1beta4.ISqlInstancesCloneRequest,
+    optionsOrCallback?:
+      | CallOptions
+      | Callback<
           protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesCloneRequest|null|undefined,
-          {}|null|undefined>):
-      Promise<[
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesCloneRequest|undefined, {}|undefined
-      ]>|void {
+          | protos.google.cloud.sql.v1beta4.ISqlInstancesCloneRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >,
+    callback?: Callback<
+      protos.google.cloud.sql.v1beta4.IOperation,
+      | protos.google.cloud.sql.v1beta4.ISqlInstancesCloneRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1beta4.IOperation,
+      protos.google.cloud.sql.v1beta4.ISqlInstancesCloneRequest | undefined,
+      {} | undefined,
+    ]
+  > | void {
     request = request || {};
     let options: CallOptions;
     if (typeof optionsOrCallback === 'function' && callback === undefined) {
       callback = optionsOrCallback;
       options = {};
-    }
-    else {
+    } else {
       options = optionsOrCallback as CallOptions;
     }
     options = options || {};
     options.otherArgs = options.otherArgs || {};
     options.otherArgs.headers = options.otherArgs.headers || {};
-    options.otherArgs.headers[
-      'x-goog-request-params'
-    ] = this._gaxModule.routingHeader.fromParams({
-      'project': request.project ?? '',
-      'instance': request.instance ?? '',
+    options.otherArgs.headers['x-goog-request-params'] =
+      this._gaxModule.routingHeader.fromParams({
+        project: request.project ?? '',
+        instance: request.instance ?? '',
+      });
+    this.initialize().catch((err) => {
+      throw err;
     });
-    this.initialize().catch(err => {throw err});
     this._log.info('clone request %j', request);
-    const wrappedCallback: Callback<
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesCloneRequest|null|undefined,
-        {}|null|undefined>|undefined = callback
+    const wrappedCallback:
+      | Callback<
+          protos.google.cloud.sql.v1beta4.IOperation,
+          | protos.google.cloud.sql.v1beta4.ISqlInstancesCloneRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >
+      | undefined = callback
       ? (error, response, options, rawResponse) => {
           this._log.info('clone response %j', response);
           callback!(error, response, options, rawResponse); // We verified callback above.
         }
       : undefined;
-    return this.innerApiCalls.clone(request, options, wrappedCallback)
-      ?.then(([response, options, rawResponse]: [
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesCloneRequest|undefined,
-        {}|undefined
-      ]) => {
-        this._log.info('clone response %j', response);
-        return [response, options, rawResponse];
-      }).catch((error: any) => {
-        if (error && 'statusDetails' in error && error.statusDetails instanceof Array) {
-          const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type;
-          error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos);
+    return this.innerApiCalls
+      .clone(request, options, wrappedCallback)
+      ?.then(
+        ([response, options, rawResponse]: [
+          protos.google.cloud.sql.v1beta4.IOperation,
+          protos.google.cloud.sql.v1beta4.ISqlInstancesCloneRequest | undefined,
+          {} | undefined,
+        ]) => {
+          this._log.info('clone response %j', response);
+          return [response, options, rawResponse];
+        },
+      )
+      .catch((error: any) => {
+        if (
+          error &&
+          'statusDetails' in error &&
+          error.statusDetails instanceof Array
+        ) {
+          const protos = this._gaxModule.protobuf.Root.fromJSON(
+            jsonProtos,
+          ) as unknown as gax.protobuf.Type;
+          error.statusDetails = decodeAnyProtosInArray(
+            error.statusDetails,
+            protos,
+          );
         }
         throw error;
       });
   }
-/**
- * Deletes a Cloud SQL instance.
- *
- * @param {Object} request
- *   The request object that will be sent.
- * @param {string} request.instance
- *   Cloud SQL instance ID. This does not include the project ID.
- * @param {string} request.project
- *   Project ID of the project that contains the instance to be deleted.
- * @param {boolean} request.enableFinalBackup
- *   Flag to opt-in for final backup. By default, it is turned off.
- * @param {number} [request.finalBackupTtlDays]
- *   Optional. Retention period of the final backup.
- * @param {google.protobuf.Timestamp} [request.finalBackupExpiryTime]
- *   Optional. Final Backup expiration time.
- *   Timestamp in UTC of when this resource is considered expired.
- * @param {string} [request.finalBackupDescription]
- *   Optional. The description of the final backup.
- * @param {object} [options]
- *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
- * @returns {Promise} - The promise which resolves to an array.
- *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1beta4.Operation|Operation}.
- *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
- *   for more details and examples.
- * @example <caption>include:samples/generated/v1beta4/sql_instances_service.delete.js</caption>
- * region_tag:sqladmin_v1beta4_generated_SqlInstancesService_Delete_async
- */
+  /**
+   * Deletes a Cloud SQL instance.
+   *
+   * @param {Object} request
+   *   The request object that will be sent.
+   * @param {string} request.instance
+   *   Cloud SQL instance ID. This does not include the project ID.
+   * @param {string} request.project
+   *   Project ID of the project that contains the instance to be deleted.
+   * @param {boolean} request.enableFinalBackup
+   *   Flag to opt-in for final backup. By default, it is turned off.
+   * @param {number} [request.finalBackupTtlDays]
+   *   Optional. Retention period of the final backup.
+   * @param {google.protobuf.Timestamp} [request.finalBackupExpiryTime]
+   *   Optional. Final Backup expiration time.
+   *   Timestamp in UTC of when this resource is considered expired.
+   * @param {string} [request.finalBackupDescription]
+   *   Optional. The description of the final backup.
+   * @param {object} [options]
+   *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+   * @returns {Promise} - The promise which resolves to an array.
+   *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1beta4.Operation|Operation}.
+   *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
+   *   for more details and examples.
+   * @example <caption>include:samples/generated/v1beta4/sql_instances_service.delete.js</caption>
+   * region_tag:sqladmin_v1beta4_generated_SqlInstancesService_Delete_async
+   */
   delete(
-      request?: protos.google.cloud.sql.v1beta4.ISqlInstancesDeleteRequest,
-      options?: CallOptions):
-      Promise<[
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesDeleteRequest|undefined, {}|undefined
-      ]>;
+    request?: protos.google.cloud.sql.v1beta4.ISqlInstancesDeleteRequest,
+    options?: CallOptions,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1beta4.IOperation,
+      protos.google.cloud.sql.v1beta4.ISqlInstancesDeleteRequest | undefined,
+      {} | undefined,
+    ]
+  >;
   delete(
-      request: protos.google.cloud.sql.v1beta4.ISqlInstancesDeleteRequest,
-      options: CallOptions,
-      callback: Callback<
-          protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesDeleteRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1beta4.ISqlInstancesDeleteRequest,
+    options: CallOptions,
+    callback: Callback<
+      protos.google.cloud.sql.v1beta4.IOperation,
+      | protos.google.cloud.sql.v1beta4.ISqlInstancesDeleteRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   delete(
-      request: protos.google.cloud.sql.v1beta4.ISqlInstancesDeleteRequest,
-      callback: Callback<
-          protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesDeleteRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1beta4.ISqlInstancesDeleteRequest,
+    callback: Callback<
+      protos.google.cloud.sql.v1beta4.IOperation,
+      | protos.google.cloud.sql.v1beta4.ISqlInstancesDeleteRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   delete(
-      request?: protos.google.cloud.sql.v1beta4.ISqlInstancesDeleteRequest,
-      optionsOrCallback?: CallOptions|Callback<
-          protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesDeleteRequest|null|undefined,
-          {}|null|undefined>,
-      callback?: Callback<
+    request?: protos.google.cloud.sql.v1beta4.ISqlInstancesDeleteRequest,
+    optionsOrCallback?:
+      | CallOptions
+      | Callback<
           protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesDeleteRequest|null|undefined,
-          {}|null|undefined>):
-      Promise<[
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesDeleteRequest|undefined, {}|undefined
-      ]>|void {
+          | protos.google.cloud.sql.v1beta4.ISqlInstancesDeleteRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >,
+    callback?: Callback<
+      protos.google.cloud.sql.v1beta4.IOperation,
+      | protos.google.cloud.sql.v1beta4.ISqlInstancesDeleteRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1beta4.IOperation,
+      protos.google.cloud.sql.v1beta4.ISqlInstancesDeleteRequest | undefined,
+      {} | undefined,
+    ]
+  > | void {
     request = request || {};
     let options: CallOptions;
     if (typeof optionsOrCallback === 'function' && callback === undefined) {
       callback = optionsOrCallback;
       options = {};
-    }
-    else {
+    } else {
       options = optionsOrCallback as CallOptions;
     }
     options = options || {};
     options.otherArgs = options.otherArgs || {};
     options.otherArgs.headers = options.otherArgs.headers || {};
-    options.otherArgs.headers[
-      'x-goog-request-params'
-    ] = this._gaxModule.routingHeader.fromParams({
-      'project': request.project ?? '',
-      'instance': request.instance ?? '',
+    options.otherArgs.headers['x-goog-request-params'] =
+      this._gaxModule.routingHeader.fromParams({
+        project: request.project ?? '',
+        instance: request.instance ?? '',
+      });
+    this.initialize().catch((err) => {
+      throw err;
     });
-    this.initialize().catch(err => {throw err});
     this._log.info('delete request %j', request);
-    const wrappedCallback: Callback<
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesDeleteRequest|null|undefined,
-        {}|null|undefined>|undefined = callback
+    const wrappedCallback:
+      | Callback<
+          protos.google.cloud.sql.v1beta4.IOperation,
+          | protos.google.cloud.sql.v1beta4.ISqlInstancesDeleteRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >
+      | undefined = callback
       ? (error, response, options, rawResponse) => {
           this._log.info('delete response %j', response);
           callback!(error, response, options, rawResponse); // We verified callback above.
         }
       : undefined;
-    return this.innerApiCalls.delete(request, options, wrappedCallback)
-      ?.then(([response, options, rawResponse]: [
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesDeleteRequest|undefined,
-        {}|undefined
-      ]) => {
-        this._log.info('delete response %j', response);
-        return [response, options, rawResponse];
-      }).catch((error: any) => {
-        if (error && 'statusDetails' in error && error.statusDetails instanceof Array) {
-          const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type;
-          error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos);
+    return this.innerApiCalls
+      .delete(request, options, wrappedCallback)
+      ?.then(
+        ([response, options, rawResponse]: [
+          protos.google.cloud.sql.v1beta4.IOperation,
+          (
+            | protos.google.cloud.sql.v1beta4.ISqlInstancesDeleteRequest
+            | undefined
+          ),
+          {} | undefined,
+        ]) => {
+          this._log.info('delete response %j', response);
+          return [response, options, rawResponse];
+        },
+      )
+      .catch((error: any) => {
+        if (
+          error &&
+          'statusDetails' in error &&
+          error.statusDetails instanceof Array
+        ) {
+          const protos = this._gaxModule.protobuf.Root.fromJSON(
+            jsonProtos,
+          ) as unknown as gax.protobuf.Type;
+          error.statusDetails = decodeAnyProtosInArray(
+            error.statusDetails,
+            protos,
+          );
         }
         throw error;
       });
   }
-/**
- * Demotes the stand-alone instance to be a Cloud SQL read replica for an
- * external database server.
- *
- * @param {Object} request
- *   The request object that will be sent.
- * @param {string} request.instance
- *   Cloud SQL instance name.
- * @param {string} request.project
- *   ID of the project that contains the instance.
- * @param {google.cloud.sql.v1beta4.InstancesDemoteMasterRequest} request.body
- * @param {object} [options]
- *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
- * @returns {Promise} - The promise which resolves to an array.
- *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1beta4.Operation|Operation}.
- *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
- *   for more details and examples.
- * @example <caption>include:samples/generated/v1beta4/sql_instances_service.demote_master.js</caption>
- * region_tag:sqladmin_v1beta4_generated_SqlInstancesService_DemoteMaster_async
- */
+  /**
+   * Demotes the stand-alone instance to be a Cloud SQL read replica for an
+   * external database server.
+   *
+   * @param {Object} request
+   *   The request object that will be sent.
+   * @param {string} request.instance
+   *   Cloud SQL instance name.
+   * @param {string} request.project
+   *   ID of the project that contains the instance.
+   * @param {google.cloud.sql.v1beta4.InstancesDemoteMasterRequest} request.body
+   * @param {object} [options]
+   *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+   * @returns {Promise} - The promise which resolves to an array.
+   *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1beta4.Operation|Operation}.
+   *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
+   *   for more details and examples.
+   * @example <caption>include:samples/generated/v1beta4/sql_instances_service.demote_master.js</caption>
+   * region_tag:sqladmin_v1beta4_generated_SqlInstancesService_DemoteMaster_async
+   */
   demoteMaster(
-      request?: protos.google.cloud.sql.v1beta4.ISqlInstancesDemoteMasterRequest,
-      options?: CallOptions):
-      Promise<[
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesDemoteMasterRequest|undefined, {}|undefined
-      ]>;
+    request?: protos.google.cloud.sql.v1beta4.ISqlInstancesDemoteMasterRequest,
+    options?: CallOptions,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1beta4.IOperation,
+      (
+        | protos.google.cloud.sql.v1beta4.ISqlInstancesDemoteMasterRequest
+        | undefined
+      ),
+      {} | undefined,
+    ]
+  >;
   demoteMaster(
-      request: protos.google.cloud.sql.v1beta4.ISqlInstancesDemoteMasterRequest,
-      options: CallOptions,
-      callback: Callback<
-          protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesDemoteMasterRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1beta4.ISqlInstancesDemoteMasterRequest,
+    options: CallOptions,
+    callback: Callback<
+      protos.google.cloud.sql.v1beta4.IOperation,
+      | protos.google.cloud.sql.v1beta4.ISqlInstancesDemoteMasterRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   demoteMaster(
-      request: protos.google.cloud.sql.v1beta4.ISqlInstancesDemoteMasterRequest,
-      callback: Callback<
-          protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesDemoteMasterRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1beta4.ISqlInstancesDemoteMasterRequest,
+    callback: Callback<
+      protos.google.cloud.sql.v1beta4.IOperation,
+      | protos.google.cloud.sql.v1beta4.ISqlInstancesDemoteMasterRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   demoteMaster(
-      request?: protos.google.cloud.sql.v1beta4.ISqlInstancesDemoteMasterRequest,
-      optionsOrCallback?: CallOptions|Callback<
-          protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesDemoteMasterRequest|null|undefined,
-          {}|null|undefined>,
-      callback?: Callback<
+    request?: protos.google.cloud.sql.v1beta4.ISqlInstancesDemoteMasterRequest,
+    optionsOrCallback?:
+      | CallOptions
+      | Callback<
           protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesDemoteMasterRequest|null|undefined,
-          {}|null|undefined>):
-      Promise<[
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesDemoteMasterRequest|undefined, {}|undefined
-      ]>|void {
+          | protos.google.cloud.sql.v1beta4.ISqlInstancesDemoteMasterRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >,
+    callback?: Callback<
+      protos.google.cloud.sql.v1beta4.IOperation,
+      | protos.google.cloud.sql.v1beta4.ISqlInstancesDemoteMasterRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1beta4.IOperation,
+      (
+        | protos.google.cloud.sql.v1beta4.ISqlInstancesDemoteMasterRequest
+        | undefined
+      ),
+      {} | undefined,
+    ]
+  > | void {
     request = request || {};
     let options: CallOptions;
     if (typeof optionsOrCallback === 'function' && callback === undefined) {
       callback = optionsOrCallback;
       options = {};
-    }
-    else {
+    } else {
       options = optionsOrCallback as CallOptions;
     }
     options = options || {};
     options.otherArgs = options.otherArgs || {};
     options.otherArgs.headers = options.otherArgs.headers || {};
-    options.otherArgs.headers[
-      'x-goog-request-params'
-    ] = this._gaxModule.routingHeader.fromParams({
-      'project': request.project ?? '',
-      'instance': request.instance ?? '',
+    options.otherArgs.headers['x-goog-request-params'] =
+      this._gaxModule.routingHeader.fromParams({
+        project: request.project ?? '',
+        instance: request.instance ?? '',
+      });
+    this.initialize().catch((err) => {
+      throw err;
     });
-    this.initialize().catch(err => {throw err});
     this._log.info('demoteMaster request %j', request);
-    const wrappedCallback: Callback<
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesDemoteMasterRequest|null|undefined,
-        {}|null|undefined>|undefined = callback
+    const wrappedCallback:
+      | Callback<
+          protos.google.cloud.sql.v1beta4.IOperation,
+          | protos.google.cloud.sql.v1beta4.ISqlInstancesDemoteMasterRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >
+      | undefined = callback
       ? (error, response, options, rawResponse) => {
           this._log.info('demoteMaster response %j', response);
           callback!(error, response, options, rawResponse); // We verified callback above.
         }
       : undefined;
-    return this.innerApiCalls.demoteMaster(request, options, wrappedCallback)
-      ?.then(([response, options, rawResponse]: [
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesDemoteMasterRequest|undefined,
-        {}|undefined
-      ]) => {
-        this._log.info('demoteMaster response %j', response);
-        return [response, options, rawResponse];
-      }).catch((error: any) => {
-        if (error && 'statusDetails' in error && error.statusDetails instanceof Array) {
-          const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type;
-          error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos);
+    return this.innerApiCalls
+      .demoteMaster(request, options, wrappedCallback)
+      ?.then(
+        ([response, options, rawResponse]: [
+          protos.google.cloud.sql.v1beta4.IOperation,
+          (
+            | protos.google.cloud.sql.v1beta4.ISqlInstancesDemoteMasterRequest
+            | undefined
+          ),
+          {} | undefined,
+        ]) => {
+          this._log.info('demoteMaster response %j', response);
+          return [response, options, rawResponse];
+        },
+      )
+      .catch((error: any) => {
+        if (
+          error &&
+          'statusDetails' in error &&
+          error.statusDetails instanceof Array
+        ) {
+          const protos = this._gaxModule.protobuf.Root.fromJSON(
+            jsonProtos,
+          ) as unknown as gax.protobuf.Type;
+          error.statusDetails = decodeAnyProtosInArray(
+            error.statusDetails,
+            protos,
+          );
         }
         throw error;
       });
   }
-/**
- * Demotes an existing standalone instance to be a Cloud SQL read replica
- * for an external database server.
- *
- * @param {Object} request
- *   The request object that will be sent.
- * @param {string} request.instance
- *   Required. The name of the Cloud SQL instance.
- * @param {string} request.project
- *   Required. The project ID of the project that contains the instance.
- * @param {google.cloud.sql.v1beta4.InstancesDemoteRequest} request.body
- *   The request body.
- * @param {object} [options]
- *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
- * @returns {Promise} - The promise which resolves to an array.
- *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1beta4.Operation|Operation}.
- *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
- *   for more details and examples.
- * @example <caption>include:samples/generated/v1beta4/sql_instances_service.demote.js</caption>
- * region_tag:sqladmin_v1beta4_generated_SqlInstancesService_Demote_async
- */
+  /**
+   * Demotes an existing standalone instance to be a Cloud SQL read replica
+   * for an external database server.
+   *
+   * @param {Object} request
+   *   The request object that will be sent.
+   * @param {string} request.instance
+   *   Required. The name of the Cloud SQL instance.
+   * @param {string} request.project
+   *   Required. The project ID of the project that contains the instance.
+   * @param {google.cloud.sql.v1beta4.InstancesDemoteRequest} request.body
+   *   The request body.
+   * @param {object} [options]
+   *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+   * @returns {Promise} - The promise which resolves to an array.
+   *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1beta4.Operation|Operation}.
+   *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
+   *   for more details and examples.
+   * @example <caption>include:samples/generated/v1beta4/sql_instances_service.demote.js</caption>
+   * region_tag:sqladmin_v1beta4_generated_SqlInstancesService_Demote_async
+   */
   demote(
-      request?: protos.google.cloud.sql.v1beta4.ISqlInstancesDemoteRequest,
-      options?: CallOptions):
-      Promise<[
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesDemoteRequest|undefined, {}|undefined
-      ]>;
+    request?: protos.google.cloud.sql.v1beta4.ISqlInstancesDemoteRequest,
+    options?: CallOptions,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1beta4.IOperation,
+      protos.google.cloud.sql.v1beta4.ISqlInstancesDemoteRequest | undefined,
+      {} | undefined,
+    ]
+  >;
   demote(
-      request: protos.google.cloud.sql.v1beta4.ISqlInstancesDemoteRequest,
-      options: CallOptions,
-      callback: Callback<
-          protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesDemoteRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1beta4.ISqlInstancesDemoteRequest,
+    options: CallOptions,
+    callback: Callback<
+      protos.google.cloud.sql.v1beta4.IOperation,
+      | protos.google.cloud.sql.v1beta4.ISqlInstancesDemoteRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   demote(
-      request: protos.google.cloud.sql.v1beta4.ISqlInstancesDemoteRequest,
-      callback: Callback<
-          protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesDemoteRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1beta4.ISqlInstancesDemoteRequest,
+    callback: Callback<
+      protos.google.cloud.sql.v1beta4.IOperation,
+      | protos.google.cloud.sql.v1beta4.ISqlInstancesDemoteRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   demote(
-      request?: protos.google.cloud.sql.v1beta4.ISqlInstancesDemoteRequest,
-      optionsOrCallback?: CallOptions|Callback<
-          protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesDemoteRequest|null|undefined,
-          {}|null|undefined>,
-      callback?: Callback<
+    request?: protos.google.cloud.sql.v1beta4.ISqlInstancesDemoteRequest,
+    optionsOrCallback?:
+      | CallOptions
+      | Callback<
           protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesDemoteRequest|null|undefined,
-          {}|null|undefined>):
-      Promise<[
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesDemoteRequest|undefined, {}|undefined
-      ]>|void {
+          | protos.google.cloud.sql.v1beta4.ISqlInstancesDemoteRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >,
+    callback?: Callback<
+      protos.google.cloud.sql.v1beta4.IOperation,
+      | protos.google.cloud.sql.v1beta4.ISqlInstancesDemoteRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1beta4.IOperation,
+      protos.google.cloud.sql.v1beta4.ISqlInstancesDemoteRequest | undefined,
+      {} | undefined,
+    ]
+  > | void {
     request = request || {};
     let options: CallOptions;
     if (typeof optionsOrCallback === 'function' && callback === undefined) {
       callback = optionsOrCallback;
       options = {};
-    }
-    else {
+    } else {
       options = optionsOrCallback as CallOptions;
     }
     options = options || {};
     options.otherArgs = options.otherArgs || {};
     options.otherArgs.headers = options.otherArgs.headers || {};
-    options.otherArgs.headers[
-      'x-goog-request-params'
-    ] = this._gaxModule.routingHeader.fromParams({
-      'project': request.project ?? '',
-      'instance': request.instance ?? '',
+    options.otherArgs.headers['x-goog-request-params'] =
+      this._gaxModule.routingHeader.fromParams({
+        project: request.project ?? '',
+        instance: request.instance ?? '',
+      });
+    this.initialize().catch((err) => {
+      throw err;
     });
-    this.initialize().catch(err => {throw err});
     this._log.info('demote request %j', request);
-    const wrappedCallback: Callback<
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesDemoteRequest|null|undefined,
-        {}|null|undefined>|undefined = callback
+    const wrappedCallback:
+      | Callback<
+          protos.google.cloud.sql.v1beta4.IOperation,
+          | protos.google.cloud.sql.v1beta4.ISqlInstancesDemoteRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >
+      | undefined = callback
       ? (error, response, options, rawResponse) => {
           this._log.info('demote response %j', response);
           callback!(error, response, options, rawResponse); // We verified callback above.
         }
       : undefined;
-    return this.innerApiCalls.demote(request, options, wrappedCallback)
-      ?.then(([response, options, rawResponse]: [
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesDemoteRequest|undefined,
-        {}|undefined
-      ]) => {
-        this._log.info('demote response %j', response);
-        return [response, options, rawResponse];
-      }).catch((error: any) => {
-        if (error && 'statusDetails' in error && error.statusDetails instanceof Array) {
-          const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type;
-          error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos);
+    return this.innerApiCalls
+      .demote(request, options, wrappedCallback)
+      ?.then(
+        ([response, options, rawResponse]: [
+          protos.google.cloud.sql.v1beta4.IOperation,
+          (
+            | protos.google.cloud.sql.v1beta4.ISqlInstancesDemoteRequest
+            | undefined
+          ),
+          {} | undefined,
+        ]) => {
+          this._log.info('demote response %j', response);
+          return [response, options, rawResponse];
+        },
+      )
+      .catch((error: any) => {
+        if (
+          error &&
+          'statusDetails' in error &&
+          error.statusDetails instanceof Array
+        ) {
+          const protos = this._gaxModule.protobuf.Root.fromJSON(
+            jsonProtos,
+          ) as unknown as gax.protobuf.Type;
+          error.statusDetails = decodeAnyProtosInArray(
+            error.statusDetails,
+            protos,
+          );
         }
         throw error;
       });
   }
-/**
- * Exports data from a Cloud SQL instance to a Cloud Storage bucket as a SQL
- * dump or CSV file.
- *
- * @param {Object} request
- *   The request object that will be sent.
- * @param {string} request.instance
- *   The Cloud SQL instance ID. This doesn't include the project ID.
- * @param {string} request.project
- *   Project ID of the project that contains the instance to be exported.
- * @param {google.cloud.sql.v1beta4.InstancesExportRequest} request.body
- * @param {object} [options]
- *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
- * @returns {Promise} - The promise which resolves to an array.
- *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1beta4.Operation|Operation}.
- *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
- *   for more details and examples.
- * @example <caption>include:samples/generated/v1beta4/sql_instances_service.export.js</caption>
- * region_tag:sqladmin_v1beta4_generated_SqlInstancesService_Export_async
- */
+  /**
+   * Exports data from a Cloud SQL instance to a Cloud Storage bucket as a SQL
+   * dump or CSV file.
+   *
+   * @param {Object} request
+   *   The request object that will be sent.
+   * @param {string} request.instance
+   *   The Cloud SQL instance ID. This doesn't include the project ID.
+   * @param {string} request.project
+   *   Project ID of the project that contains the instance to be exported.
+   * @param {google.cloud.sql.v1beta4.InstancesExportRequest} request.body
+   * @param {object} [options]
+   *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+   * @returns {Promise} - The promise which resolves to an array.
+   *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1beta4.Operation|Operation}.
+   *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
+   *   for more details and examples.
+   * @example <caption>include:samples/generated/v1beta4/sql_instances_service.export.js</caption>
+   * region_tag:sqladmin_v1beta4_generated_SqlInstancesService_Export_async
+   */
   export(
-      request?: protos.google.cloud.sql.v1beta4.ISqlInstancesExportRequest,
-      options?: CallOptions):
-      Promise<[
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesExportRequest|undefined, {}|undefined
-      ]>;
+    request?: protos.google.cloud.sql.v1beta4.ISqlInstancesExportRequest,
+    options?: CallOptions,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1beta4.IOperation,
+      protos.google.cloud.sql.v1beta4.ISqlInstancesExportRequest | undefined,
+      {} | undefined,
+    ]
+  >;
   export(
-      request: protos.google.cloud.sql.v1beta4.ISqlInstancesExportRequest,
-      options: CallOptions,
-      callback: Callback<
-          protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesExportRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1beta4.ISqlInstancesExportRequest,
+    options: CallOptions,
+    callback: Callback<
+      protos.google.cloud.sql.v1beta4.IOperation,
+      | protos.google.cloud.sql.v1beta4.ISqlInstancesExportRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   export(
-      request: protos.google.cloud.sql.v1beta4.ISqlInstancesExportRequest,
-      callback: Callback<
-          protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesExportRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1beta4.ISqlInstancesExportRequest,
+    callback: Callback<
+      protos.google.cloud.sql.v1beta4.IOperation,
+      | protos.google.cloud.sql.v1beta4.ISqlInstancesExportRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   export(
-      request?: protos.google.cloud.sql.v1beta4.ISqlInstancesExportRequest,
-      optionsOrCallback?: CallOptions|Callback<
-          protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesExportRequest|null|undefined,
-          {}|null|undefined>,
-      callback?: Callback<
+    request?: protos.google.cloud.sql.v1beta4.ISqlInstancesExportRequest,
+    optionsOrCallback?:
+      | CallOptions
+      | Callback<
           protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesExportRequest|null|undefined,
-          {}|null|undefined>):
-      Promise<[
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesExportRequest|undefined, {}|undefined
-      ]>|void {
+          | protos.google.cloud.sql.v1beta4.ISqlInstancesExportRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >,
+    callback?: Callback<
+      protos.google.cloud.sql.v1beta4.IOperation,
+      | protos.google.cloud.sql.v1beta4.ISqlInstancesExportRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1beta4.IOperation,
+      protos.google.cloud.sql.v1beta4.ISqlInstancesExportRequest | undefined,
+      {} | undefined,
+    ]
+  > | void {
     request = request || {};
     let options: CallOptions;
     if (typeof optionsOrCallback === 'function' && callback === undefined) {
       callback = optionsOrCallback;
       options = {};
-    }
-    else {
+    } else {
       options = optionsOrCallback as CallOptions;
     }
     options = options || {};
     options.otherArgs = options.otherArgs || {};
     options.otherArgs.headers = options.otherArgs.headers || {};
-    options.otherArgs.headers[
-      'x-goog-request-params'
-    ] = this._gaxModule.routingHeader.fromParams({
-      'project': request.project ?? '',
-      'instance': request.instance ?? '',
+    options.otherArgs.headers['x-goog-request-params'] =
+      this._gaxModule.routingHeader.fromParams({
+        project: request.project ?? '',
+        instance: request.instance ?? '',
+      });
+    this.initialize().catch((err) => {
+      throw err;
     });
-    this.initialize().catch(err => {throw err});
     this._log.info('export request %j', request);
-    const wrappedCallback: Callback<
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesExportRequest|null|undefined,
-        {}|null|undefined>|undefined = callback
+    const wrappedCallback:
+      | Callback<
+          protos.google.cloud.sql.v1beta4.IOperation,
+          | protos.google.cloud.sql.v1beta4.ISqlInstancesExportRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >
+      | undefined = callback
       ? (error, response, options, rawResponse) => {
           this._log.info('export response %j', response);
           callback!(error, response, options, rawResponse); // We verified callback above.
         }
       : undefined;
-    return this.innerApiCalls.export(request, options, wrappedCallback)
-      ?.then(([response, options, rawResponse]: [
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesExportRequest|undefined,
-        {}|undefined
-      ]) => {
-        this._log.info('export response %j', response);
-        return [response, options, rawResponse];
-      }).catch((error: any) => {
-        if (error && 'statusDetails' in error && error.statusDetails instanceof Array) {
-          const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type;
-          error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos);
+    return this.innerApiCalls
+      .export(request, options, wrappedCallback)
+      ?.then(
+        ([response, options, rawResponse]: [
+          protos.google.cloud.sql.v1beta4.IOperation,
+          (
+            | protos.google.cloud.sql.v1beta4.ISqlInstancesExportRequest
+            | undefined
+          ),
+          {} | undefined,
+        ]) => {
+          this._log.info('export response %j', response);
+          return [response, options, rawResponse];
+        },
+      )
+      .catch((error: any) => {
+        if (
+          error &&
+          'statusDetails' in error &&
+          error.statusDetails instanceof Array
+        ) {
+          const protos = this._gaxModule.protobuf.Root.fromJSON(
+            jsonProtos,
+          ) as unknown as gax.protobuf.Type;
+          error.statusDetails = decodeAnyProtosInArray(
+            error.statusDetails,
+            protos,
+          );
         }
         throw error;
       });
   }
-/**
- * Initiates a manual failover of a high availability (HA) primary instance
- * to a standby instance, which becomes the primary instance. Users are
- * then rerouted to the new primary. For more information, see the
- * [Overview of high
- * availability](https://cloud.google.com/sql/docs/mysql/high-availability)
- * page in the Cloud SQL documentation.
- * If using Legacy HA (MySQL only), this causes the instance to failover to
- * its failover replica instance.
- *
- * @param {Object} request
- *   The request object that will be sent.
- * @param {string} request.instance
- *   Cloud SQL instance ID. This does not include the project ID.
- * @param {string} request.project
- *   ID of the project that contains the read replica.
- * @param {google.cloud.sql.v1beta4.InstancesFailoverRequest} request.body
- * @param {object} [options]
- *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
- * @returns {Promise} - The promise which resolves to an array.
- *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1beta4.Operation|Operation}.
- *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
- *   for more details and examples.
- * @example <caption>include:samples/generated/v1beta4/sql_instances_service.failover.js</caption>
- * region_tag:sqladmin_v1beta4_generated_SqlInstancesService_Failover_async
- */
+  /**
+   * Initiates a manual failover of a high availability (HA) primary instance
+   * to a standby instance, which becomes the primary instance. Users are
+   * then rerouted to the new primary. For more information, see the
+   * [Overview of high
+   * availability](https://cloud.google.com/sql/docs/mysql/high-availability)
+   * page in the Cloud SQL documentation.
+   * If using Legacy HA (MySQL only), this causes the instance to failover to
+   * its failover replica instance.
+   *
+   * @param {Object} request
+   *   The request object that will be sent.
+   * @param {string} request.instance
+   *   Cloud SQL instance ID. This does not include the project ID.
+   * @param {string} request.project
+   *   ID of the project that contains the read replica.
+   * @param {google.cloud.sql.v1beta4.InstancesFailoverRequest} request.body
+   * @param {object} [options]
+   *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+   * @returns {Promise} - The promise which resolves to an array.
+   *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1beta4.Operation|Operation}.
+   *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
+   *   for more details and examples.
+   * @example <caption>include:samples/generated/v1beta4/sql_instances_service.failover.js</caption>
+   * region_tag:sqladmin_v1beta4_generated_SqlInstancesService_Failover_async
+   */
   failover(
-      request?: protos.google.cloud.sql.v1beta4.ISqlInstancesFailoverRequest,
-      options?: CallOptions):
-      Promise<[
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesFailoverRequest|undefined, {}|undefined
-      ]>;
+    request?: protos.google.cloud.sql.v1beta4.ISqlInstancesFailoverRequest,
+    options?: CallOptions,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1beta4.IOperation,
+      protos.google.cloud.sql.v1beta4.ISqlInstancesFailoverRequest | undefined,
+      {} | undefined,
+    ]
+  >;
   failover(
-      request: protos.google.cloud.sql.v1beta4.ISqlInstancesFailoverRequest,
-      options: CallOptions,
-      callback: Callback<
-          protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesFailoverRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1beta4.ISqlInstancesFailoverRequest,
+    options: CallOptions,
+    callback: Callback<
+      protos.google.cloud.sql.v1beta4.IOperation,
+      | protos.google.cloud.sql.v1beta4.ISqlInstancesFailoverRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   failover(
-      request: protos.google.cloud.sql.v1beta4.ISqlInstancesFailoverRequest,
-      callback: Callback<
-          protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesFailoverRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1beta4.ISqlInstancesFailoverRequest,
+    callback: Callback<
+      protos.google.cloud.sql.v1beta4.IOperation,
+      | protos.google.cloud.sql.v1beta4.ISqlInstancesFailoverRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   failover(
-      request?: protos.google.cloud.sql.v1beta4.ISqlInstancesFailoverRequest,
-      optionsOrCallback?: CallOptions|Callback<
-          protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesFailoverRequest|null|undefined,
-          {}|null|undefined>,
-      callback?: Callback<
+    request?: protos.google.cloud.sql.v1beta4.ISqlInstancesFailoverRequest,
+    optionsOrCallback?:
+      | CallOptions
+      | Callback<
           protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesFailoverRequest|null|undefined,
-          {}|null|undefined>):
-      Promise<[
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesFailoverRequest|undefined, {}|undefined
-      ]>|void {
+          | protos.google.cloud.sql.v1beta4.ISqlInstancesFailoverRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >,
+    callback?: Callback<
+      protos.google.cloud.sql.v1beta4.IOperation,
+      | protos.google.cloud.sql.v1beta4.ISqlInstancesFailoverRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1beta4.IOperation,
+      protos.google.cloud.sql.v1beta4.ISqlInstancesFailoverRequest | undefined,
+      {} | undefined,
+    ]
+  > | void {
     request = request || {};
     let options: CallOptions;
     if (typeof optionsOrCallback === 'function' && callback === undefined) {
       callback = optionsOrCallback;
       options = {};
-    }
-    else {
+    } else {
       options = optionsOrCallback as CallOptions;
     }
     options = options || {};
     options.otherArgs = options.otherArgs || {};
     options.otherArgs.headers = options.otherArgs.headers || {};
-    options.otherArgs.headers[
-      'x-goog-request-params'
-    ] = this._gaxModule.routingHeader.fromParams({
-      'project': request.project ?? '',
-      'instance': request.instance ?? '',
+    options.otherArgs.headers['x-goog-request-params'] =
+      this._gaxModule.routingHeader.fromParams({
+        project: request.project ?? '',
+        instance: request.instance ?? '',
+      });
+    this.initialize().catch((err) => {
+      throw err;
     });
-    this.initialize().catch(err => {throw err});
     this._log.info('failover request %j', request);
-    const wrappedCallback: Callback<
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesFailoverRequest|null|undefined,
-        {}|null|undefined>|undefined = callback
+    const wrappedCallback:
+      | Callback<
+          protos.google.cloud.sql.v1beta4.IOperation,
+          | protos.google.cloud.sql.v1beta4.ISqlInstancesFailoverRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >
+      | undefined = callback
       ? (error, response, options, rawResponse) => {
           this._log.info('failover response %j', response);
           callback!(error, response, options, rawResponse); // We verified callback above.
         }
       : undefined;
-    return this.innerApiCalls.failover(request, options, wrappedCallback)
-      ?.then(([response, options, rawResponse]: [
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesFailoverRequest|undefined,
-        {}|undefined
-      ]) => {
-        this._log.info('failover response %j', response);
-        return [response, options, rawResponse];
-      }).catch((error: any) => {
-        if (error && 'statusDetails' in error && error.statusDetails instanceof Array) {
-          const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type;
-          error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos);
+    return this.innerApiCalls
+      .failover(request, options, wrappedCallback)
+      ?.then(
+        ([response, options, rawResponse]: [
+          protos.google.cloud.sql.v1beta4.IOperation,
+          (
+            | protos.google.cloud.sql.v1beta4.ISqlInstancesFailoverRequest
+            | undefined
+          ),
+          {} | undefined,
+        ]) => {
+          this._log.info('failover response %j', response);
+          return [response, options, rawResponse];
+        },
+      )
+      .catch((error: any) => {
+        if (
+          error &&
+          'statusDetails' in error &&
+          error.statusDetails instanceof Array
+        ) {
+          const protos = this._gaxModule.protobuf.Root.fromJSON(
+            jsonProtos,
+          ) as unknown as gax.protobuf.Type;
+          error.statusDetails = decodeAnyProtosInArray(
+            error.statusDetails,
+            protos,
+          );
         }
         throw error;
       });
   }
-/**
- * Reencrypt CMEK instance with latest key version.
- *
- * @param {Object} request
- *   The request object that will be sent.
- * @param {string} request.instance
- *   Cloud SQL instance ID. This does not include the project ID.
- * @param {string} request.project
- *   ID of the project that contains the instance.
- * @param {google.cloud.sql.v1beta4.InstancesReencryptRequest} request.body
- *   Reencrypt body that users request
- * @param {object} [options]
- *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
- * @returns {Promise} - The promise which resolves to an array.
- *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1beta4.Operation|Operation}.
- *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
- *   for more details and examples.
- * @example <caption>include:samples/generated/v1beta4/sql_instances_service.reencrypt.js</caption>
- * region_tag:sqladmin_v1beta4_generated_SqlInstancesService_Reencrypt_async
- */
+  /**
+   * Reencrypt CMEK instance with latest key version.
+   *
+   * @param {Object} request
+   *   The request object that will be sent.
+   * @param {string} request.instance
+   *   Cloud SQL instance ID. This does not include the project ID.
+   * @param {string} request.project
+   *   ID of the project that contains the instance.
+   * @param {google.cloud.sql.v1beta4.InstancesReencryptRequest} request.body
+   *   Reencrypt body that users request
+   * @param {object} [options]
+   *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+   * @returns {Promise} - The promise which resolves to an array.
+   *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1beta4.Operation|Operation}.
+   *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
+   *   for more details and examples.
+   * @example <caption>include:samples/generated/v1beta4/sql_instances_service.reencrypt.js</caption>
+   * region_tag:sqladmin_v1beta4_generated_SqlInstancesService_Reencrypt_async
+   */
   reencrypt(
-      request?: protos.google.cloud.sql.v1beta4.ISqlInstancesReencryptRequest,
-      options?: CallOptions):
-      Promise<[
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesReencryptRequest|undefined, {}|undefined
-      ]>;
+    request?: protos.google.cloud.sql.v1beta4.ISqlInstancesReencryptRequest,
+    options?: CallOptions,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1beta4.IOperation,
+      protos.google.cloud.sql.v1beta4.ISqlInstancesReencryptRequest | undefined,
+      {} | undefined,
+    ]
+  >;
   reencrypt(
-      request: protos.google.cloud.sql.v1beta4.ISqlInstancesReencryptRequest,
-      options: CallOptions,
-      callback: Callback<
-          protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesReencryptRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1beta4.ISqlInstancesReencryptRequest,
+    options: CallOptions,
+    callback: Callback<
+      protos.google.cloud.sql.v1beta4.IOperation,
+      | protos.google.cloud.sql.v1beta4.ISqlInstancesReencryptRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   reencrypt(
-      request: protos.google.cloud.sql.v1beta4.ISqlInstancesReencryptRequest,
-      callback: Callback<
-          protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesReencryptRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1beta4.ISqlInstancesReencryptRequest,
+    callback: Callback<
+      protos.google.cloud.sql.v1beta4.IOperation,
+      | protos.google.cloud.sql.v1beta4.ISqlInstancesReencryptRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   reencrypt(
-      request?: protos.google.cloud.sql.v1beta4.ISqlInstancesReencryptRequest,
-      optionsOrCallback?: CallOptions|Callback<
-          protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesReencryptRequest|null|undefined,
-          {}|null|undefined>,
-      callback?: Callback<
+    request?: protos.google.cloud.sql.v1beta4.ISqlInstancesReencryptRequest,
+    optionsOrCallback?:
+      | CallOptions
+      | Callback<
           protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesReencryptRequest|null|undefined,
-          {}|null|undefined>):
-      Promise<[
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesReencryptRequest|undefined, {}|undefined
-      ]>|void {
+          | protos.google.cloud.sql.v1beta4.ISqlInstancesReencryptRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >,
+    callback?: Callback<
+      protos.google.cloud.sql.v1beta4.IOperation,
+      | protos.google.cloud.sql.v1beta4.ISqlInstancesReencryptRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1beta4.IOperation,
+      protos.google.cloud.sql.v1beta4.ISqlInstancesReencryptRequest | undefined,
+      {} | undefined,
+    ]
+  > | void {
     request = request || {};
     let options: CallOptions;
     if (typeof optionsOrCallback === 'function' && callback === undefined) {
       callback = optionsOrCallback;
       options = {};
-    }
-    else {
+    } else {
       options = optionsOrCallback as CallOptions;
     }
     options = options || {};
     options.otherArgs = options.otherArgs || {};
     options.otherArgs.headers = options.otherArgs.headers || {};
-    options.otherArgs.headers[
-      'x-goog-request-params'
-    ] = this._gaxModule.routingHeader.fromParams({
-      'project': request.project ?? '',
-      'instance': request.instance ?? '',
+    options.otherArgs.headers['x-goog-request-params'] =
+      this._gaxModule.routingHeader.fromParams({
+        project: request.project ?? '',
+        instance: request.instance ?? '',
+      });
+    this.initialize().catch((err) => {
+      throw err;
     });
-    this.initialize().catch(err => {throw err});
     this._log.info('reencrypt request %j', request);
-    const wrappedCallback: Callback<
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesReencryptRequest|null|undefined,
-        {}|null|undefined>|undefined = callback
+    const wrappedCallback:
+      | Callback<
+          protos.google.cloud.sql.v1beta4.IOperation,
+          | protos.google.cloud.sql.v1beta4.ISqlInstancesReencryptRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >
+      | undefined = callback
       ? (error, response, options, rawResponse) => {
           this._log.info('reencrypt response %j', response);
           callback!(error, response, options, rawResponse); // We verified callback above.
         }
       : undefined;
-    return this.innerApiCalls.reencrypt(request, options, wrappedCallback)
-      ?.then(([response, options, rawResponse]: [
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesReencryptRequest|undefined,
-        {}|undefined
-      ]) => {
-        this._log.info('reencrypt response %j', response);
-        return [response, options, rawResponse];
-      }).catch((error: any) => {
-        if (error && 'statusDetails' in error && error.statusDetails instanceof Array) {
-          const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type;
-          error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos);
+    return this.innerApiCalls
+      .reencrypt(request, options, wrappedCallback)
+      ?.then(
+        ([response, options, rawResponse]: [
+          protos.google.cloud.sql.v1beta4.IOperation,
+          (
+            | protos.google.cloud.sql.v1beta4.ISqlInstancesReencryptRequest
+            | undefined
+          ),
+          {} | undefined,
+        ]) => {
+          this._log.info('reencrypt response %j', response);
+          return [response, options, rawResponse];
+        },
+      )
+      .catch((error: any) => {
+        if (
+          error &&
+          'statusDetails' in error &&
+          error.statusDetails instanceof Array
+        ) {
+          const protos = this._gaxModule.protobuf.Root.fromJSON(
+            jsonProtos,
+          ) as unknown as gax.protobuf.Type;
+          error.statusDetails = decodeAnyProtosInArray(
+            error.statusDetails,
+            protos,
+          );
         }
         throw error;
       });
   }
-/**
- * Retrieves a resource containing information about a Cloud SQL instance.
- *
- * @param {Object} request
- *   The request object that will be sent.
- * @param {string} request.instance
- *   Database instance ID. This does not include the project ID.
- * @param {string} request.project
- *   Project ID of the project that contains the instance.
- * @param {object} [options]
- *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
- * @returns {Promise} - The promise which resolves to an array.
- *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1beta4.DatabaseInstance|DatabaseInstance}.
- *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
- *   for more details and examples.
- * @example <caption>include:samples/generated/v1beta4/sql_instances_service.get.js</caption>
- * region_tag:sqladmin_v1beta4_generated_SqlInstancesService_Get_async
- */
+  /**
+   * Retrieves a resource containing information about a Cloud SQL instance.
+   *
+   * @param {Object} request
+   *   The request object that will be sent.
+   * @param {string} request.instance
+   *   Database instance ID. This does not include the project ID.
+   * @param {string} request.project
+   *   Project ID of the project that contains the instance.
+   * @param {object} [options]
+   *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+   * @returns {Promise} - The promise which resolves to an array.
+   *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1beta4.DatabaseInstance|DatabaseInstance}.
+   *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
+   *   for more details and examples.
+   * @example <caption>include:samples/generated/v1beta4/sql_instances_service.get.js</caption>
+   * region_tag:sqladmin_v1beta4_generated_SqlInstancesService_Get_async
+   */
   get(
-      request?: protos.google.cloud.sql.v1beta4.ISqlInstancesGetRequest,
-      options?: CallOptions):
-      Promise<[
-        protos.google.cloud.sql.v1beta4.IDatabaseInstance,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesGetRequest|undefined, {}|undefined
-      ]>;
+    request?: protos.google.cloud.sql.v1beta4.ISqlInstancesGetRequest,
+    options?: CallOptions,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1beta4.IDatabaseInstance,
+      protos.google.cloud.sql.v1beta4.ISqlInstancesGetRequest | undefined,
+      {} | undefined,
+    ]
+  >;
   get(
-      request: protos.google.cloud.sql.v1beta4.ISqlInstancesGetRequest,
-      options: CallOptions,
-      callback: Callback<
-          protos.google.cloud.sql.v1beta4.IDatabaseInstance,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesGetRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1beta4.ISqlInstancesGetRequest,
+    options: CallOptions,
+    callback: Callback<
+      protos.google.cloud.sql.v1beta4.IDatabaseInstance,
+      | protos.google.cloud.sql.v1beta4.ISqlInstancesGetRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   get(
-      request: protos.google.cloud.sql.v1beta4.ISqlInstancesGetRequest,
-      callback: Callback<
-          protos.google.cloud.sql.v1beta4.IDatabaseInstance,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesGetRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1beta4.ISqlInstancesGetRequest,
+    callback: Callback<
+      protos.google.cloud.sql.v1beta4.IDatabaseInstance,
+      | protos.google.cloud.sql.v1beta4.ISqlInstancesGetRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   get(
-      request?: protos.google.cloud.sql.v1beta4.ISqlInstancesGetRequest,
-      optionsOrCallback?: CallOptions|Callback<
-          protos.google.cloud.sql.v1beta4.IDatabaseInstance,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesGetRequest|null|undefined,
-          {}|null|undefined>,
-      callback?: Callback<
+    request?: protos.google.cloud.sql.v1beta4.ISqlInstancesGetRequest,
+    optionsOrCallback?:
+      | CallOptions
+      | Callback<
           protos.google.cloud.sql.v1beta4.IDatabaseInstance,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesGetRequest|null|undefined,
-          {}|null|undefined>):
-      Promise<[
-        protos.google.cloud.sql.v1beta4.IDatabaseInstance,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesGetRequest|undefined, {}|undefined
-      ]>|void {
+          | protos.google.cloud.sql.v1beta4.ISqlInstancesGetRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >,
+    callback?: Callback<
+      protos.google.cloud.sql.v1beta4.IDatabaseInstance,
+      | protos.google.cloud.sql.v1beta4.ISqlInstancesGetRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1beta4.IDatabaseInstance,
+      protos.google.cloud.sql.v1beta4.ISqlInstancesGetRequest | undefined,
+      {} | undefined,
+    ]
+  > | void {
     request = request || {};
     let options: CallOptions;
     if (typeof optionsOrCallback === 'function' && callback === undefined) {
       callback = optionsOrCallback;
       options = {};
-    }
-    else {
+    } else {
       options = optionsOrCallback as CallOptions;
     }
     options = options || {};
     options.otherArgs = options.otherArgs || {};
     options.otherArgs.headers = options.otherArgs.headers || {};
-    options.otherArgs.headers[
-      'x-goog-request-params'
-    ] = this._gaxModule.routingHeader.fromParams({
-      'project': request.project ?? '',
-      'instance': request.instance ?? '',
+    options.otherArgs.headers['x-goog-request-params'] =
+      this._gaxModule.routingHeader.fromParams({
+        project: request.project ?? '',
+        instance: request.instance ?? '',
+      });
+    this.initialize().catch((err) => {
+      throw err;
     });
-    this.initialize().catch(err => {throw err});
     this._log.info('get request %j', request);
-    const wrappedCallback: Callback<
-        protos.google.cloud.sql.v1beta4.IDatabaseInstance,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesGetRequest|null|undefined,
-        {}|null|undefined>|undefined = callback
+    const wrappedCallback:
+      | Callback<
+          protos.google.cloud.sql.v1beta4.IDatabaseInstance,
+          | protos.google.cloud.sql.v1beta4.ISqlInstancesGetRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >
+      | undefined = callback
       ? (error, response, options, rawResponse) => {
           this._log.info('get response %j', response);
           callback!(error, response, options, rawResponse); // We verified callback above.
         }
       : undefined;
-    return this.innerApiCalls.get(request, options, wrappedCallback)
-      ?.then(([response, options, rawResponse]: [
-        protos.google.cloud.sql.v1beta4.IDatabaseInstance,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesGetRequest|undefined,
-        {}|undefined
-      ]) => {
-        this._log.info('get response %j', response);
-        return [response, options, rawResponse];
-      }).catch((error: any) => {
-        if (error && 'statusDetails' in error && error.statusDetails instanceof Array) {
-          const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type;
-          error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos);
+    return this.innerApiCalls
+      .get(request, options, wrappedCallback)
+      ?.then(
+        ([response, options, rawResponse]: [
+          protos.google.cloud.sql.v1beta4.IDatabaseInstance,
+          protos.google.cloud.sql.v1beta4.ISqlInstancesGetRequest | undefined,
+          {} | undefined,
+        ]) => {
+          this._log.info('get response %j', response);
+          return [response, options, rawResponse];
+        },
+      )
+      .catch((error: any) => {
+        if (
+          error &&
+          'statusDetails' in error &&
+          error.statusDetails instanceof Array
+        ) {
+          const protos = this._gaxModule.protobuf.Root.fromJSON(
+            jsonProtos,
+          ) as unknown as gax.protobuf.Type;
+          error.statusDetails = decodeAnyProtosInArray(
+            error.statusDetails,
+            protos,
+          );
         }
         throw error;
       });
   }
-/**
- * Imports data into a Cloud SQL instance from a SQL dump  or CSV file in
- * Cloud Storage.
- *
- * @param {Object} request
- *   The request object that will be sent.
- * @param {string} request.instance
- *   Cloud SQL instance ID. This does not include the project ID.
- * @param {string} request.project
- *   Project ID of the project that contains the instance.
- * @param {google.cloud.sql.v1beta4.InstancesImportRequest} request.body
- * @param {object} [options]
- *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
- * @returns {Promise} - The promise which resolves to an array.
- *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1beta4.Operation|Operation}.
- *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
- *   for more details and examples.
- * @example <caption>include:samples/generated/v1beta4/sql_instances_service.import.js</caption>
- * region_tag:sqladmin_v1beta4_generated_SqlInstancesService_Import_async
- */
+  /**
+   * Imports data into a Cloud SQL instance from a SQL dump  or CSV file in
+   * Cloud Storage.
+   *
+   * @param {Object} request
+   *   The request object that will be sent.
+   * @param {string} request.instance
+   *   Cloud SQL instance ID. This does not include the project ID.
+   * @param {string} request.project
+   *   Project ID of the project that contains the instance.
+   * @param {google.cloud.sql.v1beta4.InstancesImportRequest} request.body
+   * @param {object} [options]
+   *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+   * @returns {Promise} - The promise which resolves to an array.
+   *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1beta4.Operation|Operation}.
+   *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
+   *   for more details and examples.
+   * @example <caption>include:samples/generated/v1beta4/sql_instances_service.import.js</caption>
+   * region_tag:sqladmin_v1beta4_generated_SqlInstancesService_Import_async
+   */
   import(
-      request?: protos.google.cloud.sql.v1beta4.ISqlInstancesImportRequest,
-      options?: CallOptions):
-      Promise<[
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesImportRequest|undefined, {}|undefined
-      ]>;
+    request?: protos.google.cloud.sql.v1beta4.ISqlInstancesImportRequest,
+    options?: CallOptions,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1beta4.IOperation,
+      protos.google.cloud.sql.v1beta4.ISqlInstancesImportRequest | undefined,
+      {} | undefined,
+    ]
+  >;
   import(
-      request: protos.google.cloud.sql.v1beta4.ISqlInstancesImportRequest,
-      options: CallOptions,
-      callback: Callback<
-          protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesImportRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1beta4.ISqlInstancesImportRequest,
+    options: CallOptions,
+    callback: Callback<
+      protos.google.cloud.sql.v1beta4.IOperation,
+      | protos.google.cloud.sql.v1beta4.ISqlInstancesImportRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   import(
-      request: protos.google.cloud.sql.v1beta4.ISqlInstancesImportRequest,
-      callback: Callback<
-          protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesImportRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1beta4.ISqlInstancesImportRequest,
+    callback: Callback<
+      protos.google.cloud.sql.v1beta4.IOperation,
+      | protos.google.cloud.sql.v1beta4.ISqlInstancesImportRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   import(
-      request?: protos.google.cloud.sql.v1beta4.ISqlInstancesImportRequest,
-      optionsOrCallback?: CallOptions|Callback<
-          protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesImportRequest|null|undefined,
-          {}|null|undefined>,
-      callback?: Callback<
+    request?: protos.google.cloud.sql.v1beta4.ISqlInstancesImportRequest,
+    optionsOrCallback?:
+      | CallOptions
+      | Callback<
           protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesImportRequest|null|undefined,
-          {}|null|undefined>):
-      Promise<[
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesImportRequest|undefined, {}|undefined
-      ]>|void {
+          | protos.google.cloud.sql.v1beta4.ISqlInstancesImportRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >,
+    callback?: Callback<
+      protos.google.cloud.sql.v1beta4.IOperation,
+      | protos.google.cloud.sql.v1beta4.ISqlInstancesImportRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1beta4.IOperation,
+      protos.google.cloud.sql.v1beta4.ISqlInstancesImportRequest | undefined,
+      {} | undefined,
+    ]
+  > | void {
     request = request || {};
     let options: CallOptions;
     if (typeof optionsOrCallback === 'function' && callback === undefined) {
       callback = optionsOrCallback;
       options = {};
-    }
-    else {
+    } else {
       options = optionsOrCallback as CallOptions;
     }
     options = options || {};
     options.otherArgs = options.otherArgs || {};
     options.otherArgs.headers = options.otherArgs.headers || {};
-    options.otherArgs.headers[
-      'x-goog-request-params'
-    ] = this._gaxModule.routingHeader.fromParams({
-      'project': request.project ?? '',
-      'instance': request.instance ?? '',
+    options.otherArgs.headers['x-goog-request-params'] =
+      this._gaxModule.routingHeader.fromParams({
+        project: request.project ?? '',
+        instance: request.instance ?? '',
+      });
+    this.initialize().catch((err) => {
+      throw err;
     });
-    this.initialize().catch(err => {throw err});
     this._log.info('import request %j', request);
-    const wrappedCallback: Callback<
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesImportRequest|null|undefined,
-        {}|null|undefined>|undefined = callback
+    const wrappedCallback:
+      | Callback<
+          protos.google.cloud.sql.v1beta4.IOperation,
+          | protos.google.cloud.sql.v1beta4.ISqlInstancesImportRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >
+      | undefined = callback
       ? (error, response, options, rawResponse) => {
           this._log.info('import response %j', response);
           callback!(error, response, options, rawResponse); // We verified callback above.
         }
       : undefined;
-    return this.innerApiCalls.import(request, options, wrappedCallback)
-      ?.then(([response, options, rawResponse]: [
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesImportRequest|undefined,
-        {}|undefined
-      ]) => {
-        this._log.info('import response %j', response);
-        return [response, options, rawResponse];
-      }).catch((error: any) => {
-        if (error && 'statusDetails' in error && error.statusDetails instanceof Array) {
-          const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type;
-          error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos);
+    return this.innerApiCalls
+      .import(request, options, wrappedCallback)
+      ?.then(
+        ([response, options, rawResponse]: [
+          protos.google.cloud.sql.v1beta4.IOperation,
+          (
+            | protos.google.cloud.sql.v1beta4.ISqlInstancesImportRequest
+            | undefined
+          ),
+          {} | undefined,
+        ]) => {
+          this._log.info('import response %j', response);
+          return [response, options, rawResponse];
+        },
+      )
+      .catch((error: any) => {
+        if (
+          error &&
+          'statusDetails' in error &&
+          error.statusDetails instanceof Array
+        ) {
+          const protos = this._gaxModule.protobuf.Root.fromJSON(
+            jsonProtos,
+          ) as unknown as gax.protobuf.Type;
+          error.statusDetails = decodeAnyProtosInArray(
+            error.statusDetails,
+            protos,
+          );
         }
         throw error;
       });
   }
-/**
- * Creates a new Cloud SQL instance.
- *
- * @param {Object} request
- *   The request object that will be sent.
- * @param {string} request.project
- *   Project ID of the project to which the newly created Cloud SQL instances
- *   should belong.
- * @param {google.cloud.sql.v1beta4.DatabaseInstance} request.body
- * @param {object} [options]
- *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
- * @returns {Promise} - The promise which resolves to an array.
- *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1beta4.Operation|Operation}.
- *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
- *   for more details and examples.
- * @example <caption>include:samples/generated/v1beta4/sql_instances_service.insert.js</caption>
- * region_tag:sqladmin_v1beta4_generated_SqlInstancesService_Insert_async
- */
+  /**
+   * Creates a new Cloud SQL instance.
+   *
+   * @param {Object} request
+   *   The request object that will be sent.
+   * @param {string} request.project
+   *   Project ID of the project to which the newly created Cloud SQL instances
+   *   should belong.
+   * @param {google.cloud.sql.v1beta4.DatabaseInstance} request.body
+   * @param {object} [options]
+   *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+   * @returns {Promise} - The promise which resolves to an array.
+   *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1beta4.Operation|Operation}.
+   *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
+   *   for more details and examples.
+   * @example <caption>include:samples/generated/v1beta4/sql_instances_service.insert.js</caption>
+   * region_tag:sqladmin_v1beta4_generated_SqlInstancesService_Insert_async
+   */
   insert(
-      request?: protos.google.cloud.sql.v1beta4.ISqlInstancesInsertRequest,
-      options?: CallOptions):
-      Promise<[
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesInsertRequest|undefined, {}|undefined
-      ]>;
+    request?: protos.google.cloud.sql.v1beta4.ISqlInstancesInsertRequest,
+    options?: CallOptions,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1beta4.IOperation,
+      protos.google.cloud.sql.v1beta4.ISqlInstancesInsertRequest | undefined,
+      {} | undefined,
+    ]
+  >;
   insert(
-      request: protos.google.cloud.sql.v1beta4.ISqlInstancesInsertRequest,
-      options: CallOptions,
-      callback: Callback<
-          protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesInsertRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1beta4.ISqlInstancesInsertRequest,
+    options: CallOptions,
+    callback: Callback<
+      protos.google.cloud.sql.v1beta4.IOperation,
+      | protos.google.cloud.sql.v1beta4.ISqlInstancesInsertRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   insert(
-      request: protos.google.cloud.sql.v1beta4.ISqlInstancesInsertRequest,
-      callback: Callback<
-          protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesInsertRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1beta4.ISqlInstancesInsertRequest,
+    callback: Callback<
+      protos.google.cloud.sql.v1beta4.IOperation,
+      | protos.google.cloud.sql.v1beta4.ISqlInstancesInsertRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   insert(
-      request?: protos.google.cloud.sql.v1beta4.ISqlInstancesInsertRequest,
-      optionsOrCallback?: CallOptions|Callback<
-          protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesInsertRequest|null|undefined,
-          {}|null|undefined>,
-      callback?: Callback<
+    request?: protos.google.cloud.sql.v1beta4.ISqlInstancesInsertRequest,
+    optionsOrCallback?:
+      | CallOptions
+      | Callback<
           protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesInsertRequest|null|undefined,
-          {}|null|undefined>):
-      Promise<[
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesInsertRequest|undefined, {}|undefined
-      ]>|void {
+          | protos.google.cloud.sql.v1beta4.ISqlInstancesInsertRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >,
+    callback?: Callback<
+      protos.google.cloud.sql.v1beta4.IOperation,
+      | protos.google.cloud.sql.v1beta4.ISqlInstancesInsertRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1beta4.IOperation,
+      protos.google.cloud.sql.v1beta4.ISqlInstancesInsertRequest | undefined,
+      {} | undefined,
+    ]
+  > | void {
     request = request || {};
     let options: CallOptions;
     if (typeof optionsOrCallback === 'function' && callback === undefined) {
       callback = optionsOrCallback;
       options = {};
-    }
-    else {
+    } else {
       options = optionsOrCallback as CallOptions;
     }
     options = options || {};
     options.otherArgs = options.otherArgs || {};
     options.otherArgs.headers = options.otherArgs.headers || {};
-    options.otherArgs.headers[
-      'x-goog-request-params'
-    ] = this._gaxModule.routingHeader.fromParams({
-      'project': request.project ?? '',
+    options.otherArgs.headers['x-goog-request-params'] =
+      this._gaxModule.routingHeader.fromParams({
+        project: request.project ?? '',
+      });
+    this.initialize().catch((err) => {
+      throw err;
     });
-    this.initialize().catch(err => {throw err});
     this._log.info('insert request %j', request);
-    const wrappedCallback: Callback<
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesInsertRequest|null|undefined,
-        {}|null|undefined>|undefined = callback
+    const wrappedCallback:
+      | Callback<
+          protos.google.cloud.sql.v1beta4.IOperation,
+          | protos.google.cloud.sql.v1beta4.ISqlInstancesInsertRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >
+      | undefined = callback
       ? (error, response, options, rawResponse) => {
           this._log.info('insert response %j', response);
           callback!(error, response, options, rawResponse); // We verified callback above.
         }
       : undefined;
-    return this.innerApiCalls.insert(request, options, wrappedCallback)
-      ?.then(([response, options, rawResponse]: [
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesInsertRequest|undefined,
-        {}|undefined
-      ]) => {
-        this._log.info('insert response %j', response);
-        return [response, options, rawResponse];
-      }).catch((error: any) => {
-        if (error && 'statusDetails' in error && error.statusDetails instanceof Array) {
-          const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type;
-          error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos);
+    return this.innerApiCalls
+      .insert(request, options, wrappedCallback)
+      ?.then(
+        ([response, options, rawResponse]: [
+          protos.google.cloud.sql.v1beta4.IOperation,
+          (
+            | protos.google.cloud.sql.v1beta4.ISqlInstancesInsertRequest
+            | undefined
+          ),
+          {} | undefined,
+        ]) => {
+          this._log.info('insert response %j', response);
+          return [response, options, rawResponse];
+        },
+      )
+      .catch((error: any) => {
+        if (
+          error &&
+          'statusDetails' in error &&
+          error.statusDetails instanceof Array
+        ) {
+          const protos = this._gaxModule.protobuf.Root.fromJSON(
+            jsonProtos,
+          ) as unknown as gax.protobuf.Type;
+          error.statusDetails = decodeAnyProtosInArray(
+            error.statusDetails,
+            protos,
+          );
         }
         throw error;
       });
   }
-/**
- * Lists instances under a given project.
- *
- * @param {Object} request
- *   The request object that will be sent.
- * @param {string} request.filter
- *   A filter expression that filters resources listed in the response.
- *   The expression is in the form of field:value. For example,
- *   'instanceType:CLOUD_SQL_INSTANCE'. Fields can be nested as needed as per
- *   their JSON representation, such as 'settings.userLabels.auto_start:true'.
- *
- *   Multiple filter queries are space-separated. For example.
- *   'state:RUNNABLE instanceType:CLOUD_SQL_INSTANCE'. By default, each
- *   expression is an AND expression. However, you can include AND and OR
- *   expressions explicitly.
- * @param {number} request.maxResults
- *   The maximum number of instances to return. The service may return fewer
- *   than this value.
- *   If unspecified, at most 500 instances are returned.
- *   The maximum value is 1000; values above 1000 are coerced to 1000.
- * @param {string} request.pageToken
- *   A previously-returned page token representing part of the larger set of
- *   results to view.
- * @param {string} request.project
- *   Project ID of the project for which to list Cloud SQL instances.
- * @param {object} [options]
- *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
- * @returns {Promise} - The promise which resolves to an array.
- *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1beta4.InstancesListResponse|InstancesListResponse}.
- *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
- *   for more details and examples.
- * @example <caption>include:samples/generated/v1beta4/sql_instances_service.list.js</caption>
- * region_tag:sqladmin_v1beta4_generated_SqlInstancesService_List_async
- */
+  /**
+   * Lists instances under a given project.
+   *
+   * @param {Object} request
+   *   The request object that will be sent.
+   * @param {string} request.filter
+   *   A filter expression that filters resources listed in the response.
+   *   The expression is in the form of field:value. For example,
+   *   'instanceType:CLOUD_SQL_INSTANCE'. Fields can be nested as needed as per
+   *   their JSON representation, such as 'settings.userLabels.auto_start:true'.
+   *
+   *   Multiple filter queries are space-separated. For example.
+   *   'state:RUNNABLE instanceType:CLOUD_SQL_INSTANCE'. By default, each
+   *   expression is an AND expression. However, you can include AND and OR
+   *   expressions explicitly.
+   * @param {number} request.maxResults
+   *   The maximum number of instances to return. The service may return fewer
+   *   than this value.
+   *   If unspecified, at most 500 instances are returned.
+   *   The maximum value is 1000; values above 1000 are coerced to 1000.
+   * @param {string} request.pageToken
+   *   A previously-returned page token representing part of the larger set of
+   *   results to view.
+   * @param {string} request.project
+   *   Project ID of the project for which to list Cloud SQL instances.
+   * @param {object} [options]
+   *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+   * @returns {Promise} - The promise which resolves to an array.
+   *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1beta4.InstancesListResponse|InstancesListResponse}.
+   *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
+   *   for more details and examples.
+   * @example <caption>include:samples/generated/v1beta4/sql_instances_service.list.js</caption>
+   * region_tag:sqladmin_v1beta4_generated_SqlInstancesService_List_async
+   */
   list(
-      request?: protos.google.cloud.sql.v1beta4.ISqlInstancesListRequest,
-      options?: CallOptions):
-      Promise<[
-        protos.google.cloud.sql.v1beta4.IInstancesListResponse,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesListRequest|undefined, {}|undefined
-      ]>;
+    request?: protos.google.cloud.sql.v1beta4.ISqlInstancesListRequest,
+    options?: CallOptions,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1beta4.IInstancesListResponse,
+      protos.google.cloud.sql.v1beta4.ISqlInstancesListRequest | undefined,
+      {} | undefined,
+    ]
+  >;
   list(
-      request: protos.google.cloud.sql.v1beta4.ISqlInstancesListRequest,
-      options: CallOptions,
-      callback: Callback<
-          protos.google.cloud.sql.v1beta4.IInstancesListResponse,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesListRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1beta4.ISqlInstancesListRequest,
+    options: CallOptions,
+    callback: Callback<
+      protos.google.cloud.sql.v1beta4.IInstancesListResponse,
+      | protos.google.cloud.sql.v1beta4.ISqlInstancesListRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   list(
-      request: protos.google.cloud.sql.v1beta4.ISqlInstancesListRequest,
-      callback: Callback<
-          protos.google.cloud.sql.v1beta4.IInstancesListResponse,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesListRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1beta4.ISqlInstancesListRequest,
+    callback: Callback<
+      protos.google.cloud.sql.v1beta4.IInstancesListResponse,
+      | protos.google.cloud.sql.v1beta4.ISqlInstancesListRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   list(
-      request?: protos.google.cloud.sql.v1beta4.ISqlInstancesListRequest,
-      optionsOrCallback?: CallOptions|Callback<
-          protos.google.cloud.sql.v1beta4.IInstancesListResponse,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesListRequest|null|undefined,
-          {}|null|undefined>,
-      callback?: Callback<
+    request?: protos.google.cloud.sql.v1beta4.ISqlInstancesListRequest,
+    optionsOrCallback?:
+      | CallOptions
+      | Callback<
           protos.google.cloud.sql.v1beta4.IInstancesListResponse,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesListRequest|null|undefined,
-          {}|null|undefined>):
-      Promise<[
-        protos.google.cloud.sql.v1beta4.IInstancesListResponse,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesListRequest|undefined, {}|undefined
-      ]>|void {
+          | protos.google.cloud.sql.v1beta4.ISqlInstancesListRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >,
+    callback?: Callback<
+      protos.google.cloud.sql.v1beta4.IInstancesListResponse,
+      | protos.google.cloud.sql.v1beta4.ISqlInstancesListRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1beta4.IInstancesListResponse,
+      protos.google.cloud.sql.v1beta4.ISqlInstancesListRequest | undefined,
+      {} | undefined,
+    ]
+  > | void {
     request = request || {};
     let options: CallOptions;
     if (typeof optionsOrCallback === 'function' && callback === undefined) {
       callback = optionsOrCallback;
       options = {};
-    }
-    else {
+    } else {
       options = optionsOrCallback as CallOptions;
     }
     options = options || {};
     options.otherArgs = options.otherArgs || {};
     options.otherArgs.headers = options.otherArgs.headers || {};
-    options.otherArgs.headers[
-      'x-goog-request-params'
-    ] = this._gaxModule.routingHeader.fromParams({
-      'project': request.project ?? '',
+    options.otherArgs.headers['x-goog-request-params'] =
+      this._gaxModule.routingHeader.fromParams({
+        project: request.project ?? '',
+      });
+    this.initialize().catch((err) => {
+      throw err;
     });
-    this.initialize().catch(err => {throw err});
     this._log.info('list request %j', request);
-    const wrappedCallback: Callback<
-        protos.google.cloud.sql.v1beta4.IInstancesListResponse,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesListRequest|null|undefined,
-        {}|null|undefined>|undefined = callback
+    const wrappedCallback:
+      | Callback<
+          protos.google.cloud.sql.v1beta4.IInstancesListResponse,
+          | protos.google.cloud.sql.v1beta4.ISqlInstancesListRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >
+      | undefined = callback
       ? (error, response, options, rawResponse) => {
           this._log.info('list response %j', response);
           callback!(error, response, options, rawResponse); // We verified callback above.
         }
       : undefined;
-    return this.innerApiCalls.list(request, options, wrappedCallback)
-      ?.then(([response, options, rawResponse]: [
-        protos.google.cloud.sql.v1beta4.IInstancesListResponse,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesListRequest|undefined,
-        {}|undefined
-      ]) => {
-        this._log.info('list response %j', response);
-        return [response, options, rawResponse];
-      }).catch((error: any) => {
-        if (error && 'statusDetails' in error && error.statusDetails instanceof Array) {
-          const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type;
-          error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos);
+    return this.innerApiCalls
+      .list(request, options, wrappedCallback)
+      ?.then(
+        ([response, options, rawResponse]: [
+          protos.google.cloud.sql.v1beta4.IInstancesListResponse,
+          protos.google.cloud.sql.v1beta4.ISqlInstancesListRequest | undefined,
+          {} | undefined,
+        ]) => {
+          this._log.info('list response %j', response);
+          return [response, options, rawResponse];
+        },
+      )
+      .catch((error: any) => {
+        if (
+          error &&
+          'statusDetails' in error &&
+          error.statusDetails instanceof Array
+        ) {
+          const protos = this._gaxModule.protobuf.Root.fromJSON(
+            jsonProtos,
+          ) as unknown as gax.protobuf.Type;
+          error.statusDetails = decodeAnyProtosInArray(
+            error.statusDetails,
+            protos,
+          );
         }
         throw error;
       });
   }
-/**
- * Lists all of the trusted Certificate Authorities (CAs) for the specified
- * instance. There can be up to three CAs listed: the CA that was used to sign
- * the certificate that is currently in use, a CA that has been added but not
- * yet used to sign a certificate, and a CA used to sign a certificate that
- * has previously rotated out.
- *
- * @param {Object} request
- *   The request object that will be sent.
- * @param {string} request.instance
- *   Cloud SQL instance ID. This does not include the project ID.
- * @param {string} request.project
- *   Project ID of the project that contains the instance.
- * @param {object} [options]
- *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
- * @returns {Promise} - The promise which resolves to an array.
- *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1beta4.InstancesListServerCasResponse|InstancesListServerCasResponse}.
- *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
- *   for more details and examples.
- * @example <caption>include:samples/generated/v1beta4/sql_instances_service.list_server_cas.js</caption>
- * region_tag:sqladmin_v1beta4_generated_SqlInstancesService_ListServerCas_async
- */
+  /**
+   * Lists all of the trusted Certificate Authorities (CAs) for the specified
+   * instance. There can be up to three CAs listed: the CA that was used to sign
+   * the certificate that is currently in use, a CA that has been added but not
+   * yet used to sign a certificate, and a CA used to sign a certificate that
+   * has previously rotated out.
+   *
+   * @param {Object} request
+   *   The request object that will be sent.
+   * @param {string} request.instance
+   *   Cloud SQL instance ID. This does not include the project ID.
+   * @param {string} request.project
+   *   Project ID of the project that contains the instance.
+   * @param {object} [options]
+   *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+   * @returns {Promise} - The promise which resolves to an array.
+   *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1beta4.InstancesListServerCasResponse|InstancesListServerCasResponse}.
+   *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
+   *   for more details and examples.
+   * @example <caption>include:samples/generated/v1beta4/sql_instances_service.list_server_cas.js</caption>
+   * region_tag:sqladmin_v1beta4_generated_SqlInstancesService_ListServerCas_async
+   */
   listServerCas(
-      request?: protos.google.cloud.sql.v1beta4.ISqlInstancesListServerCasRequest,
-      options?: CallOptions):
-      Promise<[
-        protos.google.cloud.sql.v1beta4.IInstancesListServerCasResponse,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesListServerCasRequest|undefined, {}|undefined
-      ]>;
+    request?: protos.google.cloud.sql.v1beta4.ISqlInstancesListServerCasRequest,
+    options?: CallOptions,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1beta4.IInstancesListServerCasResponse,
+      (
+        | protos.google.cloud.sql.v1beta4.ISqlInstancesListServerCasRequest
+        | undefined
+      ),
+      {} | undefined,
+    ]
+  >;
   listServerCas(
-      request: protos.google.cloud.sql.v1beta4.ISqlInstancesListServerCasRequest,
-      options: CallOptions,
-      callback: Callback<
-          protos.google.cloud.sql.v1beta4.IInstancesListServerCasResponse,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesListServerCasRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1beta4.ISqlInstancesListServerCasRequest,
+    options: CallOptions,
+    callback: Callback<
+      protos.google.cloud.sql.v1beta4.IInstancesListServerCasResponse,
+      | protos.google.cloud.sql.v1beta4.ISqlInstancesListServerCasRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   listServerCas(
-      request: protos.google.cloud.sql.v1beta4.ISqlInstancesListServerCasRequest,
-      callback: Callback<
-          protos.google.cloud.sql.v1beta4.IInstancesListServerCasResponse,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesListServerCasRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1beta4.ISqlInstancesListServerCasRequest,
+    callback: Callback<
+      protos.google.cloud.sql.v1beta4.IInstancesListServerCasResponse,
+      | protos.google.cloud.sql.v1beta4.ISqlInstancesListServerCasRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   listServerCas(
-      request?: protos.google.cloud.sql.v1beta4.ISqlInstancesListServerCasRequest,
-      optionsOrCallback?: CallOptions|Callback<
-          protos.google.cloud.sql.v1beta4.IInstancesListServerCasResponse,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesListServerCasRequest|null|undefined,
-          {}|null|undefined>,
-      callback?: Callback<
+    request?: protos.google.cloud.sql.v1beta4.ISqlInstancesListServerCasRequest,
+    optionsOrCallback?:
+      | CallOptions
+      | Callback<
           protos.google.cloud.sql.v1beta4.IInstancesListServerCasResponse,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesListServerCasRequest|null|undefined,
-          {}|null|undefined>):
-      Promise<[
-        protos.google.cloud.sql.v1beta4.IInstancesListServerCasResponse,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesListServerCasRequest|undefined, {}|undefined
-      ]>|void {
+          | protos.google.cloud.sql.v1beta4.ISqlInstancesListServerCasRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >,
+    callback?: Callback<
+      protos.google.cloud.sql.v1beta4.IInstancesListServerCasResponse,
+      | protos.google.cloud.sql.v1beta4.ISqlInstancesListServerCasRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1beta4.IInstancesListServerCasResponse,
+      (
+        | protos.google.cloud.sql.v1beta4.ISqlInstancesListServerCasRequest
+        | undefined
+      ),
+      {} | undefined,
+    ]
+  > | void {
     request = request || {};
     let options: CallOptions;
     if (typeof optionsOrCallback === 'function' && callback === undefined) {
       callback = optionsOrCallback;
       options = {};
-    }
-    else {
+    } else {
       options = optionsOrCallback as CallOptions;
     }
     options = options || {};
     options.otherArgs = options.otherArgs || {};
     options.otherArgs.headers = options.otherArgs.headers || {};
-    options.otherArgs.headers[
-      'x-goog-request-params'
-    ] = this._gaxModule.routingHeader.fromParams({
-      'project': request.project ?? '',
-      'instance': request.instance ?? '',
+    options.otherArgs.headers['x-goog-request-params'] =
+      this._gaxModule.routingHeader.fromParams({
+        project: request.project ?? '',
+        instance: request.instance ?? '',
+      });
+    this.initialize().catch((err) => {
+      throw err;
     });
-    this.initialize().catch(err => {throw err});
     this._log.info('listServerCas request %j', request);
-    const wrappedCallback: Callback<
-        protos.google.cloud.sql.v1beta4.IInstancesListServerCasResponse,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesListServerCasRequest|null|undefined,
-        {}|null|undefined>|undefined = callback
+    const wrappedCallback:
+      | Callback<
+          protos.google.cloud.sql.v1beta4.IInstancesListServerCasResponse,
+          | protos.google.cloud.sql.v1beta4.ISqlInstancesListServerCasRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >
+      | undefined = callback
       ? (error, response, options, rawResponse) => {
           this._log.info('listServerCas response %j', response);
           callback!(error, response, options, rawResponse); // We verified callback above.
         }
       : undefined;
-    return this.innerApiCalls.listServerCas(request, options, wrappedCallback)
-      ?.then(([response, options, rawResponse]: [
-        protos.google.cloud.sql.v1beta4.IInstancesListServerCasResponse,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesListServerCasRequest|undefined,
-        {}|undefined
-      ]) => {
-        this._log.info('listServerCas response %j', response);
-        return [response, options, rawResponse];
-      }).catch((error: any) => {
-        if (error && 'statusDetails' in error && error.statusDetails instanceof Array) {
-          const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type;
-          error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos);
+    return this.innerApiCalls
+      .listServerCas(request, options, wrappedCallback)
+      ?.then(
+        ([response, options, rawResponse]: [
+          protos.google.cloud.sql.v1beta4.IInstancesListServerCasResponse,
+          (
+            | protos.google.cloud.sql.v1beta4.ISqlInstancesListServerCasRequest
+            | undefined
+          ),
+          {} | undefined,
+        ]) => {
+          this._log.info('listServerCas response %j', response);
+          return [response, options, rawResponse];
+        },
+      )
+      .catch((error: any) => {
+        if (
+          error &&
+          'statusDetails' in error &&
+          error.statusDetails instanceof Array
+        ) {
+          const protos = this._gaxModule.protobuf.Root.fromJSON(
+            jsonProtos,
+          ) as unknown as gax.protobuf.Type;
+          error.statusDetails = decodeAnyProtosInArray(
+            error.statusDetails,
+            protos,
+          );
         }
         throw error;
       });
   }
-/**
- * Lists all versions of server certificates and certificate authorities (CAs)
- * for the specified instance. There can be up to three sets of certs listed:
- * the certificate that is currently in use, a future that has been added but
- * not yet used to sign a certificate, and a certificate that has been rotated
- * out. For instances not using Certificate Authority Service (CAS) server CA,
- * use ListServerCas instead.
- *
- * @param {Object} request
- *   The request object that will be sent.
- * @param {string} request.instance
- *   Required. Cloud SQL instance ID. This does not include the project ID.
- * @param {string} request.project
- *   Required. Project ID of the project that contains the instance.
- * @param {object} [options]
- *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
- * @returns {Promise} - The promise which resolves to an array.
- *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1beta4.InstancesListServerCertificatesResponse|InstancesListServerCertificatesResponse}.
- *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
- *   for more details and examples.
- * @example <caption>include:samples/generated/v1beta4/sql_instances_service.list_server_certificates.js</caption>
- * region_tag:sqladmin_v1beta4_generated_SqlInstancesService_ListServerCertificates_async
- */
+  /**
+   * Lists all versions of server certificates and certificate authorities (CAs)
+   * for the specified instance. There can be up to three sets of certs listed:
+   * the certificate that is currently in use, a future that has been added but
+   * not yet used to sign a certificate, and a certificate that has been rotated
+   * out. For instances not using Certificate Authority Service (CAS) server CA,
+   * use ListServerCas instead.
+   *
+   * @param {Object} request
+   *   The request object that will be sent.
+   * @param {string} request.instance
+   *   Required. Cloud SQL instance ID. This does not include the project ID.
+   * @param {string} request.project
+   *   Required. Project ID of the project that contains the instance.
+   * @param {object} [options]
+   *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+   * @returns {Promise} - The promise which resolves to an array.
+   *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1beta4.InstancesListServerCertificatesResponse|InstancesListServerCertificatesResponse}.
+   *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
+   *   for more details and examples.
+   * @example <caption>include:samples/generated/v1beta4/sql_instances_service.list_server_certificates.js</caption>
+   * region_tag:sqladmin_v1beta4_generated_SqlInstancesService_ListServerCertificates_async
+   */
   listServerCertificates(
-      request?: protos.google.cloud.sql.v1beta4.ISqlInstancesListServerCertificatesRequest,
-      options?: CallOptions):
-      Promise<[
-        protos.google.cloud.sql.v1beta4.IInstancesListServerCertificatesResponse,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesListServerCertificatesRequest|undefined, {}|undefined
-      ]>;
+    request?: protos.google.cloud.sql.v1beta4.ISqlInstancesListServerCertificatesRequest,
+    options?: CallOptions,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1beta4.IInstancesListServerCertificatesResponse,
+      (
+        | protos.google.cloud.sql.v1beta4.ISqlInstancesListServerCertificatesRequest
+        | undefined
+      ),
+      {} | undefined,
+    ]
+  >;
   listServerCertificates(
-      request: protos.google.cloud.sql.v1beta4.ISqlInstancesListServerCertificatesRequest,
-      options: CallOptions,
-      callback: Callback<
-          protos.google.cloud.sql.v1beta4.IInstancesListServerCertificatesResponse,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesListServerCertificatesRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1beta4.ISqlInstancesListServerCertificatesRequest,
+    options: CallOptions,
+    callback: Callback<
+      protos.google.cloud.sql.v1beta4.IInstancesListServerCertificatesResponse,
+      | protos.google.cloud.sql.v1beta4.ISqlInstancesListServerCertificatesRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   listServerCertificates(
-      request: protos.google.cloud.sql.v1beta4.ISqlInstancesListServerCertificatesRequest,
-      callback: Callback<
-          protos.google.cloud.sql.v1beta4.IInstancesListServerCertificatesResponse,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesListServerCertificatesRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1beta4.ISqlInstancesListServerCertificatesRequest,
+    callback: Callback<
+      protos.google.cloud.sql.v1beta4.IInstancesListServerCertificatesResponse,
+      | protos.google.cloud.sql.v1beta4.ISqlInstancesListServerCertificatesRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   listServerCertificates(
-      request?: protos.google.cloud.sql.v1beta4.ISqlInstancesListServerCertificatesRequest,
-      optionsOrCallback?: CallOptions|Callback<
-          protos.google.cloud.sql.v1beta4.IInstancesListServerCertificatesResponse,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesListServerCertificatesRequest|null|undefined,
-          {}|null|undefined>,
-      callback?: Callback<
+    request?: protos.google.cloud.sql.v1beta4.ISqlInstancesListServerCertificatesRequest,
+    optionsOrCallback?:
+      | CallOptions
+      | Callback<
           protos.google.cloud.sql.v1beta4.IInstancesListServerCertificatesResponse,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesListServerCertificatesRequest|null|undefined,
-          {}|null|undefined>):
-      Promise<[
-        protos.google.cloud.sql.v1beta4.IInstancesListServerCertificatesResponse,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesListServerCertificatesRequest|undefined, {}|undefined
-      ]>|void {
+          | protos.google.cloud.sql.v1beta4.ISqlInstancesListServerCertificatesRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >,
+    callback?: Callback<
+      protos.google.cloud.sql.v1beta4.IInstancesListServerCertificatesResponse,
+      | protos.google.cloud.sql.v1beta4.ISqlInstancesListServerCertificatesRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1beta4.IInstancesListServerCertificatesResponse,
+      (
+        | protos.google.cloud.sql.v1beta4.ISqlInstancesListServerCertificatesRequest
+        | undefined
+      ),
+      {} | undefined,
+    ]
+  > | void {
     request = request || {};
     let options: CallOptions;
     if (typeof optionsOrCallback === 'function' && callback === undefined) {
       callback = optionsOrCallback;
       options = {};
-    }
-    else {
+    } else {
       options = optionsOrCallback as CallOptions;
     }
     options = options || {};
     options.otherArgs = options.otherArgs || {};
     options.otherArgs.headers = options.otherArgs.headers || {};
-    options.otherArgs.headers[
-      'x-goog-request-params'
-    ] = this._gaxModule.routingHeader.fromParams({
-      'project': request.project ?? '',
-      'instance': request.instance ?? '',
+    options.otherArgs.headers['x-goog-request-params'] =
+      this._gaxModule.routingHeader.fromParams({
+        project: request.project ?? '',
+        instance: request.instance ?? '',
+      });
+    this.initialize().catch((err) => {
+      throw err;
     });
-    this.initialize().catch(err => {throw err});
     this._log.info('listServerCertificates request %j', request);
-    const wrappedCallback: Callback<
-        protos.google.cloud.sql.v1beta4.IInstancesListServerCertificatesResponse,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesListServerCertificatesRequest|null|undefined,
-        {}|null|undefined>|undefined = callback
+    const wrappedCallback:
+      | Callback<
+          protos.google.cloud.sql.v1beta4.IInstancesListServerCertificatesResponse,
+          | protos.google.cloud.sql.v1beta4.ISqlInstancesListServerCertificatesRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >
+      | undefined = callback
       ? (error, response, options, rawResponse) => {
           this._log.info('listServerCertificates response %j', response);
           callback!(error, response, options, rawResponse); // We verified callback above.
         }
       : undefined;
-    return this.innerApiCalls.listServerCertificates(request, options, wrappedCallback)
-      ?.then(([response, options, rawResponse]: [
-        protos.google.cloud.sql.v1beta4.IInstancesListServerCertificatesResponse,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesListServerCertificatesRequest|undefined,
-        {}|undefined
-      ]) => {
-        this._log.info('listServerCertificates response %j', response);
-        return [response, options, rawResponse];
-      }).catch((error: any) => {
-        if (error && 'statusDetails' in error && error.statusDetails instanceof Array) {
-          const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type;
-          error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos);
+    return this.innerApiCalls
+      .listServerCertificates(request, options, wrappedCallback)
+      ?.then(
+        ([response, options, rawResponse]: [
+          protos.google.cloud.sql.v1beta4.IInstancesListServerCertificatesResponse,
+          (
+            | protos.google.cloud.sql.v1beta4.ISqlInstancesListServerCertificatesRequest
+            | undefined
+          ),
+          {} | undefined,
+        ]) => {
+          this._log.info('listServerCertificates response %j', response);
+          return [response, options, rawResponse];
+        },
+      )
+      .catch((error: any) => {
+        if (
+          error &&
+          'statusDetails' in error &&
+          error.statusDetails instanceof Array
+        ) {
+          const protos = this._gaxModule.protobuf.Root.fromJSON(
+            jsonProtos,
+          ) as unknown as gax.protobuf.Type;
+          error.statusDetails = decodeAnyProtosInArray(
+            error.statusDetails,
+            protos,
+          );
         }
         throw error;
       });
   }
-/**
- * Lists all versions of EntraID certificates for the specified instance.
- * There can be up to three sets of certificates listed: the certificate that
- * is currently in use, a future that has been added but not yet used to sign
- * a certificate, and a certificate that has been rotated out.
- *
- * @param {Object} request
- *   The request object that will be sent.
- * @param {string} request.instance
- *   Required. Cloud SQL instance ID. This does not include the project ID.
- * @param {string} request.project
- *   Required. Project ID of the project that contains the instance.
- * @param {object} [options]
- *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
- * @returns {Promise} - The promise which resolves to an array.
- *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1beta4.InstancesListEntraIdCertificatesResponse|InstancesListEntraIdCertificatesResponse}.
- *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
- *   for more details and examples.
- * @example <caption>include:samples/generated/v1beta4/sql_instances_service.list_entra_id_certificates.js</caption>
- * region_tag:sqladmin_v1beta4_generated_SqlInstancesService_ListEntraIdCertificates_async
- */
+  /**
+   * Lists all versions of EntraID certificates for the specified instance.
+   * There can be up to three sets of certificates listed: the certificate that
+   * is currently in use, a future that has been added but not yet used to sign
+   * a certificate, and a certificate that has been rotated out.
+   *
+   * @param {Object} request
+   *   The request object that will be sent.
+   * @param {string} request.instance
+   *   Required. Cloud SQL instance ID. This does not include the project ID.
+   * @param {string} request.project
+   *   Required. Project ID of the project that contains the instance.
+   * @param {object} [options]
+   *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+   * @returns {Promise} - The promise which resolves to an array.
+   *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1beta4.InstancesListEntraIdCertificatesResponse|InstancesListEntraIdCertificatesResponse}.
+   *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
+   *   for more details and examples.
+   * @example <caption>include:samples/generated/v1beta4/sql_instances_service.list_entra_id_certificates.js</caption>
+   * region_tag:sqladmin_v1beta4_generated_SqlInstancesService_ListEntraIdCertificates_async
+   */
   listEntraIdCertificates(
-      request?: protos.google.cloud.sql.v1beta4.ISqlInstancesListEntraIdCertificatesRequest,
-      options?: CallOptions):
-      Promise<[
-        protos.google.cloud.sql.v1beta4.IInstancesListEntraIdCertificatesResponse,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesListEntraIdCertificatesRequest|undefined, {}|undefined
-      ]>;
+    request?: protos.google.cloud.sql.v1beta4.ISqlInstancesListEntraIdCertificatesRequest,
+    options?: CallOptions,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1beta4.IInstancesListEntraIdCertificatesResponse,
+      (
+        | protos.google.cloud.sql.v1beta4.ISqlInstancesListEntraIdCertificatesRequest
+        | undefined
+      ),
+      {} | undefined,
+    ]
+  >;
   listEntraIdCertificates(
-      request: protos.google.cloud.sql.v1beta4.ISqlInstancesListEntraIdCertificatesRequest,
-      options: CallOptions,
-      callback: Callback<
-          protos.google.cloud.sql.v1beta4.IInstancesListEntraIdCertificatesResponse,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesListEntraIdCertificatesRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1beta4.ISqlInstancesListEntraIdCertificatesRequest,
+    options: CallOptions,
+    callback: Callback<
+      protos.google.cloud.sql.v1beta4.IInstancesListEntraIdCertificatesResponse,
+      | protos.google.cloud.sql.v1beta4.ISqlInstancesListEntraIdCertificatesRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   listEntraIdCertificates(
-      request: protos.google.cloud.sql.v1beta4.ISqlInstancesListEntraIdCertificatesRequest,
-      callback: Callback<
-          protos.google.cloud.sql.v1beta4.IInstancesListEntraIdCertificatesResponse,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesListEntraIdCertificatesRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1beta4.ISqlInstancesListEntraIdCertificatesRequest,
+    callback: Callback<
+      protos.google.cloud.sql.v1beta4.IInstancesListEntraIdCertificatesResponse,
+      | protos.google.cloud.sql.v1beta4.ISqlInstancesListEntraIdCertificatesRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   listEntraIdCertificates(
-      request?: protos.google.cloud.sql.v1beta4.ISqlInstancesListEntraIdCertificatesRequest,
-      optionsOrCallback?: CallOptions|Callback<
-          protos.google.cloud.sql.v1beta4.IInstancesListEntraIdCertificatesResponse,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesListEntraIdCertificatesRequest|null|undefined,
-          {}|null|undefined>,
-      callback?: Callback<
+    request?: protos.google.cloud.sql.v1beta4.ISqlInstancesListEntraIdCertificatesRequest,
+    optionsOrCallback?:
+      | CallOptions
+      | Callback<
           protos.google.cloud.sql.v1beta4.IInstancesListEntraIdCertificatesResponse,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesListEntraIdCertificatesRequest|null|undefined,
-          {}|null|undefined>):
-      Promise<[
-        protos.google.cloud.sql.v1beta4.IInstancesListEntraIdCertificatesResponse,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesListEntraIdCertificatesRequest|undefined, {}|undefined
-      ]>|void {
+          | protos.google.cloud.sql.v1beta4.ISqlInstancesListEntraIdCertificatesRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >,
+    callback?: Callback<
+      protos.google.cloud.sql.v1beta4.IInstancesListEntraIdCertificatesResponse,
+      | protos.google.cloud.sql.v1beta4.ISqlInstancesListEntraIdCertificatesRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1beta4.IInstancesListEntraIdCertificatesResponse,
+      (
+        | protos.google.cloud.sql.v1beta4.ISqlInstancesListEntraIdCertificatesRequest
+        | undefined
+      ),
+      {} | undefined,
+    ]
+  > | void {
     request = request || {};
     let options: CallOptions;
     if (typeof optionsOrCallback === 'function' && callback === undefined) {
       callback = optionsOrCallback;
       options = {};
-    }
-    else {
+    } else {
       options = optionsOrCallback as CallOptions;
     }
     options = options || {};
     options.otherArgs = options.otherArgs || {};
     options.otherArgs.headers = options.otherArgs.headers || {};
-    options.otherArgs.headers[
-      'x-goog-request-params'
-    ] = this._gaxModule.routingHeader.fromParams({
-      'project': request.project ?? '',
-      'instance': request.instance ?? '',
+    options.otherArgs.headers['x-goog-request-params'] =
+      this._gaxModule.routingHeader.fromParams({
+        project: request.project ?? '',
+        instance: request.instance ?? '',
+      });
+    this.initialize().catch((err) => {
+      throw err;
     });
-    this.initialize().catch(err => {throw err});
     this._log.info('listEntraIdCertificates request %j', request);
-    const wrappedCallback: Callback<
-        protos.google.cloud.sql.v1beta4.IInstancesListEntraIdCertificatesResponse,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesListEntraIdCertificatesRequest|null|undefined,
-        {}|null|undefined>|undefined = callback
+    const wrappedCallback:
+      | Callback<
+          protos.google.cloud.sql.v1beta4.IInstancesListEntraIdCertificatesResponse,
+          | protos.google.cloud.sql.v1beta4.ISqlInstancesListEntraIdCertificatesRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >
+      | undefined = callback
       ? (error, response, options, rawResponse) => {
           this._log.info('listEntraIdCertificates response %j', response);
           callback!(error, response, options, rawResponse); // We verified callback above.
         }
       : undefined;
-    return this.innerApiCalls.listEntraIdCertificates(request, options, wrappedCallback)
-      ?.then(([response, options, rawResponse]: [
-        protos.google.cloud.sql.v1beta4.IInstancesListEntraIdCertificatesResponse,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesListEntraIdCertificatesRequest|undefined,
-        {}|undefined
-      ]) => {
-        this._log.info('listEntraIdCertificates response %j', response);
-        return [response, options, rawResponse];
-      }).catch((error: any) => {
-        if (error && 'statusDetails' in error && error.statusDetails instanceof Array) {
-          const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type;
-          error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos);
+    return this.innerApiCalls
+      .listEntraIdCertificates(request, options, wrappedCallback)
+      ?.then(
+        ([response, options, rawResponse]: [
+          protos.google.cloud.sql.v1beta4.IInstancesListEntraIdCertificatesResponse,
+          (
+            | protos.google.cloud.sql.v1beta4.ISqlInstancesListEntraIdCertificatesRequest
+            | undefined
+          ),
+          {} | undefined,
+        ]) => {
+          this._log.info('listEntraIdCertificates response %j', response);
+          return [response, options, rawResponse];
+        },
+      )
+      .catch((error: any) => {
+        if (
+          error &&
+          'statusDetails' in error &&
+          error.statusDetails instanceof Array
+        ) {
+          const protos = this._gaxModule.protobuf.Root.fromJSON(
+            jsonProtos,
+          ) as unknown as gax.protobuf.Type;
+          error.statusDetails = decodeAnyProtosInArray(
+            error.statusDetails,
+            protos,
+          );
         }
         throw error;
       });
   }
-/**
- * Partially updates settings of a Cloud SQL instance by merging the request
- * with the current configuration. This method supports patch semantics.
- *
- * @param {Object} request
- *   The request object that will be sent.
- * @param {string} request.instance
- *   Cloud SQL instance ID. This does not include the project ID.
- * @param {string} request.project
- *   Project ID of the project that contains the instance.
- * @param {google.cloud.sql.v1beta4.DatabaseInstance} request.body
- * @param {object} [options]
- *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
- * @returns {Promise} - The promise which resolves to an array.
- *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1beta4.Operation|Operation}.
- *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
- *   for more details and examples.
- * @example <caption>include:samples/generated/v1beta4/sql_instances_service.patch.js</caption>
- * region_tag:sqladmin_v1beta4_generated_SqlInstancesService_Patch_async
- */
+  /**
+   * Partially updates settings of a Cloud SQL instance by merging the request
+   * with the current configuration. This method supports patch semantics.
+   *
+   * @param {Object} request
+   *   The request object that will be sent.
+   * @param {string} request.instance
+   *   Cloud SQL instance ID. This does not include the project ID.
+   * @param {string} request.project
+   *   Project ID of the project that contains the instance.
+   * @param {google.cloud.sql.v1beta4.DatabaseInstance} request.body
+   * @param {object} [options]
+   *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+   * @returns {Promise} - The promise which resolves to an array.
+   *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1beta4.Operation|Operation}.
+   *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
+   *   for more details and examples.
+   * @example <caption>include:samples/generated/v1beta4/sql_instances_service.patch.js</caption>
+   * region_tag:sqladmin_v1beta4_generated_SqlInstancesService_Patch_async
+   */
   patch(
-      request?: protos.google.cloud.sql.v1beta4.ISqlInstancesPatchRequest,
-      options?: CallOptions):
-      Promise<[
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesPatchRequest|undefined, {}|undefined
-      ]>;
+    request?: protos.google.cloud.sql.v1beta4.ISqlInstancesPatchRequest,
+    options?: CallOptions,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1beta4.IOperation,
+      protos.google.cloud.sql.v1beta4.ISqlInstancesPatchRequest | undefined,
+      {} | undefined,
+    ]
+  >;
   patch(
-      request: protos.google.cloud.sql.v1beta4.ISqlInstancesPatchRequest,
-      options: CallOptions,
-      callback: Callback<
-          protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesPatchRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1beta4.ISqlInstancesPatchRequest,
+    options: CallOptions,
+    callback: Callback<
+      protos.google.cloud.sql.v1beta4.IOperation,
+      | protos.google.cloud.sql.v1beta4.ISqlInstancesPatchRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   patch(
-      request: protos.google.cloud.sql.v1beta4.ISqlInstancesPatchRequest,
-      callback: Callback<
-          protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesPatchRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1beta4.ISqlInstancesPatchRequest,
+    callback: Callback<
+      protos.google.cloud.sql.v1beta4.IOperation,
+      | protos.google.cloud.sql.v1beta4.ISqlInstancesPatchRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   patch(
-      request?: protos.google.cloud.sql.v1beta4.ISqlInstancesPatchRequest,
-      optionsOrCallback?: CallOptions|Callback<
-          protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesPatchRequest|null|undefined,
-          {}|null|undefined>,
-      callback?: Callback<
+    request?: protos.google.cloud.sql.v1beta4.ISqlInstancesPatchRequest,
+    optionsOrCallback?:
+      | CallOptions
+      | Callback<
           protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesPatchRequest|null|undefined,
-          {}|null|undefined>):
-      Promise<[
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesPatchRequest|undefined, {}|undefined
-      ]>|void {
+          | protos.google.cloud.sql.v1beta4.ISqlInstancesPatchRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >,
+    callback?: Callback<
+      protos.google.cloud.sql.v1beta4.IOperation,
+      | protos.google.cloud.sql.v1beta4.ISqlInstancesPatchRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1beta4.IOperation,
+      protos.google.cloud.sql.v1beta4.ISqlInstancesPatchRequest | undefined,
+      {} | undefined,
+    ]
+  > | void {
     request = request || {};
     let options: CallOptions;
     if (typeof optionsOrCallback === 'function' && callback === undefined) {
       callback = optionsOrCallback;
       options = {};
-    }
-    else {
+    } else {
       options = optionsOrCallback as CallOptions;
     }
     options = options || {};
     options.otherArgs = options.otherArgs || {};
     options.otherArgs.headers = options.otherArgs.headers || {};
-    options.otherArgs.headers[
-      'x-goog-request-params'
-    ] = this._gaxModule.routingHeader.fromParams({
-      'project': request.project ?? '',
-      'instance': request.instance ?? '',
+    options.otherArgs.headers['x-goog-request-params'] =
+      this._gaxModule.routingHeader.fromParams({
+        project: request.project ?? '',
+        instance: request.instance ?? '',
+      });
+    this.initialize().catch((err) => {
+      throw err;
     });
-    this.initialize().catch(err => {throw err});
     this._log.info('patch request %j', request);
-    const wrappedCallback: Callback<
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesPatchRequest|null|undefined,
-        {}|null|undefined>|undefined = callback
+    const wrappedCallback:
+      | Callback<
+          protos.google.cloud.sql.v1beta4.IOperation,
+          | protos.google.cloud.sql.v1beta4.ISqlInstancesPatchRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >
+      | undefined = callback
       ? (error, response, options, rawResponse) => {
           this._log.info('patch response %j', response);
           callback!(error, response, options, rawResponse); // We verified callback above.
         }
       : undefined;
-    return this.innerApiCalls.patch(request, options, wrappedCallback)
-      ?.then(([response, options, rawResponse]: [
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesPatchRequest|undefined,
-        {}|undefined
-      ]) => {
-        this._log.info('patch response %j', response);
-        return [response, options, rawResponse];
-      }).catch((error: any) => {
-        if (error && 'statusDetails' in error && error.statusDetails instanceof Array) {
-          const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type;
-          error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos);
+    return this.innerApiCalls
+      .patch(request, options, wrappedCallback)
+      ?.then(
+        ([response, options, rawResponse]: [
+          protos.google.cloud.sql.v1beta4.IOperation,
+          protos.google.cloud.sql.v1beta4.ISqlInstancesPatchRequest | undefined,
+          {} | undefined,
+        ]) => {
+          this._log.info('patch response %j', response);
+          return [response, options, rawResponse];
+        },
+      )
+      .catch((error: any) => {
+        if (
+          error &&
+          'statusDetails' in error &&
+          error.statusDetails instanceof Array
+        ) {
+          const protos = this._gaxModule.protobuf.Root.fromJSON(
+            jsonProtos,
+          ) as unknown as gax.protobuf.Type;
+          error.statusDetails = decodeAnyProtosInArray(
+            error.statusDetails,
+            protos,
+          );
         }
         throw error;
       });
   }
-/**
- * Promotes the read replica instance to be an independent Cloud SQL
- * primary instance.
- * Using this operation might cause your instance to restart.
- *
- * @param {Object} request
- *   The request object that will be sent.
- * @param {string} request.instance
- *   Cloud SQL read replica instance name.
- * @param {string} request.project
- *   ID of the project that contains the read replica.
- * @param {boolean} request.failover
- *   Set to true to invoke a replica failover to the DR replica.
- *   As part of replica failover, the promote operation attempts
- *   to add the original primary instance as a replica of the promoted
- *   DR replica when the original primary instance comes back online.
- *   If set to false or not specified, then the original primary
- *   instance becomes an independent Cloud SQL primary instance.
- * @param {object} [options]
- *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
- * @returns {Promise} - The promise which resolves to an array.
- *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1beta4.Operation|Operation}.
- *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
- *   for more details and examples.
- * @example <caption>include:samples/generated/v1beta4/sql_instances_service.promote_replica.js</caption>
- * region_tag:sqladmin_v1beta4_generated_SqlInstancesService_PromoteReplica_async
- */
+  /**
+   * Promotes the read replica instance to be an independent Cloud SQL
+   * primary instance.
+   * Using this operation might cause your instance to restart.
+   *
+   * @param {Object} request
+   *   The request object that will be sent.
+   * @param {string} request.instance
+   *   Cloud SQL read replica instance name.
+   * @param {string} request.project
+   *   ID of the project that contains the read replica.
+   * @param {boolean} request.failover
+   *   Set to true to invoke a replica failover to the DR replica.
+   *   As part of replica failover, the promote operation attempts
+   *   to add the original primary instance as a replica of the promoted
+   *   DR replica when the original primary instance comes back online.
+   *   If set to false or not specified, then the original primary
+   *   instance becomes an independent Cloud SQL primary instance.
+   * @param {object} [options]
+   *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+   * @returns {Promise} - The promise which resolves to an array.
+   *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1beta4.Operation|Operation}.
+   *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
+   *   for more details and examples.
+   * @example <caption>include:samples/generated/v1beta4/sql_instances_service.promote_replica.js</caption>
+   * region_tag:sqladmin_v1beta4_generated_SqlInstancesService_PromoteReplica_async
+   */
   promoteReplica(
-      request?: protos.google.cloud.sql.v1beta4.ISqlInstancesPromoteReplicaRequest,
-      options?: CallOptions):
-      Promise<[
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesPromoteReplicaRequest|undefined, {}|undefined
-      ]>;
+    request?: protos.google.cloud.sql.v1beta4.ISqlInstancesPromoteReplicaRequest,
+    options?: CallOptions,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1beta4.IOperation,
+      (
+        | protos.google.cloud.sql.v1beta4.ISqlInstancesPromoteReplicaRequest
+        | undefined
+      ),
+      {} | undefined,
+    ]
+  >;
   promoteReplica(
-      request: protos.google.cloud.sql.v1beta4.ISqlInstancesPromoteReplicaRequest,
-      options: CallOptions,
-      callback: Callback<
-          protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesPromoteReplicaRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1beta4.ISqlInstancesPromoteReplicaRequest,
+    options: CallOptions,
+    callback: Callback<
+      protos.google.cloud.sql.v1beta4.IOperation,
+      | protos.google.cloud.sql.v1beta4.ISqlInstancesPromoteReplicaRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   promoteReplica(
-      request: protos.google.cloud.sql.v1beta4.ISqlInstancesPromoteReplicaRequest,
-      callback: Callback<
-          protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesPromoteReplicaRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1beta4.ISqlInstancesPromoteReplicaRequest,
+    callback: Callback<
+      protos.google.cloud.sql.v1beta4.IOperation,
+      | protos.google.cloud.sql.v1beta4.ISqlInstancesPromoteReplicaRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   promoteReplica(
-      request?: protos.google.cloud.sql.v1beta4.ISqlInstancesPromoteReplicaRequest,
-      optionsOrCallback?: CallOptions|Callback<
-          protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesPromoteReplicaRequest|null|undefined,
-          {}|null|undefined>,
-      callback?: Callback<
+    request?: protos.google.cloud.sql.v1beta4.ISqlInstancesPromoteReplicaRequest,
+    optionsOrCallback?:
+      | CallOptions
+      | Callback<
           protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesPromoteReplicaRequest|null|undefined,
-          {}|null|undefined>):
-      Promise<[
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesPromoteReplicaRequest|undefined, {}|undefined
-      ]>|void {
+          | protos.google.cloud.sql.v1beta4.ISqlInstancesPromoteReplicaRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >,
+    callback?: Callback<
+      protos.google.cloud.sql.v1beta4.IOperation,
+      | protos.google.cloud.sql.v1beta4.ISqlInstancesPromoteReplicaRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1beta4.IOperation,
+      (
+        | protos.google.cloud.sql.v1beta4.ISqlInstancesPromoteReplicaRequest
+        | undefined
+      ),
+      {} | undefined,
+    ]
+  > | void {
     request = request || {};
     let options: CallOptions;
     if (typeof optionsOrCallback === 'function' && callback === undefined) {
       callback = optionsOrCallback;
       options = {};
-    }
-    else {
+    } else {
       options = optionsOrCallback as CallOptions;
     }
     options = options || {};
     options.otherArgs = options.otherArgs || {};
     options.otherArgs.headers = options.otherArgs.headers || {};
-    options.otherArgs.headers[
-      'x-goog-request-params'
-    ] = this._gaxModule.routingHeader.fromParams({
-      'project': request.project ?? '',
-      'instance': request.instance ?? '',
+    options.otherArgs.headers['x-goog-request-params'] =
+      this._gaxModule.routingHeader.fromParams({
+        project: request.project ?? '',
+        instance: request.instance ?? '',
+      });
+    this.initialize().catch((err) => {
+      throw err;
     });
-    this.initialize().catch(err => {throw err});
     this._log.info('promoteReplica request %j', request);
-    const wrappedCallback: Callback<
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesPromoteReplicaRequest|null|undefined,
-        {}|null|undefined>|undefined = callback
+    const wrappedCallback:
+      | Callback<
+          protos.google.cloud.sql.v1beta4.IOperation,
+          | protos.google.cloud.sql.v1beta4.ISqlInstancesPromoteReplicaRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >
+      | undefined = callback
       ? (error, response, options, rawResponse) => {
           this._log.info('promoteReplica response %j', response);
           callback!(error, response, options, rawResponse); // We verified callback above.
         }
       : undefined;
-    return this.innerApiCalls.promoteReplica(request, options, wrappedCallback)
-      ?.then(([response, options, rawResponse]: [
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesPromoteReplicaRequest|undefined,
-        {}|undefined
-      ]) => {
-        this._log.info('promoteReplica response %j', response);
-        return [response, options, rawResponse];
-      }).catch((error: any) => {
-        if (error && 'statusDetails' in error && error.statusDetails instanceof Array) {
-          const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type;
-          error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos);
+    return this.innerApiCalls
+      .promoteReplica(request, options, wrappedCallback)
+      ?.then(
+        ([response, options, rawResponse]: [
+          protos.google.cloud.sql.v1beta4.IOperation,
+          (
+            | protos.google.cloud.sql.v1beta4.ISqlInstancesPromoteReplicaRequest
+            | undefined
+          ),
+          {} | undefined,
+        ]) => {
+          this._log.info('promoteReplica response %j', response);
+          return [response, options, rawResponse];
+        },
+      )
+      .catch((error: any) => {
+        if (
+          error &&
+          'statusDetails' in error &&
+          error.statusDetails instanceof Array
+        ) {
+          const protos = this._gaxModule.protobuf.Root.fromJSON(
+            jsonProtos,
+          ) as unknown as gax.protobuf.Type;
+          error.statusDetails = decodeAnyProtosInArray(
+            error.statusDetails,
+            protos,
+          );
         }
         throw error;
       });
   }
-/**
- * Switches over from the primary instance to the DR replica
- * instance.
- *
- * @param {Object} request
- *   The request object that will be sent.
- * @param {string} request.instance
- *   Cloud SQL read replica instance name.
- * @param {string} request.project
- *   ID of the project that contains the replica.
- * @param {google.protobuf.Duration} [request.dbTimeout]
- *   Optional. (MySQL and PostgreSQL only) Cloud SQL instance operations
- *   timeout, which is a sum of all database operations. Default value is 10
- *   minutes and can be modified to a maximum value of 24 hours.
- * @param {object} [options]
- *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
- * @returns {Promise} - The promise which resolves to an array.
- *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1beta4.Operation|Operation}.
- *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
- *   for more details and examples.
- * @example <caption>include:samples/generated/v1beta4/sql_instances_service.switchover.js</caption>
- * region_tag:sqladmin_v1beta4_generated_SqlInstancesService_Switchover_async
- */
+  /**
+   * Switches over from the primary instance to the DR replica
+   * instance.
+   *
+   * @param {Object} request
+   *   The request object that will be sent.
+   * @param {string} request.instance
+   *   Cloud SQL read replica instance name.
+   * @param {string} request.project
+   *   ID of the project that contains the replica.
+   * @param {google.protobuf.Duration} [request.dbTimeout]
+   *   Optional. (MySQL and PostgreSQL only) Cloud SQL instance operations
+   *   timeout, which is a sum of all database operations. Default value is 10
+   *   minutes and can be modified to a maximum value of 24 hours.
+   * @param {object} [options]
+   *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+   * @returns {Promise} - The promise which resolves to an array.
+   *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1beta4.Operation|Operation}.
+   *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
+   *   for more details and examples.
+   * @example <caption>include:samples/generated/v1beta4/sql_instances_service.switchover.js</caption>
+   * region_tag:sqladmin_v1beta4_generated_SqlInstancesService_Switchover_async
+   */
   switchover(
-      request?: protos.google.cloud.sql.v1beta4.ISqlInstancesSwitchoverRequest,
-      options?: CallOptions):
-      Promise<[
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesSwitchoverRequest|undefined, {}|undefined
-      ]>;
+    request?: protos.google.cloud.sql.v1beta4.ISqlInstancesSwitchoverRequest,
+    options?: CallOptions,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1beta4.IOperation,
+      (
+        | protos.google.cloud.sql.v1beta4.ISqlInstancesSwitchoverRequest
+        | undefined
+      ),
+      {} | undefined,
+    ]
+  >;
   switchover(
-      request: protos.google.cloud.sql.v1beta4.ISqlInstancesSwitchoverRequest,
-      options: CallOptions,
-      callback: Callback<
-          protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesSwitchoverRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1beta4.ISqlInstancesSwitchoverRequest,
+    options: CallOptions,
+    callback: Callback<
+      protos.google.cloud.sql.v1beta4.IOperation,
+      | protos.google.cloud.sql.v1beta4.ISqlInstancesSwitchoverRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   switchover(
-      request: protos.google.cloud.sql.v1beta4.ISqlInstancesSwitchoverRequest,
-      callback: Callback<
-          protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesSwitchoverRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1beta4.ISqlInstancesSwitchoverRequest,
+    callback: Callback<
+      protos.google.cloud.sql.v1beta4.IOperation,
+      | protos.google.cloud.sql.v1beta4.ISqlInstancesSwitchoverRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   switchover(
-      request?: protos.google.cloud.sql.v1beta4.ISqlInstancesSwitchoverRequest,
-      optionsOrCallback?: CallOptions|Callback<
-          protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesSwitchoverRequest|null|undefined,
-          {}|null|undefined>,
-      callback?: Callback<
+    request?: protos.google.cloud.sql.v1beta4.ISqlInstancesSwitchoverRequest,
+    optionsOrCallback?:
+      | CallOptions
+      | Callback<
           protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesSwitchoverRequest|null|undefined,
-          {}|null|undefined>):
-      Promise<[
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesSwitchoverRequest|undefined, {}|undefined
-      ]>|void {
+          | protos.google.cloud.sql.v1beta4.ISqlInstancesSwitchoverRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >,
+    callback?: Callback<
+      protos.google.cloud.sql.v1beta4.IOperation,
+      | protos.google.cloud.sql.v1beta4.ISqlInstancesSwitchoverRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1beta4.IOperation,
+      (
+        | protos.google.cloud.sql.v1beta4.ISqlInstancesSwitchoverRequest
+        | undefined
+      ),
+      {} | undefined,
+    ]
+  > | void {
     request = request || {};
     let options: CallOptions;
     if (typeof optionsOrCallback === 'function' && callback === undefined) {
       callback = optionsOrCallback;
       options = {};
-    }
-    else {
+    } else {
       options = optionsOrCallback as CallOptions;
     }
     options = options || {};
     options.otherArgs = options.otherArgs || {};
     options.otherArgs.headers = options.otherArgs.headers || {};
-    options.otherArgs.headers[
-      'x-goog-request-params'
-    ] = this._gaxModule.routingHeader.fromParams({
-      'project': request.project ?? '',
-      'instance': request.instance ?? '',
+    options.otherArgs.headers['x-goog-request-params'] =
+      this._gaxModule.routingHeader.fromParams({
+        project: request.project ?? '',
+        instance: request.instance ?? '',
+      });
+    this.initialize().catch((err) => {
+      throw err;
     });
-    this.initialize().catch(err => {throw err});
     this._log.info('switchover request %j', request);
-    const wrappedCallback: Callback<
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesSwitchoverRequest|null|undefined,
-        {}|null|undefined>|undefined = callback
+    const wrappedCallback:
+      | Callback<
+          protos.google.cloud.sql.v1beta4.IOperation,
+          | protos.google.cloud.sql.v1beta4.ISqlInstancesSwitchoverRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >
+      | undefined = callback
       ? (error, response, options, rawResponse) => {
           this._log.info('switchover response %j', response);
           callback!(error, response, options, rawResponse); // We verified callback above.
         }
       : undefined;
-    return this.innerApiCalls.switchover(request, options, wrappedCallback)
-      ?.then(([response, options, rawResponse]: [
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesSwitchoverRequest|undefined,
-        {}|undefined
-      ]) => {
-        this._log.info('switchover response %j', response);
-        return [response, options, rawResponse];
-      }).catch((error: any) => {
-        if (error && 'statusDetails' in error && error.statusDetails instanceof Array) {
-          const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type;
-          error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos);
+    return this.innerApiCalls
+      .switchover(request, options, wrappedCallback)
+      ?.then(
+        ([response, options, rawResponse]: [
+          protos.google.cloud.sql.v1beta4.IOperation,
+          (
+            | protos.google.cloud.sql.v1beta4.ISqlInstancesSwitchoverRequest
+            | undefined
+          ),
+          {} | undefined,
+        ]) => {
+          this._log.info('switchover response %j', response);
+          return [response, options, rawResponse];
+        },
+      )
+      .catch((error: any) => {
+        if (
+          error &&
+          'statusDetails' in error &&
+          error.statusDetails instanceof Array
+        ) {
+          const protos = this._gaxModule.protobuf.Root.fromJSON(
+            jsonProtos,
+          ) as unknown as gax.protobuf.Type;
+          error.statusDetails = decodeAnyProtosInArray(
+            error.statusDetails,
+            protos,
+          );
         }
         throw error;
       });
   }
-/**
- * Deletes all client certificates and generates a new server SSL certificate
- * for the instance.
- *
- * @param {Object} request
- *   The request object that will be sent.
- * @param {string} request.instance
- *   Cloud SQL instance ID. This does not include the project ID.
- * @param {string} request.project
- *   Project ID of the project that contains the instance.
- * @param {google.cloud.sql.v1beta4.SqlInstancesResetSslConfigRequest.ResetSslMode} [request.mode]
- *   Optional. Reset SSL mode to use.
- * @param {object} [options]
- *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
- * @returns {Promise} - The promise which resolves to an array.
- *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1beta4.Operation|Operation}.
- *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
- *   for more details and examples.
- * @example <caption>include:samples/generated/v1beta4/sql_instances_service.reset_ssl_config.js</caption>
- * region_tag:sqladmin_v1beta4_generated_SqlInstancesService_ResetSslConfig_async
- */
+  /**
+   * Deletes all client certificates and generates a new server SSL certificate
+   * for the instance.
+   *
+   * @param {Object} request
+   *   The request object that will be sent.
+   * @param {string} request.instance
+   *   Cloud SQL instance ID. This does not include the project ID.
+   * @param {string} request.project
+   *   Project ID of the project that contains the instance.
+   * @param {google.cloud.sql.v1beta4.SqlInstancesResetSslConfigRequest.ResetSslMode} [request.mode]
+   *   Optional. Reset SSL mode to use.
+   * @param {object} [options]
+   *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+   * @returns {Promise} - The promise which resolves to an array.
+   *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1beta4.Operation|Operation}.
+   *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
+   *   for more details and examples.
+   * @example <caption>include:samples/generated/v1beta4/sql_instances_service.reset_ssl_config.js</caption>
+   * region_tag:sqladmin_v1beta4_generated_SqlInstancesService_ResetSslConfig_async
+   */
   resetSslConfig(
-      request?: protos.google.cloud.sql.v1beta4.ISqlInstancesResetSslConfigRequest,
-      options?: CallOptions):
-      Promise<[
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesResetSslConfigRequest|undefined, {}|undefined
-      ]>;
+    request?: protos.google.cloud.sql.v1beta4.ISqlInstancesResetSslConfigRequest,
+    options?: CallOptions,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1beta4.IOperation,
+      (
+        | protos.google.cloud.sql.v1beta4.ISqlInstancesResetSslConfigRequest
+        | undefined
+      ),
+      {} | undefined,
+    ]
+  >;
   resetSslConfig(
-      request: protos.google.cloud.sql.v1beta4.ISqlInstancesResetSslConfigRequest,
-      options: CallOptions,
-      callback: Callback<
-          protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesResetSslConfigRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1beta4.ISqlInstancesResetSslConfigRequest,
+    options: CallOptions,
+    callback: Callback<
+      protos.google.cloud.sql.v1beta4.IOperation,
+      | protos.google.cloud.sql.v1beta4.ISqlInstancesResetSslConfigRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   resetSslConfig(
-      request: protos.google.cloud.sql.v1beta4.ISqlInstancesResetSslConfigRequest,
-      callback: Callback<
-          protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesResetSslConfigRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1beta4.ISqlInstancesResetSslConfigRequest,
+    callback: Callback<
+      protos.google.cloud.sql.v1beta4.IOperation,
+      | protos.google.cloud.sql.v1beta4.ISqlInstancesResetSslConfigRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   resetSslConfig(
-      request?: protos.google.cloud.sql.v1beta4.ISqlInstancesResetSslConfigRequest,
-      optionsOrCallback?: CallOptions|Callback<
-          protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesResetSslConfigRequest|null|undefined,
-          {}|null|undefined>,
-      callback?: Callback<
+    request?: protos.google.cloud.sql.v1beta4.ISqlInstancesResetSslConfigRequest,
+    optionsOrCallback?:
+      | CallOptions
+      | Callback<
           protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesResetSslConfigRequest|null|undefined,
-          {}|null|undefined>):
-      Promise<[
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesResetSslConfigRequest|undefined, {}|undefined
-      ]>|void {
+          | protos.google.cloud.sql.v1beta4.ISqlInstancesResetSslConfigRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >,
+    callback?: Callback<
+      protos.google.cloud.sql.v1beta4.IOperation,
+      | protos.google.cloud.sql.v1beta4.ISqlInstancesResetSslConfigRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1beta4.IOperation,
+      (
+        | protos.google.cloud.sql.v1beta4.ISqlInstancesResetSslConfigRequest
+        | undefined
+      ),
+      {} | undefined,
+    ]
+  > | void {
     request = request || {};
     let options: CallOptions;
     if (typeof optionsOrCallback === 'function' && callback === undefined) {
       callback = optionsOrCallback;
       options = {};
-    }
-    else {
+    } else {
       options = optionsOrCallback as CallOptions;
     }
     options = options || {};
     options.otherArgs = options.otherArgs || {};
     options.otherArgs.headers = options.otherArgs.headers || {};
-    options.otherArgs.headers[
-      'x-goog-request-params'
-    ] = this._gaxModule.routingHeader.fromParams({
-      'project': request.project ?? '',
-      'instance': request.instance ?? '',
+    options.otherArgs.headers['x-goog-request-params'] =
+      this._gaxModule.routingHeader.fromParams({
+        project: request.project ?? '',
+        instance: request.instance ?? '',
+      });
+    this.initialize().catch((err) => {
+      throw err;
     });
-    this.initialize().catch(err => {throw err});
     this._log.info('resetSslConfig request %j', request);
-    const wrappedCallback: Callback<
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesResetSslConfigRequest|null|undefined,
-        {}|null|undefined>|undefined = callback
+    const wrappedCallback:
+      | Callback<
+          protos.google.cloud.sql.v1beta4.IOperation,
+          | protos.google.cloud.sql.v1beta4.ISqlInstancesResetSslConfigRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >
+      | undefined = callback
       ? (error, response, options, rawResponse) => {
           this._log.info('resetSslConfig response %j', response);
           callback!(error, response, options, rawResponse); // We verified callback above.
         }
       : undefined;
-    return this.innerApiCalls.resetSslConfig(request, options, wrappedCallback)
-      ?.then(([response, options, rawResponse]: [
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesResetSslConfigRequest|undefined,
-        {}|undefined
-      ]) => {
-        this._log.info('resetSslConfig response %j', response);
-        return [response, options, rawResponse];
-      }).catch((error: any) => {
-        if (error && 'statusDetails' in error && error.statusDetails instanceof Array) {
-          const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type;
-          error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos);
+    return this.innerApiCalls
+      .resetSslConfig(request, options, wrappedCallback)
+      ?.then(
+        ([response, options, rawResponse]: [
+          protos.google.cloud.sql.v1beta4.IOperation,
+          (
+            | protos.google.cloud.sql.v1beta4.ISqlInstancesResetSslConfigRequest
+            | undefined
+          ),
+          {} | undefined,
+        ]) => {
+          this._log.info('resetSslConfig response %j', response);
+          return [response, options, rawResponse];
+        },
+      )
+      .catch((error: any) => {
+        if (
+          error &&
+          'statusDetails' in error &&
+          error.statusDetails instanceof Array
+        ) {
+          const protos = this._gaxModule.protobuf.Root.fromJSON(
+            jsonProtos,
+          ) as unknown as gax.protobuf.Type;
+          error.statusDetails = decodeAnyProtosInArray(
+            error.statusDetails,
+            protos,
+          );
         }
         throw error;
       });
   }
-/**
- * Restarts a Cloud SQL instance.
- *
- * @param {Object} request
- *   The request object that will be sent.
- * @param {string} request.instance
- *   Cloud SQL instance ID. This does not include the project ID.
- * @param {string} request.project
- *   Project ID of the project that contains the instance to be restarted.
- * @param {object} [options]
- *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
- * @returns {Promise} - The promise which resolves to an array.
- *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1beta4.Operation|Operation}.
- *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
- *   for more details and examples.
- * @example <caption>include:samples/generated/v1beta4/sql_instances_service.restart.js</caption>
- * region_tag:sqladmin_v1beta4_generated_SqlInstancesService_Restart_async
- */
+  /**
+   * Restarts a Cloud SQL instance.
+   *
+   * @param {Object} request
+   *   The request object that will be sent.
+   * @param {string} request.instance
+   *   Cloud SQL instance ID. This does not include the project ID.
+   * @param {string} request.project
+   *   Project ID of the project that contains the instance to be restarted.
+   * @param {object} [options]
+   *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+   * @returns {Promise} - The promise which resolves to an array.
+   *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1beta4.Operation|Operation}.
+   *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
+   *   for more details and examples.
+   * @example <caption>include:samples/generated/v1beta4/sql_instances_service.restart.js</caption>
+   * region_tag:sqladmin_v1beta4_generated_SqlInstancesService_Restart_async
+   */
   restart(
-      request?: protos.google.cloud.sql.v1beta4.ISqlInstancesRestartRequest,
-      options?: CallOptions):
-      Promise<[
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesRestartRequest|undefined, {}|undefined
-      ]>;
+    request?: protos.google.cloud.sql.v1beta4.ISqlInstancesRestartRequest,
+    options?: CallOptions,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1beta4.IOperation,
+      protos.google.cloud.sql.v1beta4.ISqlInstancesRestartRequest | undefined,
+      {} | undefined,
+    ]
+  >;
   restart(
-      request: protos.google.cloud.sql.v1beta4.ISqlInstancesRestartRequest,
-      options: CallOptions,
-      callback: Callback<
-          protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesRestartRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1beta4.ISqlInstancesRestartRequest,
+    options: CallOptions,
+    callback: Callback<
+      protos.google.cloud.sql.v1beta4.IOperation,
+      | protos.google.cloud.sql.v1beta4.ISqlInstancesRestartRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   restart(
-      request: protos.google.cloud.sql.v1beta4.ISqlInstancesRestartRequest,
-      callback: Callback<
-          protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesRestartRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1beta4.ISqlInstancesRestartRequest,
+    callback: Callback<
+      protos.google.cloud.sql.v1beta4.IOperation,
+      | protos.google.cloud.sql.v1beta4.ISqlInstancesRestartRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   restart(
-      request?: protos.google.cloud.sql.v1beta4.ISqlInstancesRestartRequest,
-      optionsOrCallback?: CallOptions|Callback<
-          protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesRestartRequest|null|undefined,
-          {}|null|undefined>,
-      callback?: Callback<
+    request?: protos.google.cloud.sql.v1beta4.ISqlInstancesRestartRequest,
+    optionsOrCallback?:
+      | CallOptions
+      | Callback<
           protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesRestartRequest|null|undefined,
-          {}|null|undefined>):
-      Promise<[
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesRestartRequest|undefined, {}|undefined
-      ]>|void {
+          | protos.google.cloud.sql.v1beta4.ISqlInstancesRestartRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >,
+    callback?: Callback<
+      protos.google.cloud.sql.v1beta4.IOperation,
+      | protos.google.cloud.sql.v1beta4.ISqlInstancesRestartRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1beta4.IOperation,
+      protos.google.cloud.sql.v1beta4.ISqlInstancesRestartRequest | undefined,
+      {} | undefined,
+    ]
+  > | void {
     request = request || {};
     let options: CallOptions;
     if (typeof optionsOrCallback === 'function' && callback === undefined) {
       callback = optionsOrCallback;
       options = {};
-    }
-    else {
+    } else {
       options = optionsOrCallback as CallOptions;
     }
     options = options || {};
     options.otherArgs = options.otherArgs || {};
     options.otherArgs.headers = options.otherArgs.headers || {};
-    options.otherArgs.headers[
-      'x-goog-request-params'
-    ] = this._gaxModule.routingHeader.fromParams({
-      'project': request.project ?? '',
-      'instance': request.instance ?? '',
+    options.otherArgs.headers['x-goog-request-params'] =
+      this._gaxModule.routingHeader.fromParams({
+        project: request.project ?? '',
+        instance: request.instance ?? '',
+      });
+    this.initialize().catch((err) => {
+      throw err;
     });
-    this.initialize().catch(err => {throw err});
     this._log.info('restart request %j', request);
-    const wrappedCallback: Callback<
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesRestartRequest|null|undefined,
-        {}|null|undefined>|undefined = callback
+    const wrappedCallback:
+      | Callback<
+          protos.google.cloud.sql.v1beta4.IOperation,
+          | protos.google.cloud.sql.v1beta4.ISqlInstancesRestartRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >
+      | undefined = callback
       ? (error, response, options, rawResponse) => {
           this._log.info('restart response %j', response);
           callback!(error, response, options, rawResponse); // We verified callback above.
         }
       : undefined;
-    return this.innerApiCalls.restart(request, options, wrappedCallback)
-      ?.then(([response, options, rawResponse]: [
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesRestartRequest|undefined,
-        {}|undefined
-      ]) => {
-        this._log.info('restart response %j', response);
-        return [response, options, rawResponse];
-      }).catch((error: any) => {
-        if (error && 'statusDetails' in error && error.statusDetails instanceof Array) {
-          const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type;
-          error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos);
+    return this.innerApiCalls
+      .restart(request, options, wrappedCallback)
+      ?.then(
+        ([response, options, rawResponse]: [
+          protos.google.cloud.sql.v1beta4.IOperation,
+          (
+            | protos.google.cloud.sql.v1beta4.ISqlInstancesRestartRequest
+            | undefined
+          ),
+          {} | undefined,
+        ]) => {
+          this._log.info('restart response %j', response);
+          return [response, options, rawResponse];
+        },
+      )
+      .catch((error: any) => {
+        if (
+          error &&
+          'statusDetails' in error &&
+          error.statusDetails instanceof Array
+        ) {
+          const protos = this._gaxModule.protobuf.Root.fromJSON(
+            jsonProtos,
+          ) as unknown as gax.protobuf.Type;
+          error.statusDetails = decodeAnyProtosInArray(
+            error.statusDetails,
+            protos,
+          );
         }
         throw error;
       });
   }
-/**
- * Restores a backup of a Cloud SQL instance. Using this operation might cause
- * your instance to restart.
- *
- * @param {Object} request
- *   The request object that will be sent.
- * @param {string} request.instance
- *   Cloud SQL instance ID. This does not include the project ID.
- * @param {string} request.project
- *   Project ID of the project that contains the instance.
- * @param {google.cloud.sql.v1beta4.InstancesRestoreBackupRequest} request.body
- * @param {object} [options]
- *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
- * @returns {Promise} - The promise which resolves to an array.
- *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1beta4.Operation|Operation}.
- *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
- *   for more details and examples.
- * @example <caption>include:samples/generated/v1beta4/sql_instances_service.restore_backup.js</caption>
- * region_tag:sqladmin_v1beta4_generated_SqlInstancesService_RestoreBackup_async
- */
+  /**
+   * Restores a backup of a Cloud SQL instance. Using this operation might cause
+   * your instance to restart.
+   *
+   * @param {Object} request
+   *   The request object that will be sent.
+   * @param {string} request.instance
+   *   Cloud SQL instance ID. This does not include the project ID.
+   * @param {string} request.project
+   *   Project ID of the project that contains the instance.
+   * @param {google.cloud.sql.v1beta4.InstancesRestoreBackupRequest} request.body
+   * @param {object} [options]
+   *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+   * @returns {Promise} - The promise which resolves to an array.
+   *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1beta4.Operation|Operation}.
+   *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
+   *   for more details and examples.
+   * @example <caption>include:samples/generated/v1beta4/sql_instances_service.restore_backup.js</caption>
+   * region_tag:sqladmin_v1beta4_generated_SqlInstancesService_RestoreBackup_async
+   */
   restoreBackup(
-      request?: protos.google.cloud.sql.v1beta4.ISqlInstancesRestoreBackupRequest,
-      options?: CallOptions):
-      Promise<[
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesRestoreBackupRequest|undefined, {}|undefined
-      ]>;
+    request?: protos.google.cloud.sql.v1beta4.ISqlInstancesRestoreBackupRequest,
+    options?: CallOptions,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1beta4.IOperation,
+      (
+        | protos.google.cloud.sql.v1beta4.ISqlInstancesRestoreBackupRequest
+        | undefined
+      ),
+      {} | undefined,
+    ]
+  >;
   restoreBackup(
-      request: protos.google.cloud.sql.v1beta4.ISqlInstancesRestoreBackupRequest,
-      options: CallOptions,
-      callback: Callback<
-          protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesRestoreBackupRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1beta4.ISqlInstancesRestoreBackupRequest,
+    options: CallOptions,
+    callback: Callback<
+      protos.google.cloud.sql.v1beta4.IOperation,
+      | protos.google.cloud.sql.v1beta4.ISqlInstancesRestoreBackupRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   restoreBackup(
-      request: protos.google.cloud.sql.v1beta4.ISqlInstancesRestoreBackupRequest,
-      callback: Callback<
-          protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesRestoreBackupRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1beta4.ISqlInstancesRestoreBackupRequest,
+    callback: Callback<
+      protos.google.cloud.sql.v1beta4.IOperation,
+      | protos.google.cloud.sql.v1beta4.ISqlInstancesRestoreBackupRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   restoreBackup(
-      request?: protos.google.cloud.sql.v1beta4.ISqlInstancesRestoreBackupRequest,
-      optionsOrCallback?: CallOptions|Callback<
-          protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesRestoreBackupRequest|null|undefined,
-          {}|null|undefined>,
-      callback?: Callback<
+    request?: protos.google.cloud.sql.v1beta4.ISqlInstancesRestoreBackupRequest,
+    optionsOrCallback?:
+      | CallOptions
+      | Callback<
           protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesRestoreBackupRequest|null|undefined,
-          {}|null|undefined>):
-      Promise<[
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesRestoreBackupRequest|undefined, {}|undefined
-      ]>|void {
+          | protos.google.cloud.sql.v1beta4.ISqlInstancesRestoreBackupRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >,
+    callback?: Callback<
+      protos.google.cloud.sql.v1beta4.IOperation,
+      | protos.google.cloud.sql.v1beta4.ISqlInstancesRestoreBackupRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1beta4.IOperation,
+      (
+        | protos.google.cloud.sql.v1beta4.ISqlInstancesRestoreBackupRequest
+        | undefined
+      ),
+      {} | undefined,
+    ]
+  > | void {
     request = request || {};
     let options: CallOptions;
     if (typeof optionsOrCallback === 'function' && callback === undefined) {
       callback = optionsOrCallback;
       options = {};
-    }
-    else {
+    } else {
       options = optionsOrCallback as CallOptions;
     }
     options = options || {};
     options.otherArgs = options.otherArgs || {};
     options.otherArgs.headers = options.otherArgs.headers || {};
-    options.otherArgs.headers[
-      'x-goog-request-params'
-    ] = this._gaxModule.routingHeader.fromParams({
-      'project': request.project ?? '',
-      'instance': request.instance ?? '',
+    options.otherArgs.headers['x-goog-request-params'] =
+      this._gaxModule.routingHeader.fromParams({
+        project: request.project ?? '',
+        instance: request.instance ?? '',
+      });
+    this.initialize().catch((err) => {
+      throw err;
     });
-    this.initialize().catch(err => {throw err});
     this._log.info('restoreBackup request %j', request);
-    const wrappedCallback: Callback<
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesRestoreBackupRequest|null|undefined,
-        {}|null|undefined>|undefined = callback
+    const wrappedCallback:
+      | Callback<
+          protos.google.cloud.sql.v1beta4.IOperation,
+          | protos.google.cloud.sql.v1beta4.ISqlInstancesRestoreBackupRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >
+      | undefined = callback
       ? (error, response, options, rawResponse) => {
           this._log.info('restoreBackup response %j', response);
           callback!(error, response, options, rawResponse); // We verified callback above.
         }
       : undefined;
-    return this.innerApiCalls.restoreBackup(request, options, wrappedCallback)
-      ?.then(([response, options, rawResponse]: [
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesRestoreBackupRequest|undefined,
-        {}|undefined
-      ]) => {
-        this._log.info('restoreBackup response %j', response);
-        return [response, options, rawResponse];
-      }).catch((error: any) => {
-        if (error && 'statusDetails' in error && error.statusDetails instanceof Array) {
-          const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type;
-          error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos);
+    return this.innerApiCalls
+      .restoreBackup(request, options, wrappedCallback)
+      ?.then(
+        ([response, options, rawResponse]: [
+          protos.google.cloud.sql.v1beta4.IOperation,
+          (
+            | protos.google.cloud.sql.v1beta4.ISqlInstancesRestoreBackupRequest
+            | undefined
+          ),
+          {} | undefined,
+        ]) => {
+          this._log.info('restoreBackup response %j', response);
+          return [response, options, rawResponse];
+        },
+      )
+      .catch((error: any) => {
+        if (
+          error &&
+          'statusDetails' in error &&
+          error.statusDetails instanceof Array
+        ) {
+          const protos = this._gaxModule.protobuf.Root.fromJSON(
+            jsonProtos,
+          ) as unknown as gax.protobuf.Type;
+          error.statusDetails = decodeAnyProtosInArray(
+            error.statusDetails,
+            protos,
+          );
         }
         throw error;
       });
   }
-/**
- * Rotates the server certificate to one signed by the Certificate Authority
- * (CA) version previously added with the addServerCA method. For instances
- * that have enabled Certificate Authority Service (CAS) based server CA,
- * use RotateServerCertificate to rotate the server certificate.
- *
- * @param {Object} request
- *   The request object that will be sent.
- * @param {string} request.instance
- *   Cloud SQL instance ID. This does not include the project ID.
- * @param {string} request.project
- *   Project ID of the project that contains the instance.
- * @param {google.cloud.sql.v1beta4.InstancesRotateServerCaRequest} request.body
- * @param {object} [options]
- *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
- * @returns {Promise} - The promise which resolves to an array.
- *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1beta4.Operation|Operation}.
- *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
- *   for more details and examples.
- * @example <caption>include:samples/generated/v1beta4/sql_instances_service.rotate_server_ca.js</caption>
- * region_tag:sqladmin_v1beta4_generated_SqlInstancesService_RotateServerCa_async
- */
+  /**
+   * Rotates the server certificate to one signed by the Certificate Authority
+   * (CA) version previously added with the addServerCA method. For instances
+   * that have enabled Certificate Authority Service (CAS) based server CA,
+   * use RotateServerCertificate to rotate the server certificate.
+   *
+   * @param {Object} request
+   *   The request object that will be sent.
+   * @param {string} request.instance
+   *   Cloud SQL instance ID. This does not include the project ID.
+   * @param {string} request.project
+   *   Project ID of the project that contains the instance.
+   * @param {google.cloud.sql.v1beta4.InstancesRotateServerCaRequest} request.body
+   * @param {object} [options]
+   *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+   * @returns {Promise} - The promise which resolves to an array.
+   *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1beta4.Operation|Operation}.
+   *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
+   *   for more details and examples.
+   * @example <caption>include:samples/generated/v1beta4/sql_instances_service.rotate_server_ca.js</caption>
+   * region_tag:sqladmin_v1beta4_generated_SqlInstancesService_RotateServerCa_async
+   */
   rotateServerCa(
-      request?: protos.google.cloud.sql.v1beta4.ISqlInstancesRotateServerCaRequest,
-      options?: CallOptions):
-      Promise<[
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesRotateServerCaRequest|undefined, {}|undefined
-      ]>;
+    request?: protos.google.cloud.sql.v1beta4.ISqlInstancesRotateServerCaRequest,
+    options?: CallOptions,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1beta4.IOperation,
+      (
+        | protos.google.cloud.sql.v1beta4.ISqlInstancesRotateServerCaRequest
+        | undefined
+      ),
+      {} | undefined,
+    ]
+  >;
   rotateServerCa(
-      request: protos.google.cloud.sql.v1beta4.ISqlInstancesRotateServerCaRequest,
-      options: CallOptions,
-      callback: Callback<
-          protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesRotateServerCaRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1beta4.ISqlInstancesRotateServerCaRequest,
+    options: CallOptions,
+    callback: Callback<
+      protos.google.cloud.sql.v1beta4.IOperation,
+      | protos.google.cloud.sql.v1beta4.ISqlInstancesRotateServerCaRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   rotateServerCa(
-      request: protos.google.cloud.sql.v1beta4.ISqlInstancesRotateServerCaRequest,
-      callback: Callback<
-          protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesRotateServerCaRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1beta4.ISqlInstancesRotateServerCaRequest,
+    callback: Callback<
+      protos.google.cloud.sql.v1beta4.IOperation,
+      | protos.google.cloud.sql.v1beta4.ISqlInstancesRotateServerCaRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   rotateServerCa(
-      request?: protos.google.cloud.sql.v1beta4.ISqlInstancesRotateServerCaRequest,
-      optionsOrCallback?: CallOptions|Callback<
-          protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesRotateServerCaRequest|null|undefined,
-          {}|null|undefined>,
-      callback?: Callback<
+    request?: protos.google.cloud.sql.v1beta4.ISqlInstancesRotateServerCaRequest,
+    optionsOrCallback?:
+      | CallOptions
+      | Callback<
           protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesRotateServerCaRequest|null|undefined,
-          {}|null|undefined>):
-      Promise<[
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesRotateServerCaRequest|undefined, {}|undefined
-      ]>|void {
+          | protos.google.cloud.sql.v1beta4.ISqlInstancesRotateServerCaRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >,
+    callback?: Callback<
+      protos.google.cloud.sql.v1beta4.IOperation,
+      | protos.google.cloud.sql.v1beta4.ISqlInstancesRotateServerCaRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1beta4.IOperation,
+      (
+        | protos.google.cloud.sql.v1beta4.ISqlInstancesRotateServerCaRequest
+        | undefined
+      ),
+      {} | undefined,
+    ]
+  > | void {
     request = request || {};
     let options: CallOptions;
     if (typeof optionsOrCallback === 'function' && callback === undefined) {
       callback = optionsOrCallback;
       options = {};
-    }
-    else {
+    } else {
       options = optionsOrCallback as CallOptions;
     }
     options = options || {};
     options.otherArgs = options.otherArgs || {};
     options.otherArgs.headers = options.otherArgs.headers || {};
-    options.otherArgs.headers[
-      'x-goog-request-params'
-    ] = this._gaxModule.routingHeader.fromParams({
-      'project': request.project ?? '',
-      'instance': request.instance ?? '',
+    options.otherArgs.headers['x-goog-request-params'] =
+      this._gaxModule.routingHeader.fromParams({
+        project: request.project ?? '',
+        instance: request.instance ?? '',
+      });
+    this.initialize().catch((err) => {
+      throw err;
     });
-    this.initialize().catch(err => {throw err});
     this._log.info('rotateServerCa request %j', request);
-    const wrappedCallback: Callback<
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesRotateServerCaRequest|null|undefined,
-        {}|null|undefined>|undefined = callback
+    const wrappedCallback:
+      | Callback<
+          protos.google.cloud.sql.v1beta4.IOperation,
+          | protos.google.cloud.sql.v1beta4.ISqlInstancesRotateServerCaRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >
+      | undefined = callback
       ? (error, response, options, rawResponse) => {
           this._log.info('rotateServerCa response %j', response);
           callback!(error, response, options, rawResponse); // We verified callback above.
         }
       : undefined;
-    return this.innerApiCalls.rotateServerCa(request, options, wrappedCallback)
-      ?.then(([response, options, rawResponse]: [
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesRotateServerCaRequest|undefined,
-        {}|undefined
-      ]) => {
-        this._log.info('rotateServerCa response %j', response);
-        return [response, options, rawResponse];
-      }).catch((error: any) => {
-        if (error && 'statusDetails' in error && error.statusDetails instanceof Array) {
-          const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type;
-          error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos);
+    return this.innerApiCalls
+      .rotateServerCa(request, options, wrappedCallback)
+      ?.then(
+        ([response, options, rawResponse]: [
+          protos.google.cloud.sql.v1beta4.IOperation,
+          (
+            | protos.google.cloud.sql.v1beta4.ISqlInstancesRotateServerCaRequest
+            | undefined
+          ),
+          {} | undefined,
+        ]) => {
+          this._log.info('rotateServerCa response %j', response);
+          return [response, options, rawResponse];
+        },
+      )
+      .catch((error: any) => {
+        if (
+          error &&
+          'statusDetails' in error &&
+          error.statusDetails instanceof Array
+        ) {
+          const protos = this._gaxModule.protobuf.Root.fromJSON(
+            jsonProtos,
+          ) as unknown as gax.protobuf.Type;
+          error.statusDetails = decodeAnyProtosInArray(
+            error.statusDetails,
+            protos,
+          );
         }
         throw error;
       });
   }
-/**
- * Rotates the server certificate version to one previously added with the
- * addServerCertificate method. For instances not using Certificate Authority
- * Service (CAS) server CA, use RotateServerCa instead.
- *
- * @param {Object} request
- *   The request object that will be sent.
- * @param {string} request.instance
- *   Required. Cloud SQL instance ID. This does not include the project ID.
- * @param {string} request.project
- *   Required. Project ID of the project that contains the instance.
- * @param {google.cloud.sql.v1beta4.InstancesRotateServerCertificateRequest} request.body
- *   Required. Rotate server certificate request body.
- * @param {object} [options]
- *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
- * @returns {Promise} - The promise which resolves to an array.
- *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1beta4.Operation|Operation}.
- *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
- *   for more details and examples.
- * @example <caption>include:samples/generated/v1beta4/sql_instances_service.rotate_server_certificate.js</caption>
- * region_tag:sqladmin_v1beta4_generated_SqlInstancesService_RotateServerCertificate_async
- */
+  /**
+   * Rotates the server certificate version to one previously added with the
+   * addServerCertificate method. For instances not using Certificate Authority
+   * Service (CAS) server CA, use RotateServerCa instead.
+   *
+   * @param {Object} request
+   *   The request object that will be sent.
+   * @param {string} request.instance
+   *   Required. Cloud SQL instance ID. This does not include the project ID.
+   * @param {string} request.project
+   *   Required. Project ID of the project that contains the instance.
+   * @param {google.cloud.sql.v1beta4.InstancesRotateServerCertificateRequest} request.body
+   *   Required. Rotate server certificate request body.
+   * @param {object} [options]
+   *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+   * @returns {Promise} - The promise which resolves to an array.
+   *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1beta4.Operation|Operation}.
+   *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
+   *   for more details and examples.
+   * @example <caption>include:samples/generated/v1beta4/sql_instances_service.rotate_server_certificate.js</caption>
+   * region_tag:sqladmin_v1beta4_generated_SqlInstancesService_RotateServerCertificate_async
+   */
   rotateServerCertificate(
-      request?: protos.google.cloud.sql.v1beta4.ISqlInstancesRotateServerCertificateRequest,
-      options?: CallOptions):
-      Promise<[
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesRotateServerCertificateRequest|undefined, {}|undefined
-      ]>;
+    request?: protos.google.cloud.sql.v1beta4.ISqlInstancesRotateServerCertificateRequest,
+    options?: CallOptions,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1beta4.IOperation,
+      (
+        | protos.google.cloud.sql.v1beta4.ISqlInstancesRotateServerCertificateRequest
+        | undefined
+      ),
+      {} | undefined,
+    ]
+  >;
   rotateServerCertificate(
-      request: protos.google.cloud.sql.v1beta4.ISqlInstancesRotateServerCertificateRequest,
-      options: CallOptions,
-      callback: Callback<
-          protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesRotateServerCertificateRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1beta4.ISqlInstancesRotateServerCertificateRequest,
+    options: CallOptions,
+    callback: Callback<
+      protos.google.cloud.sql.v1beta4.IOperation,
+      | protos.google.cloud.sql.v1beta4.ISqlInstancesRotateServerCertificateRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   rotateServerCertificate(
-      request: protos.google.cloud.sql.v1beta4.ISqlInstancesRotateServerCertificateRequest,
-      callback: Callback<
-          protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesRotateServerCertificateRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1beta4.ISqlInstancesRotateServerCertificateRequest,
+    callback: Callback<
+      protos.google.cloud.sql.v1beta4.IOperation,
+      | protos.google.cloud.sql.v1beta4.ISqlInstancesRotateServerCertificateRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   rotateServerCertificate(
-      request?: protos.google.cloud.sql.v1beta4.ISqlInstancesRotateServerCertificateRequest,
-      optionsOrCallback?: CallOptions|Callback<
-          protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesRotateServerCertificateRequest|null|undefined,
-          {}|null|undefined>,
-      callback?: Callback<
+    request?: protos.google.cloud.sql.v1beta4.ISqlInstancesRotateServerCertificateRequest,
+    optionsOrCallback?:
+      | CallOptions
+      | Callback<
           protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesRotateServerCertificateRequest|null|undefined,
-          {}|null|undefined>):
-      Promise<[
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesRotateServerCertificateRequest|undefined, {}|undefined
-      ]>|void {
+          | protos.google.cloud.sql.v1beta4.ISqlInstancesRotateServerCertificateRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >,
+    callback?: Callback<
+      protos.google.cloud.sql.v1beta4.IOperation,
+      | protos.google.cloud.sql.v1beta4.ISqlInstancesRotateServerCertificateRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1beta4.IOperation,
+      (
+        | protos.google.cloud.sql.v1beta4.ISqlInstancesRotateServerCertificateRequest
+        | undefined
+      ),
+      {} | undefined,
+    ]
+  > | void {
     request = request || {};
     let options: CallOptions;
     if (typeof optionsOrCallback === 'function' && callback === undefined) {
       callback = optionsOrCallback;
       options = {};
-    }
-    else {
+    } else {
       options = optionsOrCallback as CallOptions;
     }
     options = options || {};
     options.otherArgs = options.otherArgs || {};
     options.otherArgs.headers = options.otherArgs.headers || {};
-    options.otherArgs.headers[
-      'x-goog-request-params'
-    ] = this._gaxModule.routingHeader.fromParams({
-      'project': request.project ?? '',
-      'instance': request.instance ?? '',
+    options.otherArgs.headers['x-goog-request-params'] =
+      this._gaxModule.routingHeader.fromParams({
+        project: request.project ?? '',
+        instance: request.instance ?? '',
+      });
+    this.initialize().catch((err) => {
+      throw err;
     });
-    this.initialize().catch(err => {throw err});
     this._log.info('rotateServerCertificate request %j', request);
-    const wrappedCallback: Callback<
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesRotateServerCertificateRequest|null|undefined,
-        {}|null|undefined>|undefined = callback
+    const wrappedCallback:
+      | Callback<
+          protos.google.cloud.sql.v1beta4.IOperation,
+          | protos.google.cloud.sql.v1beta4.ISqlInstancesRotateServerCertificateRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >
+      | undefined = callback
       ? (error, response, options, rawResponse) => {
           this._log.info('rotateServerCertificate response %j', response);
           callback!(error, response, options, rawResponse); // We verified callback above.
         }
       : undefined;
-    return this.innerApiCalls.rotateServerCertificate(request, options, wrappedCallback)
-      ?.then(([response, options, rawResponse]: [
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesRotateServerCertificateRequest|undefined,
-        {}|undefined
-      ]) => {
-        this._log.info('rotateServerCertificate response %j', response);
-        return [response, options, rawResponse];
-      }).catch((error: any) => {
-        if (error && 'statusDetails' in error && error.statusDetails instanceof Array) {
-          const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type;
-          error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos);
+    return this.innerApiCalls
+      .rotateServerCertificate(request, options, wrappedCallback)
+      ?.then(
+        ([response, options, rawResponse]: [
+          protos.google.cloud.sql.v1beta4.IOperation,
+          (
+            | protos.google.cloud.sql.v1beta4.ISqlInstancesRotateServerCertificateRequest
+            | undefined
+          ),
+          {} | undefined,
+        ]) => {
+          this._log.info('rotateServerCertificate response %j', response);
+          return [response, options, rawResponse];
+        },
+      )
+      .catch((error: any) => {
+        if (
+          error &&
+          'statusDetails' in error &&
+          error.statusDetails instanceof Array
+        ) {
+          const protos = this._gaxModule.protobuf.Root.fromJSON(
+            jsonProtos,
+          ) as unknown as gax.protobuf.Type;
+          error.statusDetails = decodeAnyProtosInArray(
+            error.statusDetails,
+            protos,
+          );
         }
         throw error;
       });
   }
-/**
- * Rotates the Entra Id certificate version to one previously added with the
- * addEntraIdCertificate method.
- *
- * @param {Object} request
- *   The request object that will be sent.
- * @param {string} request.instance
- *   Required. Cloud SQL instance ID. This does not include the project ID.
- * @param {string} request.project
- *   Required. Project ID of the project that contains the instance.
- * @param {google.cloud.sql.v1beta4.InstancesRotateEntraIdCertificateRequest} request.body
- *   Required. Rotate Entra ID certificate request body.
- * @param {object} [options]
- *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
- * @returns {Promise} - The promise which resolves to an array.
- *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1beta4.Operation|Operation}.
- *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
- *   for more details and examples.
- * @example <caption>include:samples/generated/v1beta4/sql_instances_service.rotate_entra_id_certificate.js</caption>
- * region_tag:sqladmin_v1beta4_generated_SqlInstancesService_RotateEntraIdCertificate_async
- */
+  /**
+   * Rotates the Entra Id certificate version to one previously added with the
+   * addEntraIdCertificate method.
+   *
+   * @param {Object} request
+   *   The request object that will be sent.
+   * @param {string} request.instance
+   *   Required. Cloud SQL instance ID. This does not include the project ID.
+   * @param {string} request.project
+   *   Required. Project ID of the project that contains the instance.
+   * @param {google.cloud.sql.v1beta4.InstancesRotateEntraIdCertificateRequest} request.body
+   *   Required. Rotate Entra ID certificate request body.
+   * @param {object} [options]
+   *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+   * @returns {Promise} - The promise which resolves to an array.
+   *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1beta4.Operation|Operation}.
+   *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
+   *   for more details and examples.
+   * @example <caption>include:samples/generated/v1beta4/sql_instances_service.rotate_entra_id_certificate.js</caption>
+   * region_tag:sqladmin_v1beta4_generated_SqlInstancesService_RotateEntraIdCertificate_async
+   */
   rotateEntraIdCertificate(
-      request?: protos.google.cloud.sql.v1beta4.ISqlInstancesRotateEntraIdCertificateRequest,
-      options?: CallOptions):
-      Promise<[
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesRotateEntraIdCertificateRequest|undefined, {}|undefined
-      ]>;
+    request?: protos.google.cloud.sql.v1beta4.ISqlInstancesRotateEntraIdCertificateRequest,
+    options?: CallOptions,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1beta4.IOperation,
+      (
+        | protos.google.cloud.sql.v1beta4.ISqlInstancesRotateEntraIdCertificateRequest
+        | undefined
+      ),
+      {} | undefined,
+    ]
+  >;
   rotateEntraIdCertificate(
-      request: protos.google.cloud.sql.v1beta4.ISqlInstancesRotateEntraIdCertificateRequest,
-      options: CallOptions,
-      callback: Callback<
-          protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesRotateEntraIdCertificateRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1beta4.ISqlInstancesRotateEntraIdCertificateRequest,
+    options: CallOptions,
+    callback: Callback<
+      protos.google.cloud.sql.v1beta4.IOperation,
+      | protos.google.cloud.sql.v1beta4.ISqlInstancesRotateEntraIdCertificateRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   rotateEntraIdCertificate(
-      request: protos.google.cloud.sql.v1beta4.ISqlInstancesRotateEntraIdCertificateRequest,
-      callback: Callback<
-          protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesRotateEntraIdCertificateRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1beta4.ISqlInstancesRotateEntraIdCertificateRequest,
+    callback: Callback<
+      protos.google.cloud.sql.v1beta4.IOperation,
+      | protos.google.cloud.sql.v1beta4.ISqlInstancesRotateEntraIdCertificateRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   rotateEntraIdCertificate(
-      request?: protos.google.cloud.sql.v1beta4.ISqlInstancesRotateEntraIdCertificateRequest,
-      optionsOrCallback?: CallOptions|Callback<
-          protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesRotateEntraIdCertificateRequest|null|undefined,
-          {}|null|undefined>,
-      callback?: Callback<
+    request?: protos.google.cloud.sql.v1beta4.ISqlInstancesRotateEntraIdCertificateRequest,
+    optionsOrCallback?:
+      | CallOptions
+      | Callback<
           protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesRotateEntraIdCertificateRequest|null|undefined,
-          {}|null|undefined>):
-      Promise<[
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesRotateEntraIdCertificateRequest|undefined, {}|undefined
-      ]>|void {
+          | protos.google.cloud.sql.v1beta4.ISqlInstancesRotateEntraIdCertificateRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >,
+    callback?: Callback<
+      protos.google.cloud.sql.v1beta4.IOperation,
+      | protos.google.cloud.sql.v1beta4.ISqlInstancesRotateEntraIdCertificateRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1beta4.IOperation,
+      (
+        | protos.google.cloud.sql.v1beta4.ISqlInstancesRotateEntraIdCertificateRequest
+        | undefined
+      ),
+      {} | undefined,
+    ]
+  > | void {
     request = request || {};
     let options: CallOptions;
     if (typeof optionsOrCallback === 'function' && callback === undefined) {
       callback = optionsOrCallback;
       options = {};
-    }
-    else {
+    } else {
       options = optionsOrCallback as CallOptions;
     }
     options = options || {};
     options.otherArgs = options.otherArgs || {};
     options.otherArgs.headers = options.otherArgs.headers || {};
-    options.otherArgs.headers[
-      'x-goog-request-params'
-    ] = this._gaxModule.routingHeader.fromParams({
-      'project': request.project ?? '',
-      'instance': request.instance ?? '',
+    options.otherArgs.headers['x-goog-request-params'] =
+      this._gaxModule.routingHeader.fromParams({
+        project: request.project ?? '',
+        instance: request.instance ?? '',
+      });
+    this.initialize().catch((err) => {
+      throw err;
     });
-    this.initialize().catch(err => {throw err});
     this._log.info('rotateEntraIdCertificate request %j', request);
-    const wrappedCallback: Callback<
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesRotateEntraIdCertificateRequest|null|undefined,
-        {}|null|undefined>|undefined = callback
+    const wrappedCallback:
+      | Callback<
+          protos.google.cloud.sql.v1beta4.IOperation,
+          | protos.google.cloud.sql.v1beta4.ISqlInstancesRotateEntraIdCertificateRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >
+      | undefined = callback
       ? (error, response, options, rawResponse) => {
           this._log.info('rotateEntraIdCertificate response %j', response);
           callback!(error, response, options, rawResponse); // We verified callback above.
         }
       : undefined;
-    return this.innerApiCalls.rotateEntraIdCertificate(request, options, wrappedCallback)
-      ?.then(([response, options, rawResponse]: [
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesRotateEntraIdCertificateRequest|undefined,
-        {}|undefined
-      ]) => {
-        this._log.info('rotateEntraIdCertificate response %j', response);
-        return [response, options, rawResponse];
-      }).catch((error: any) => {
-        if (error && 'statusDetails' in error && error.statusDetails instanceof Array) {
-          const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type;
-          error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos);
+    return this.innerApiCalls
+      .rotateEntraIdCertificate(request, options, wrappedCallback)
+      ?.then(
+        ([response, options, rawResponse]: [
+          protos.google.cloud.sql.v1beta4.IOperation,
+          (
+            | protos.google.cloud.sql.v1beta4.ISqlInstancesRotateEntraIdCertificateRequest
+            | undefined
+          ),
+          {} | undefined,
+        ]) => {
+          this._log.info('rotateEntraIdCertificate response %j', response);
+          return [response, options, rawResponse];
+        },
+      )
+      .catch((error: any) => {
+        if (
+          error &&
+          'statusDetails' in error &&
+          error.statusDetails instanceof Array
+        ) {
+          const protos = this._gaxModule.protobuf.Root.fromJSON(
+            jsonProtos,
+          ) as unknown as gax.protobuf.Type;
+          error.statusDetails = decodeAnyProtosInArray(
+            error.statusDetails,
+            protos,
+          );
         }
         throw error;
       });
   }
-/**
- * Starts the replication in the read replica instance.
- *
- * @param {Object} request
- *   The request object that will be sent.
- * @param {string} request.instance
- *   Cloud SQL read replica instance name.
- * @param {string} request.project
- *   ID of the project that contains the read replica.
- * @param {object} [options]
- *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
- * @returns {Promise} - The promise which resolves to an array.
- *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1beta4.Operation|Operation}.
- *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
- *   for more details and examples.
- * @example <caption>include:samples/generated/v1beta4/sql_instances_service.start_replica.js</caption>
- * region_tag:sqladmin_v1beta4_generated_SqlInstancesService_StartReplica_async
- */
+  /**
+   * Starts the replication in the read replica instance.
+   *
+   * @param {Object} request
+   *   The request object that will be sent.
+   * @param {string} request.instance
+   *   Cloud SQL read replica instance name.
+   * @param {string} request.project
+   *   ID of the project that contains the read replica.
+   * @param {object} [options]
+   *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+   * @returns {Promise} - The promise which resolves to an array.
+   *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1beta4.Operation|Operation}.
+   *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
+   *   for more details and examples.
+   * @example <caption>include:samples/generated/v1beta4/sql_instances_service.start_replica.js</caption>
+   * region_tag:sqladmin_v1beta4_generated_SqlInstancesService_StartReplica_async
+   */
   startReplica(
-      request?: protos.google.cloud.sql.v1beta4.ISqlInstancesStartReplicaRequest,
-      options?: CallOptions):
-      Promise<[
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesStartReplicaRequest|undefined, {}|undefined
-      ]>;
+    request?: protos.google.cloud.sql.v1beta4.ISqlInstancesStartReplicaRequest,
+    options?: CallOptions,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1beta4.IOperation,
+      (
+        | protos.google.cloud.sql.v1beta4.ISqlInstancesStartReplicaRequest
+        | undefined
+      ),
+      {} | undefined,
+    ]
+  >;
   startReplica(
-      request: protos.google.cloud.sql.v1beta4.ISqlInstancesStartReplicaRequest,
-      options: CallOptions,
-      callback: Callback<
-          protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesStartReplicaRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1beta4.ISqlInstancesStartReplicaRequest,
+    options: CallOptions,
+    callback: Callback<
+      protos.google.cloud.sql.v1beta4.IOperation,
+      | protos.google.cloud.sql.v1beta4.ISqlInstancesStartReplicaRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   startReplica(
-      request: protos.google.cloud.sql.v1beta4.ISqlInstancesStartReplicaRequest,
-      callback: Callback<
-          protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesStartReplicaRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1beta4.ISqlInstancesStartReplicaRequest,
+    callback: Callback<
+      protos.google.cloud.sql.v1beta4.IOperation,
+      | protos.google.cloud.sql.v1beta4.ISqlInstancesStartReplicaRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   startReplica(
-      request?: protos.google.cloud.sql.v1beta4.ISqlInstancesStartReplicaRequest,
-      optionsOrCallback?: CallOptions|Callback<
-          protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesStartReplicaRequest|null|undefined,
-          {}|null|undefined>,
-      callback?: Callback<
+    request?: protos.google.cloud.sql.v1beta4.ISqlInstancesStartReplicaRequest,
+    optionsOrCallback?:
+      | CallOptions
+      | Callback<
           protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesStartReplicaRequest|null|undefined,
-          {}|null|undefined>):
-      Promise<[
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesStartReplicaRequest|undefined, {}|undefined
-      ]>|void {
+          | protos.google.cloud.sql.v1beta4.ISqlInstancesStartReplicaRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >,
+    callback?: Callback<
+      protos.google.cloud.sql.v1beta4.IOperation,
+      | protos.google.cloud.sql.v1beta4.ISqlInstancesStartReplicaRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1beta4.IOperation,
+      (
+        | protos.google.cloud.sql.v1beta4.ISqlInstancesStartReplicaRequest
+        | undefined
+      ),
+      {} | undefined,
+    ]
+  > | void {
     request = request || {};
     let options: CallOptions;
     if (typeof optionsOrCallback === 'function' && callback === undefined) {
       callback = optionsOrCallback;
       options = {};
-    }
-    else {
+    } else {
       options = optionsOrCallback as CallOptions;
     }
     options = options || {};
     options.otherArgs = options.otherArgs || {};
     options.otherArgs.headers = options.otherArgs.headers || {};
-    options.otherArgs.headers[
-      'x-goog-request-params'
-    ] = this._gaxModule.routingHeader.fromParams({
-      'project': request.project ?? '',
-      'instance': request.instance ?? '',
+    options.otherArgs.headers['x-goog-request-params'] =
+      this._gaxModule.routingHeader.fromParams({
+        project: request.project ?? '',
+        instance: request.instance ?? '',
+      });
+    this.initialize().catch((err) => {
+      throw err;
     });
-    this.initialize().catch(err => {throw err});
     this._log.info('startReplica request %j', request);
-    const wrappedCallback: Callback<
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesStartReplicaRequest|null|undefined,
-        {}|null|undefined>|undefined = callback
+    const wrappedCallback:
+      | Callback<
+          protos.google.cloud.sql.v1beta4.IOperation,
+          | protos.google.cloud.sql.v1beta4.ISqlInstancesStartReplicaRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >
+      | undefined = callback
       ? (error, response, options, rawResponse) => {
           this._log.info('startReplica response %j', response);
           callback!(error, response, options, rawResponse); // We verified callback above.
         }
       : undefined;
-    return this.innerApiCalls.startReplica(request, options, wrappedCallback)
-      ?.then(([response, options, rawResponse]: [
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesStartReplicaRequest|undefined,
-        {}|undefined
-      ]) => {
-        this._log.info('startReplica response %j', response);
-        return [response, options, rawResponse];
-      }).catch((error: any) => {
-        if (error && 'statusDetails' in error && error.statusDetails instanceof Array) {
-          const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type;
-          error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos);
+    return this.innerApiCalls
+      .startReplica(request, options, wrappedCallback)
+      ?.then(
+        ([response, options, rawResponse]: [
+          protos.google.cloud.sql.v1beta4.IOperation,
+          (
+            | protos.google.cloud.sql.v1beta4.ISqlInstancesStartReplicaRequest
+            | undefined
+          ),
+          {} | undefined,
+        ]) => {
+          this._log.info('startReplica response %j', response);
+          return [response, options, rawResponse];
+        },
+      )
+      .catch((error: any) => {
+        if (
+          error &&
+          'statusDetails' in error &&
+          error.statusDetails instanceof Array
+        ) {
+          const protos = this._gaxModule.protobuf.Root.fromJSON(
+            jsonProtos,
+          ) as unknown as gax.protobuf.Type;
+          error.statusDetails = decodeAnyProtosInArray(
+            error.statusDetails,
+            protos,
+          );
         }
         throw error;
       });
   }
-/**
- * Stops the replication in the read replica instance.
- *
- * @param {Object} request
- *   The request object that will be sent.
- * @param {string} request.instance
- *   Cloud SQL read replica instance name.
- * @param {string} request.project
- *   ID of the project that contains the read replica.
- * @param {object} [options]
- *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
- * @returns {Promise} - The promise which resolves to an array.
- *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1beta4.Operation|Operation}.
- *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
- *   for more details and examples.
- * @example <caption>include:samples/generated/v1beta4/sql_instances_service.stop_replica.js</caption>
- * region_tag:sqladmin_v1beta4_generated_SqlInstancesService_StopReplica_async
- */
+  /**
+   * Stops the replication in the read replica instance.
+   *
+   * @param {Object} request
+   *   The request object that will be sent.
+   * @param {string} request.instance
+   *   Cloud SQL read replica instance name.
+   * @param {string} request.project
+   *   ID of the project that contains the read replica.
+   * @param {object} [options]
+   *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+   * @returns {Promise} - The promise which resolves to an array.
+   *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1beta4.Operation|Operation}.
+   *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
+   *   for more details and examples.
+   * @example <caption>include:samples/generated/v1beta4/sql_instances_service.stop_replica.js</caption>
+   * region_tag:sqladmin_v1beta4_generated_SqlInstancesService_StopReplica_async
+   */
   stopReplica(
-      request?: protos.google.cloud.sql.v1beta4.ISqlInstancesStopReplicaRequest,
-      options?: CallOptions):
-      Promise<[
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesStopReplicaRequest|undefined, {}|undefined
-      ]>;
+    request?: protos.google.cloud.sql.v1beta4.ISqlInstancesStopReplicaRequest,
+    options?: CallOptions,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1beta4.IOperation,
+      (
+        | protos.google.cloud.sql.v1beta4.ISqlInstancesStopReplicaRequest
+        | undefined
+      ),
+      {} | undefined,
+    ]
+  >;
   stopReplica(
-      request: protos.google.cloud.sql.v1beta4.ISqlInstancesStopReplicaRequest,
-      options: CallOptions,
-      callback: Callback<
-          protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesStopReplicaRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1beta4.ISqlInstancesStopReplicaRequest,
+    options: CallOptions,
+    callback: Callback<
+      protos.google.cloud.sql.v1beta4.IOperation,
+      | protos.google.cloud.sql.v1beta4.ISqlInstancesStopReplicaRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   stopReplica(
-      request: protos.google.cloud.sql.v1beta4.ISqlInstancesStopReplicaRequest,
-      callback: Callback<
-          protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesStopReplicaRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1beta4.ISqlInstancesStopReplicaRequest,
+    callback: Callback<
+      protos.google.cloud.sql.v1beta4.IOperation,
+      | protos.google.cloud.sql.v1beta4.ISqlInstancesStopReplicaRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   stopReplica(
-      request?: protos.google.cloud.sql.v1beta4.ISqlInstancesStopReplicaRequest,
-      optionsOrCallback?: CallOptions|Callback<
-          protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesStopReplicaRequest|null|undefined,
-          {}|null|undefined>,
-      callback?: Callback<
+    request?: protos.google.cloud.sql.v1beta4.ISqlInstancesStopReplicaRequest,
+    optionsOrCallback?:
+      | CallOptions
+      | Callback<
           protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesStopReplicaRequest|null|undefined,
-          {}|null|undefined>):
-      Promise<[
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesStopReplicaRequest|undefined, {}|undefined
-      ]>|void {
+          | protos.google.cloud.sql.v1beta4.ISqlInstancesStopReplicaRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >,
+    callback?: Callback<
+      protos.google.cloud.sql.v1beta4.IOperation,
+      | protos.google.cloud.sql.v1beta4.ISqlInstancesStopReplicaRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1beta4.IOperation,
+      (
+        | protos.google.cloud.sql.v1beta4.ISqlInstancesStopReplicaRequest
+        | undefined
+      ),
+      {} | undefined,
+    ]
+  > | void {
     request = request || {};
     let options: CallOptions;
     if (typeof optionsOrCallback === 'function' && callback === undefined) {
       callback = optionsOrCallback;
       options = {};
-    }
-    else {
+    } else {
       options = optionsOrCallback as CallOptions;
     }
     options = options || {};
     options.otherArgs = options.otherArgs || {};
     options.otherArgs.headers = options.otherArgs.headers || {};
-    options.otherArgs.headers[
-      'x-goog-request-params'
-    ] = this._gaxModule.routingHeader.fromParams({
-      'project': request.project ?? '',
-      'instance': request.instance ?? '',
+    options.otherArgs.headers['x-goog-request-params'] =
+      this._gaxModule.routingHeader.fromParams({
+        project: request.project ?? '',
+        instance: request.instance ?? '',
+      });
+    this.initialize().catch((err) => {
+      throw err;
     });
-    this.initialize().catch(err => {throw err});
     this._log.info('stopReplica request %j', request);
-    const wrappedCallback: Callback<
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesStopReplicaRequest|null|undefined,
-        {}|null|undefined>|undefined = callback
+    const wrappedCallback:
+      | Callback<
+          protos.google.cloud.sql.v1beta4.IOperation,
+          | protos.google.cloud.sql.v1beta4.ISqlInstancesStopReplicaRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >
+      | undefined = callback
       ? (error, response, options, rawResponse) => {
           this._log.info('stopReplica response %j', response);
           callback!(error, response, options, rawResponse); // We verified callback above.
         }
       : undefined;
-    return this.innerApiCalls.stopReplica(request, options, wrappedCallback)
-      ?.then(([response, options, rawResponse]: [
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesStopReplicaRequest|undefined,
-        {}|undefined
-      ]) => {
-        this._log.info('stopReplica response %j', response);
-        return [response, options, rawResponse];
-      }).catch((error: any) => {
-        if (error && 'statusDetails' in error && error.statusDetails instanceof Array) {
-          const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type;
-          error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos);
+    return this.innerApiCalls
+      .stopReplica(request, options, wrappedCallback)
+      ?.then(
+        ([response, options, rawResponse]: [
+          protos.google.cloud.sql.v1beta4.IOperation,
+          (
+            | protos.google.cloud.sql.v1beta4.ISqlInstancesStopReplicaRequest
+            | undefined
+          ),
+          {} | undefined,
+        ]) => {
+          this._log.info('stopReplica response %j', response);
+          return [response, options, rawResponse];
+        },
+      )
+      .catch((error: any) => {
+        if (
+          error &&
+          'statusDetails' in error &&
+          error.statusDetails instanceof Array
+        ) {
+          const protos = this._gaxModule.protobuf.Root.fromJSON(
+            jsonProtos,
+          ) as unknown as gax.protobuf.Type;
+          error.statusDetails = decodeAnyProtosInArray(
+            error.statusDetails,
+            protos,
+          );
         }
         throw error;
       });
   }
-/**
- * Truncate MySQL general and slow query log tables
- * MySQL only.
- *
- * @param {Object} request
- *   The request object that will be sent.
- * @param {string} request.instance
- *   Cloud SQL instance ID. This does not include the project ID.
- * @param {string} request.project
- *   Project ID of the Cloud SQL project.
- * @param {google.cloud.sql.v1beta4.InstancesTruncateLogRequest} request.body
- * @param {object} [options]
- *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
- * @returns {Promise} - The promise which resolves to an array.
- *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1beta4.Operation|Operation}.
- *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
- *   for more details and examples.
- * @example <caption>include:samples/generated/v1beta4/sql_instances_service.truncate_log.js</caption>
- * region_tag:sqladmin_v1beta4_generated_SqlInstancesService_TruncateLog_async
- */
+  /**
+   * Truncate MySQL general and slow query log tables
+   * MySQL only.
+   *
+   * @param {Object} request
+   *   The request object that will be sent.
+   * @param {string} request.instance
+   *   Cloud SQL instance ID. This does not include the project ID.
+   * @param {string} request.project
+   *   Project ID of the Cloud SQL project.
+   * @param {google.cloud.sql.v1beta4.InstancesTruncateLogRequest} request.body
+   * @param {object} [options]
+   *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+   * @returns {Promise} - The promise which resolves to an array.
+   *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1beta4.Operation|Operation}.
+   *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
+   *   for more details and examples.
+   * @example <caption>include:samples/generated/v1beta4/sql_instances_service.truncate_log.js</caption>
+   * region_tag:sqladmin_v1beta4_generated_SqlInstancesService_TruncateLog_async
+   */
   truncateLog(
-      request?: protos.google.cloud.sql.v1beta4.ISqlInstancesTruncateLogRequest,
-      options?: CallOptions):
-      Promise<[
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesTruncateLogRequest|undefined, {}|undefined
-      ]>;
+    request?: protos.google.cloud.sql.v1beta4.ISqlInstancesTruncateLogRequest,
+    options?: CallOptions,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1beta4.IOperation,
+      (
+        | protos.google.cloud.sql.v1beta4.ISqlInstancesTruncateLogRequest
+        | undefined
+      ),
+      {} | undefined,
+    ]
+  >;
   truncateLog(
-      request: protos.google.cloud.sql.v1beta4.ISqlInstancesTruncateLogRequest,
-      options: CallOptions,
-      callback: Callback<
-          protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesTruncateLogRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1beta4.ISqlInstancesTruncateLogRequest,
+    options: CallOptions,
+    callback: Callback<
+      protos.google.cloud.sql.v1beta4.IOperation,
+      | protos.google.cloud.sql.v1beta4.ISqlInstancesTruncateLogRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   truncateLog(
-      request: protos.google.cloud.sql.v1beta4.ISqlInstancesTruncateLogRequest,
-      callback: Callback<
-          protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesTruncateLogRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1beta4.ISqlInstancesTruncateLogRequest,
+    callback: Callback<
+      protos.google.cloud.sql.v1beta4.IOperation,
+      | protos.google.cloud.sql.v1beta4.ISqlInstancesTruncateLogRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   truncateLog(
-      request?: protos.google.cloud.sql.v1beta4.ISqlInstancesTruncateLogRequest,
-      optionsOrCallback?: CallOptions|Callback<
-          protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesTruncateLogRequest|null|undefined,
-          {}|null|undefined>,
-      callback?: Callback<
+    request?: protos.google.cloud.sql.v1beta4.ISqlInstancesTruncateLogRequest,
+    optionsOrCallback?:
+      | CallOptions
+      | Callback<
           protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesTruncateLogRequest|null|undefined,
-          {}|null|undefined>):
-      Promise<[
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesTruncateLogRequest|undefined, {}|undefined
-      ]>|void {
+          | protos.google.cloud.sql.v1beta4.ISqlInstancesTruncateLogRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >,
+    callback?: Callback<
+      protos.google.cloud.sql.v1beta4.IOperation,
+      | protos.google.cloud.sql.v1beta4.ISqlInstancesTruncateLogRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1beta4.IOperation,
+      (
+        | protos.google.cloud.sql.v1beta4.ISqlInstancesTruncateLogRequest
+        | undefined
+      ),
+      {} | undefined,
+    ]
+  > | void {
     request = request || {};
     let options: CallOptions;
     if (typeof optionsOrCallback === 'function' && callback === undefined) {
       callback = optionsOrCallback;
       options = {};
-    }
-    else {
+    } else {
       options = optionsOrCallback as CallOptions;
     }
     options = options || {};
     options.otherArgs = options.otherArgs || {};
     options.otherArgs.headers = options.otherArgs.headers || {};
-    options.otherArgs.headers[
-      'x-goog-request-params'
-    ] = this._gaxModule.routingHeader.fromParams({
-      'project': request.project ?? '',
-      'instance': request.instance ?? '',
+    options.otherArgs.headers['x-goog-request-params'] =
+      this._gaxModule.routingHeader.fromParams({
+        project: request.project ?? '',
+        instance: request.instance ?? '',
+      });
+    this.initialize().catch((err) => {
+      throw err;
     });
-    this.initialize().catch(err => {throw err});
     this._log.info('truncateLog request %j', request);
-    const wrappedCallback: Callback<
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesTruncateLogRequest|null|undefined,
-        {}|null|undefined>|undefined = callback
+    const wrappedCallback:
+      | Callback<
+          protos.google.cloud.sql.v1beta4.IOperation,
+          | protos.google.cloud.sql.v1beta4.ISqlInstancesTruncateLogRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >
+      | undefined = callback
       ? (error, response, options, rawResponse) => {
           this._log.info('truncateLog response %j', response);
           callback!(error, response, options, rawResponse); // We verified callback above.
         }
       : undefined;
-    return this.innerApiCalls.truncateLog(request, options, wrappedCallback)
-      ?.then(([response, options, rawResponse]: [
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesTruncateLogRequest|undefined,
-        {}|undefined
-      ]) => {
-        this._log.info('truncateLog response %j', response);
-        return [response, options, rawResponse];
-      }).catch((error: any) => {
-        if (error && 'statusDetails' in error && error.statusDetails instanceof Array) {
-          const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type;
-          error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos);
+    return this.innerApiCalls
+      .truncateLog(request, options, wrappedCallback)
+      ?.then(
+        ([response, options, rawResponse]: [
+          protos.google.cloud.sql.v1beta4.IOperation,
+          (
+            | protos.google.cloud.sql.v1beta4.ISqlInstancesTruncateLogRequest
+            | undefined
+          ),
+          {} | undefined,
+        ]) => {
+          this._log.info('truncateLog response %j', response);
+          return [response, options, rawResponse];
+        },
+      )
+      .catch((error: any) => {
+        if (
+          error &&
+          'statusDetails' in error &&
+          error.statusDetails instanceof Array
+        ) {
+          const protos = this._gaxModule.protobuf.Root.fromJSON(
+            jsonProtos,
+          ) as unknown as gax.protobuf.Type;
+          error.statusDetails = decodeAnyProtosInArray(
+            error.statusDetails,
+            protos,
+          );
         }
         throw error;
       });
   }
-/**
- * Updates settings of a Cloud SQL instance. Using this operation might cause
- * your instance to restart.
- *
- * @param {Object} request
- *   The request object that will be sent.
- * @param {string} request.instance
- *   Cloud SQL instance ID. This does not include the project ID.
- * @param {string} request.project
- *   Project ID of the project that contains the instance.
- * @param {google.cloud.sql.v1beta4.DatabaseInstance} request.body
- * @param {object} [options]
- *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
- * @returns {Promise} - The promise which resolves to an array.
- *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1beta4.Operation|Operation}.
- *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
- *   for more details and examples.
- * @example <caption>include:samples/generated/v1beta4/sql_instances_service.update.js</caption>
- * region_tag:sqladmin_v1beta4_generated_SqlInstancesService_Update_async
- */
+  /**
+   * Updates settings of a Cloud SQL instance. Using this operation might cause
+   * your instance to restart.
+   *
+   * @param {Object} request
+   *   The request object that will be sent.
+   * @param {string} request.instance
+   *   Cloud SQL instance ID. This does not include the project ID.
+   * @param {string} request.project
+   *   Project ID of the project that contains the instance.
+   * @param {google.cloud.sql.v1beta4.DatabaseInstance} request.body
+   * @param {object} [options]
+   *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+   * @returns {Promise} - The promise which resolves to an array.
+   *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1beta4.Operation|Operation}.
+   *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
+   *   for more details and examples.
+   * @example <caption>include:samples/generated/v1beta4/sql_instances_service.update.js</caption>
+   * region_tag:sqladmin_v1beta4_generated_SqlInstancesService_Update_async
+   */
   update(
-      request?: protos.google.cloud.sql.v1beta4.ISqlInstancesUpdateRequest,
-      options?: CallOptions):
-      Promise<[
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesUpdateRequest|undefined, {}|undefined
-      ]>;
+    request?: protos.google.cloud.sql.v1beta4.ISqlInstancesUpdateRequest,
+    options?: CallOptions,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1beta4.IOperation,
+      protos.google.cloud.sql.v1beta4.ISqlInstancesUpdateRequest | undefined,
+      {} | undefined,
+    ]
+  >;
   update(
-      request: protos.google.cloud.sql.v1beta4.ISqlInstancesUpdateRequest,
-      options: CallOptions,
-      callback: Callback<
-          protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesUpdateRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1beta4.ISqlInstancesUpdateRequest,
+    options: CallOptions,
+    callback: Callback<
+      protos.google.cloud.sql.v1beta4.IOperation,
+      | protos.google.cloud.sql.v1beta4.ISqlInstancesUpdateRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   update(
-      request: protos.google.cloud.sql.v1beta4.ISqlInstancesUpdateRequest,
-      callback: Callback<
-          protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesUpdateRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1beta4.ISqlInstancesUpdateRequest,
+    callback: Callback<
+      protos.google.cloud.sql.v1beta4.IOperation,
+      | protos.google.cloud.sql.v1beta4.ISqlInstancesUpdateRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   update(
-      request?: protos.google.cloud.sql.v1beta4.ISqlInstancesUpdateRequest,
-      optionsOrCallback?: CallOptions|Callback<
-          protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesUpdateRequest|null|undefined,
-          {}|null|undefined>,
-      callback?: Callback<
+    request?: protos.google.cloud.sql.v1beta4.ISqlInstancesUpdateRequest,
+    optionsOrCallback?:
+      | CallOptions
+      | Callback<
           protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesUpdateRequest|null|undefined,
-          {}|null|undefined>):
-      Promise<[
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesUpdateRequest|undefined, {}|undefined
-      ]>|void {
+          | protos.google.cloud.sql.v1beta4.ISqlInstancesUpdateRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >,
+    callback?: Callback<
+      protos.google.cloud.sql.v1beta4.IOperation,
+      | protos.google.cloud.sql.v1beta4.ISqlInstancesUpdateRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1beta4.IOperation,
+      protos.google.cloud.sql.v1beta4.ISqlInstancesUpdateRequest | undefined,
+      {} | undefined,
+    ]
+  > | void {
     request = request || {};
     let options: CallOptions;
     if (typeof optionsOrCallback === 'function' && callback === undefined) {
       callback = optionsOrCallback;
       options = {};
-    }
-    else {
+    } else {
       options = optionsOrCallback as CallOptions;
     }
     options = options || {};
     options.otherArgs = options.otherArgs || {};
     options.otherArgs.headers = options.otherArgs.headers || {};
-    options.otherArgs.headers[
-      'x-goog-request-params'
-    ] = this._gaxModule.routingHeader.fromParams({
-      'project': request.project ?? '',
-      'instance': request.instance ?? '',
+    options.otherArgs.headers['x-goog-request-params'] =
+      this._gaxModule.routingHeader.fromParams({
+        project: request.project ?? '',
+        instance: request.instance ?? '',
+      });
+    this.initialize().catch((err) => {
+      throw err;
     });
-    this.initialize().catch(err => {throw err});
     this._log.info('update request %j', request);
-    const wrappedCallback: Callback<
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesUpdateRequest|null|undefined,
-        {}|null|undefined>|undefined = callback
+    const wrappedCallback:
+      | Callback<
+          protos.google.cloud.sql.v1beta4.IOperation,
+          | protos.google.cloud.sql.v1beta4.ISqlInstancesUpdateRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >
+      | undefined = callback
       ? (error, response, options, rawResponse) => {
           this._log.info('update response %j', response);
           callback!(error, response, options, rawResponse); // We verified callback above.
         }
       : undefined;
-    return this.innerApiCalls.update(request, options, wrappedCallback)
-      ?.then(([response, options, rawResponse]: [
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesUpdateRequest|undefined,
-        {}|undefined
-      ]) => {
-        this._log.info('update response %j', response);
-        return [response, options, rawResponse];
-      }).catch((error: any) => {
-        if (error && 'statusDetails' in error && error.statusDetails instanceof Array) {
-          const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type;
-          error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos);
+    return this.innerApiCalls
+      .update(request, options, wrappedCallback)
+      ?.then(
+        ([response, options, rawResponse]: [
+          protos.google.cloud.sql.v1beta4.IOperation,
+          (
+            | protos.google.cloud.sql.v1beta4.ISqlInstancesUpdateRequest
+            | undefined
+          ),
+          {} | undefined,
+        ]) => {
+          this._log.info('update response %j', response);
+          return [response, options, rawResponse];
+        },
+      )
+      .catch((error: any) => {
+        if (
+          error &&
+          'statusDetails' in error &&
+          error.statusDetails instanceof Array
+        ) {
+          const protos = this._gaxModule.protobuf.Root.fromJSON(
+            jsonProtos,
+          ) as unknown as gax.protobuf.Type;
+          error.statusDetails = decodeAnyProtosInArray(
+            error.statusDetails,
+            protos,
+          );
         }
         throw error;
       });
   }
-/**
- * Generates a short-lived X509 certificate containing the provided public key
- * and signed by a private key specific to the target instance. Users may use
- * the certificate to authenticate as themselves when connecting to the
- * database.
- *
- * @param {Object} request
- *   The request object that will be sent.
- * @param {string} request.instance
- *   Cloud SQL instance ID. This does not include the project ID.
- * @param {string} request.project
- *   Project ID of the Cloud SQL project.
- * @param {google.cloud.sql.v1beta4.SslCertsCreateEphemeralRequest} request.body
- * @param {object} [options]
- *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
- * @returns {Promise} - The promise which resolves to an array.
- *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1beta4.SslCert|SslCert}.
- *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
- *   for more details and examples.
- * @example <caption>include:samples/generated/v1beta4/sql_instances_service.create_ephemeral.js</caption>
- * region_tag:sqladmin_v1beta4_generated_SqlInstancesService_CreateEphemeral_async
- */
+  /**
+   * Generates a short-lived X509 certificate containing the provided public key
+   * and signed by a private key specific to the target instance. Users may use
+   * the certificate to authenticate as themselves when connecting to the
+   * database.
+   *
+   * @param {Object} request
+   *   The request object that will be sent.
+   * @param {string} request.instance
+   *   Cloud SQL instance ID. This does not include the project ID.
+   * @param {string} request.project
+   *   Project ID of the Cloud SQL project.
+   * @param {google.cloud.sql.v1beta4.SslCertsCreateEphemeralRequest} request.body
+   * @param {object} [options]
+   *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+   * @returns {Promise} - The promise which resolves to an array.
+   *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1beta4.SslCert|SslCert}.
+   *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
+   *   for more details and examples.
+   * @example <caption>include:samples/generated/v1beta4/sql_instances_service.create_ephemeral.js</caption>
+   * region_tag:sqladmin_v1beta4_generated_SqlInstancesService_CreateEphemeral_async
+   */
   createEphemeral(
-      request?: protos.google.cloud.sql.v1beta4.ISqlInstancesCreateEphemeralCertRequest,
-      options?: CallOptions):
-      Promise<[
-        protos.google.cloud.sql.v1beta4.ISslCert,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesCreateEphemeralCertRequest|undefined, {}|undefined
-      ]>;
+    request?: protos.google.cloud.sql.v1beta4.ISqlInstancesCreateEphemeralCertRequest,
+    options?: CallOptions,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1beta4.ISslCert,
+      (
+        | protos.google.cloud.sql.v1beta4.ISqlInstancesCreateEphemeralCertRequest
+        | undefined
+      ),
+      {} | undefined,
+    ]
+  >;
   createEphemeral(
-      request: protos.google.cloud.sql.v1beta4.ISqlInstancesCreateEphemeralCertRequest,
-      options: CallOptions,
-      callback: Callback<
-          protos.google.cloud.sql.v1beta4.ISslCert,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesCreateEphemeralCertRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1beta4.ISqlInstancesCreateEphemeralCertRequest,
+    options: CallOptions,
+    callback: Callback<
+      protos.google.cloud.sql.v1beta4.ISslCert,
+      | protos.google.cloud.sql.v1beta4.ISqlInstancesCreateEphemeralCertRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   createEphemeral(
-      request: protos.google.cloud.sql.v1beta4.ISqlInstancesCreateEphemeralCertRequest,
-      callback: Callback<
-          protos.google.cloud.sql.v1beta4.ISslCert,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesCreateEphemeralCertRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1beta4.ISqlInstancesCreateEphemeralCertRequest,
+    callback: Callback<
+      protos.google.cloud.sql.v1beta4.ISslCert,
+      | protos.google.cloud.sql.v1beta4.ISqlInstancesCreateEphemeralCertRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   createEphemeral(
-      request?: protos.google.cloud.sql.v1beta4.ISqlInstancesCreateEphemeralCertRequest,
-      optionsOrCallback?: CallOptions|Callback<
-          protos.google.cloud.sql.v1beta4.ISslCert,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesCreateEphemeralCertRequest|null|undefined,
-          {}|null|undefined>,
-      callback?: Callback<
+    request?: protos.google.cloud.sql.v1beta4.ISqlInstancesCreateEphemeralCertRequest,
+    optionsOrCallback?:
+      | CallOptions
+      | Callback<
           protos.google.cloud.sql.v1beta4.ISslCert,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesCreateEphemeralCertRequest|null|undefined,
-          {}|null|undefined>):
-      Promise<[
-        protos.google.cloud.sql.v1beta4.ISslCert,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesCreateEphemeralCertRequest|undefined, {}|undefined
-      ]>|void {
+          | protos.google.cloud.sql.v1beta4.ISqlInstancesCreateEphemeralCertRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >,
+    callback?: Callback<
+      protos.google.cloud.sql.v1beta4.ISslCert,
+      | protos.google.cloud.sql.v1beta4.ISqlInstancesCreateEphemeralCertRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1beta4.ISslCert,
+      (
+        | protos.google.cloud.sql.v1beta4.ISqlInstancesCreateEphemeralCertRequest
+        | undefined
+      ),
+      {} | undefined,
+    ]
+  > | void {
     request = request || {};
     let options: CallOptions;
     if (typeof optionsOrCallback === 'function' && callback === undefined) {
       callback = optionsOrCallback;
       options = {};
-    }
-    else {
+    } else {
       options = optionsOrCallback as CallOptions;
     }
     options = options || {};
     options.otherArgs = options.otherArgs || {};
     options.otherArgs.headers = options.otherArgs.headers || {};
-    options.otherArgs.headers[
-      'x-goog-request-params'
-    ] = this._gaxModule.routingHeader.fromParams({
-      'project': request.project ?? '',
-      'instance': request.instance ?? '',
+    options.otherArgs.headers['x-goog-request-params'] =
+      this._gaxModule.routingHeader.fromParams({
+        project: request.project ?? '',
+        instance: request.instance ?? '',
+      });
+    this.initialize().catch((err) => {
+      throw err;
     });
-    this.initialize().catch(err => {throw err});
     this._log.info('createEphemeral request %j', request);
-    const wrappedCallback: Callback<
-        protos.google.cloud.sql.v1beta4.ISslCert,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesCreateEphemeralCertRequest|null|undefined,
-        {}|null|undefined>|undefined = callback
+    const wrappedCallback:
+      | Callback<
+          protos.google.cloud.sql.v1beta4.ISslCert,
+          | protos.google.cloud.sql.v1beta4.ISqlInstancesCreateEphemeralCertRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >
+      | undefined = callback
       ? (error, response, options, rawResponse) => {
           this._log.info('createEphemeral response %j', response);
           callback!(error, response, options, rawResponse); // We verified callback above.
         }
       : undefined;
-    return this.innerApiCalls.createEphemeral(request, options, wrappedCallback)
-      ?.then(([response, options, rawResponse]: [
-        protos.google.cloud.sql.v1beta4.ISslCert,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesCreateEphemeralCertRequest|undefined,
-        {}|undefined
-      ]) => {
-        this._log.info('createEphemeral response %j', response);
-        return [response, options, rawResponse];
-      }).catch((error: any) => {
-        if (error && 'statusDetails' in error && error.statusDetails instanceof Array) {
-          const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type;
-          error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos);
+    return this.innerApiCalls
+      .createEphemeral(request, options, wrappedCallback)
+      ?.then(
+        ([response, options, rawResponse]: [
+          protos.google.cloud.sql.v1beta4.ISslCert,
+          (
+            | protos.google.cloud.sql.v1beta4.ISqlInstancesCreateEphemeralCertRequest
+            | undefined
+          ),
+          {} | undefined,
+        ]) => {
+          this._log.info('createEphemeral response %j', response);
+          return [response, options, rawResponse];
+        },
+      )
+      .catch((error: any) => {
+        if (
+          error &&
+          'statusDetails' in error &&
+          error.statusDetails instanceof Array
+        ) {
+          const protos = this._gaxModule.protobuf.Root.fromJSON(
+            jsonProtos,
+          ) as unknown as gax.protobuf.Type;
+          error.statusDetails = decodeAnyProtosInArray(
+            error.statusDetails,
+            protos,
+          );
         }
         throw error;
       });
   }
-/**
- * Reschedules the maintenance on the given instance.
- *
- * @param {Object} request
- *   The request object that will be sent.
- * @param {string} request.instance
- *   Cloud SQL instance ID. This does not include the project ID.
- * @param {string} request.project
- *   ID of the project that contains the instance.
- * @param {google.cloud.sql.v1beta4.SqlInstancesRescheduleMaintenanceRequestBody} request.body
- * @param {object} [options]
- *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
- * @returns {Promise} - The promise which resolves to an array.
- *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1beta4.Operation|Operation}.
- *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
- *   for more details and examples.
- * @example <caption>include:samples/generated/v1beta4/sql_instances_service.reschedule_maintenance.js</caption>
- * region_tag:sqladmin_v1beta4_generated_SqlInstancesService_RescheduleMaintenance_async
- */
+  /**
+   * Reschedules the maintenance on the given instance.
+   *
+   * @param {Object} request
+   *   The request object that will be sent.
+   * @param {string} request.instance
+   *   Cloud SQL instance ID. This does not include the project ID.
+   * @param {string} request.project
+   *   ID of the project that contains the instance.
+   * @param {google.cloud.sql.v1beta4.SqlInstancesRescheduleMaintenanceRequestBody} request.body
+   * @param {object} [options]
+   *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+   * @returns {Promise} - The promise which resolves to an array.
+   *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1beta4.Operation|Operation}.
+   *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
+   *   for more details and examples.
+   * @example <caption>include:samples/generated/v1beta4/sql_instances_service.reschedule_maintenance.js</caption>
+   * region_tag:sqladmin_v1beta4_generated_SqlInstancesService_RescheduleMaintenance_async
+   */
   rescheduleMaintenance(
-      request?: protos.google.cloud.sql.v1beta4.ISqlInstancesRescheduleMaintenanceRequest,
-      options?: CallOptions):
-      Promise<[
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesRescheduleMaintenanceRequest|undefined, {}|undefined
-      ]>;
+    request?: protos.google.cloud.sql.v1beta4.ISqlInstancesRescheduleMaintenanceRequest,
+    options?: CallOptions,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1beta4.IOperation,
+      (
+        | protos.google.cloud.sql.v1beta4.ISqlInstancesRescheduleMaintenanceRequest
+        | undefined
+      ),
+      {} | undefined,
+    ]
+  >;
   rescheduleMaintenance(
-      request: protos.google.cloud.sql.v1beta4.ISqlInstancesRescheduleMaintenanceRequest,
-      options: CallOptions,
-      callback: Callback<
-          protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesRescheduleMaintenanceRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1beta4.ISqlInstancesRescheduleMaintenanceRequest,
+    options: CallOptions,
+    callback: Callback<
+      protos.google.cloud.sql.v1beta4.IOperation,
+      | protos.google.cloud.sql.v1beta4.ISqlInstancesRescheduleMaintenanceRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   rescheduleMaintenance(
-      request: protos.google.cloud.sql.v1beta4.ISqlInstancesRescheduleMaintenanceRequest,
-      callback: Callback<
-          protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesRescheduleMaintenanceRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1beta4.ISqlInstancesRescheduleMaintenanceRequest,
+    callback: Callback<
+      protos.google.cloud.sql.v1beta4.IOperation,
+      | protos.google.cloud.sql.v1beta4.ISqlInstancesRescheduleMaintenanceRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   rescheduleMaintenance(
-      request?: protos.google.cloud.sql.v1beta4.ISqlInstancesRescheduleMaintenanceRequest,
-      optionsOrCallback?: CallOptions|Callback<
-          protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesRescheduleMaintenanceRequest|null|undefined,
-          {}|null|undefined>,
-      callback?: Callback<
+    request?: protos.google.cloud.sql.v1beta4.ISqlInstancesRescheduleMaintenanceRequest,
+    optionsOrCallback?:
+      | CallOptions
+      | Callback<
           protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesRescheduleMaintenanceRequest|null|undefined,
-          {}|null|undefined>):
-      Promise<[
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesRescheduleMaintenanceRequest|undefined, {}|undefined
-      ]>|void {
+          | protos.google.cloud.sql.v1beta4.ISqlInstancesRescheduleMaintenanceRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >,
+    callback?: Callback<
+      protos.google.cloud.sql.v1beta4.IOperation,
+      | protos.google.cloud.sql.v1beta4.ISqlInstancesRescheduleMaintenanceRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1beta4.IOperation,
+      (
+        | protos.google.cloud.sql.v1beta4.ISqlInstancesRescheduleMaintenanceRequest
+        | undefined
+      ),
+      {} | undefined,
+    ]
+  > | void {
     request = request || {};
     let options: CallOptions;
     if (typeof optionsOrCallback === 'function' && callback === undefined) {
       callback = optionsOrCallback;
       options = {};
-    }
-    else {
+    } else {
       options = optionsOrCallback as CallOptions;
     }
     options = options || {};
     options.otherArgs = options.otherArgs || {};
     options.otherArgs.headers = options.otherArgs.headers || {};
-    options.otherArgs.headers[
-      'x-goog-request-params'
-    ] = this._gaxModule.routingHeader.fromParams({
-      'project': request.project ?? '',
-      'instance': request.instance ?? '',
+    options.otherArgs.headers['x-goog-request-params'] =
+      this._gaxModule.routingHeader.fromParams({
+        project: request.project ?? '',
+        instance: request.instance ?? '',
+      });
+    this.initialize().catch((err) => {
+      throw err;
     });
-    this.initialize().catch(err => {throw err});
     this._log.info('rescheduleMaintenance request %j', request);
-    const wrappedCallback: Callback<
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesRescheduleMaintenanceRequest|null|undefined,
-        {}|null|undefined>|undefined = callback
+    const wrappedCallback:
+      | Callback<
+          protos.google.cloud.sql.v1beta4.IOperation,
+          | protos.google.cloud.sql.v1beta4.ISqlInstancesRescheduleMaintenanceRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >
+      | undefined = callback
       ? (error, response, options, rawResponse) => {
           this._log.info('rescheduleMaintenance response %j', response);
           callback!(error, response, options, rawResponse); // We verified callback above.
         }
       : undefined;
-    return this.innerApiCalls.rescheduleMaintenance(request, options, wrappedCallback)
-      ?.then(([response, options, rawResponse]: [
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesRescheduleMaintenanceRequest|undefined,
-        {}|undefined
-      ]) => {
-        this._log.info('rescheduleMaintenance response %j', response);
-        return [response, options, rawResponse];
-      }).catch((error: any) => {
-        if (error && 'statusDetails' in error && error.statusDetails instanceof Array) {
-          const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type;
-          error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos);
+    return this.innerApiCalls
+      .rescheduleMaintenance(request, options, wrappedCallback)
+      ?.then(
+        ([response, options, rawResponse]: [
+          protos.google.cloud.sql.v1beta4.IOperation,
+          (
+            | protos.google.cloud.sql.v1beta4.ISqlInstancesRescheduleMaintenanceRequest
+            | undefined
+          ),
+          {} | undefined,
+        ]) => {
+          this._log.info('rescheduleMaintenance response %j', response);
+          return [response, options, rawResponse];
+        },
+      )
+      .catch((error: any) => {
+        if (
+          error &&
+          'statusDetails' in error &&
+          error.statusDetails instanceof Array
+        ) {
+          const protos = this._gaxModule.protobuf.Root.fromJSON(
+            jsonProtos,
+          ) as unknown as gax.protobuf.Type;
+          error.statusDetails = decodeAnyProtosInArray(
+            error.statusDetails,
+            protos,
+          );
         }
         throw error;
       });
   }
-/**
- * Verify External primary instance external sync settings.
- *
- * @param {Object} request
- *   The request object that will be sent.
- * @param {string} request.instance
- *   Cloud SQL instance ID. This does not include the project ID.
- * @param {string} request.project
- *   Project ID of the project that contains the instance.
- * @param {boolean} request.verifyConnectionOnly
- *   Flag to enable verifying connection only
- * @param {google.cloud.sql.v1beta4.SqlInstancesVerifyExternalSyncSettingsRequest.ExternalSyncMode} request.syncMode
- *   External sync mode
- * @param {boolean} [request.verifyReplicationOnly]
- *   Optional. Flag to verify settings required by replication setup only
- * @param {google.cloud.sql.v1beta4.MySqlSyncConfig} [request.mysqlSyncConfig]
- *   Optional. MySQL-specific settings for start external sync.
- * @param {google.cloud.sql.v1beta4.SqlInstancesVerifyExternalSyncSettingsRequest.MigrationType} [request.migrationType]
- *   Optional. MigrationType configures the migration to use physical files or
- *   logical dump files. If not set, then the logical dump file configuration is
- *   used. Valid values are `LOGICAL` or `PHYSICAL`. Only applicable to MySQL.
- * @param {google.cloud.sql.v1beta4.ExternalSyncParallelLevel} [request.syncParallelLevel]
- *   Optional. Parallel level for initial data sync. Only applicable for
- *   PostgreSQL.
- * @param {number[]} [request.selectedObjects]
- *   Optional. Migrate only the specified objects from the source instance. If
- *   this field is empty, then migrate all objects.
- * @param {object} [options]
- *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
- * @returns {Promise} - The promise which resolves to an array.
- *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1beta4.SqlInstancesVerifyExternalSyncSettingsResponse|SqlInstancesVerifyExternalSyncSettingsResponse}.
- *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
- *   for more details and examples.
- * @example <caption>include:samples/generated/v1beta4/sql_instances_service.verify_external_sync_settings.js</caption>
- * region_tag:sqladmin_v1beta4_generated_SqlInstancesService_VerifyExternalSyncSettings_async
- */
+  /**
+   * Verify External primary instance external sync settings.
+   *
+   * @param {Object} request
+   *   The request object that will be sent.
+   * @param {string} request.instance
+   *   Cloud SQL instance ID. This does not include the project ID.
+   * @param {string} request.project
+   *   Project ID of the project that contains the instance.
+   * @param {boolean} request.verifyConnectionOnly
+   *   Flag to enable verifying connection only
+   * @param {google.cloud.sql.v1beta4.SqlInstancesVerifyExternalSyncSettingsRequest.ExternalSyncMode} request.syncMode
+   *   External sync mode
+   * @param {boolean} [request.verifyReplicationOnly]
+   *   Optional. Flag to verify settings required by replication setup only
+   * @param {google.cloud.sql.v1beta4.MySqlSyncConfig} [request.mysqlSyncConfig]
+   *   Optional. MySQL-specific settings for start external sync.
+   * @param {google.cloud.sql.v1beta4.SqlInstancesVerifyExternalSyncSettingsRequest.MigrationType} [request.migrationType]
+   *   Optional. MigrationType configures the migration to use physical files or
+   *   logical dump files. If not set, then the logical dump file configuration is
+   *   used. Valid values are `LOGICAL` or `PHYSICAL`. Only applicable to MySQL.
+   * @param {google.cloud.sql.v1beta4.ExternalSyncParallelLevel} [request.syncParallelLevel]
+   *   Optional. Parallel level for initial data sync. Only applicable for
+   *   PostgreSQL.
+   * @param {number[]} [request.selectedObjects]
+   *   Optional. Migrate only the specified objects from the source instance. If
+   *   this field is empty, then migrate all objects.
+   * @param {object} [options]
+   *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+   * @returns {Promise} - The promise which resolves to an array.
+   *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1beta4.SqlInstancesVerifyExternalSyncSettingsResponse|SqlInstancesVerifyExternalSyncSettingsResponse}.
+   *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
+   *   for more details and examples.
+   * @example <caption>include:samples/generated/v1beta4/sql_instances_service.verify_external_sync_settings.js</caption>
+   * region_tag:sqladmin_v1beta4_generated_SqlInstancesService_VerifyExternalSyncSettings_async
+   */
   verifyExternalSyncSettings(
-      request?: protos.google.cloud.sql.v1beta4.ISqlInstancesVerifyExternalSyncSettingsRequest,
-      options?: CallOptions):
-      Promise<[
-        protos.google.cloud.sql.v1beta4.ISqlInstancesVerifyExternalSyncSettingsResponse,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesVerifyExternalSyncSettingsRequest|undefined, {}|undefined
-      ]>;
+    request?: protos.google.cloud.sql.v1beta4.ISqlInstancesVerifyExternalSyncSettingsRequest,
+    options?: CallOptions,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1beta4.ISqlInstancesVerifyExternalSyncSettingsResponse,
+      (
+        | protos.google.cloud.sql.v1beta4.ISqlInstancesVerifyExternalSyncSettingsRequest
+        | undefined
+      ),
+      {} | undefined,
+    ]
+  >;
   verifyExternalSyncSettings(
-      request: protos.google.cloud.sql.v1beta4.ISqlInstancesVerifyExternalSyncSettingsRequest,
-      options: CallOptions,
-      callback: Callback<
-          protos.google.cloud.sql.v1beta4.ISqlInstancesVerifyExternalSyncSettingsResponse,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesVerifyExternalSyncSettingsRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1beta4.ISqlInstancesVerifyExternalSyncSettingsRequest,
+    options: CallOptions,
+    callback: Callback<
+      protos.google.cloud.sql.v1beta4.ISqlInstancesVerifyExternalSyncSettingsResponse,
+      | protos.google.cloud.sql.v1beta4.ISqlInstancesVerifyExternalSyncSettingsRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   verifyExternalSyncSettings(
-      request: protos.google.cloud.sql.v1beta4.ISqlInstancesVerifyExternalSyncSettingsRequest,
-      callback: Callback<
-          protos.google.cloud.sql.v1beta4.ISqlInstancesVerifyExternalSyncSettingsResponse,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesVerifyExternalSyncSettingsRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1beta4.ISqlInstancesVerifyExternalSyncSettingsRequest,
+    callback: Callback<
+      protos.google.cloud.sql.v1beta4.ISqlInstancesVerifyExternalSyncSettingsResponse,
+      | protos.google.cloud.sql.v1beta4.ISqlInstancesVerifyExternalSyncSettingsRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   verifyExternalSyncSettings(
-      request?: protos.google.cloud.sql.v1beta4.ISqlInstancesVerifyExternalSyncSettingsRequest,
-      optionsOrCallback?: CallOptions|Callback<
-          protos.google.cloud.sql.v1beta4.ISqlInstancesVerifyExternalSyncSettingsResponse,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesVerifyExternalSyncSettingsRequest|null|undefined,
-          {}|null|undefined>,
-      callback?: Callback<
+    request?: protos.google.cloud.sql.v1beta4.ISqlInstancesVerifyExternalSyncSettingsRequest,
+    optionsOrCallback?:
+      | CallOptions
+      | Callback<
           protos.google.cloud.sql.v1beta4.ISqlInstancesVerifyExternalSyncSettingsResponse,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesVerifyExternalSyncSettingsRequest|null|undefined,
-          {}|null|undefined>):
-      Promise<[
-        protos.google.cloud.sql.v1beta4.ISqlInstancesVerifyExternalSyncSettingsResponse,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesVerifyExternalSyncSettingsRequest|undefined, {}|undefined
-      ]>|void {
+          | protos.google.cloud.sql.v1beta4.ISqlInstancesVerifyExternalSyncSettingsRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >,
+    callback?: Callback<
+      protos.google.cloud.sql.v1beta4.ISqlInstancesVerifyExternalSyncSettingsResponse,
+      | protos.google.cloud.sql.v1beta4.ISqlInstancesVerifyExternalSyncSettingsRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1beta4.ISqlInstancesVerifyExternalSyncSettingsResponse,
+      (
+        | protos.google.cloud.sql.v1beta4.ISqlInstancesVerifyExternalSyncSettingsRequest
+        | undefined
+      ),
+      {} | undefined,
+    ]
+  > | void {
     request = request || {};
     let options: CallOptions;
     if (typeof optionsOrCallback === 'function' && callback === undefined) {
       callback = optionsOrCallback;
       options = {};
-    }
-    else {
+    } else {
       options = optionsOrCallback as CallOptions;
     }
     options = options || {};
     options.otherArgs = options.otherArgs || {};
     options.otherArgs.headers = options.otherArgs.headers || {};
-    options.otherArgs.headers[
-      'x-goog-request-params'
-    ] = this._gaxModule.routingHeader.fromParams({
-      'project': request.project ?? '',
-      'instance': request.instance ?? '',
+    options.otherArgs.headers['x-goog-request-params'] =
+      this._gaxModule.routingHeader.fromParams({
+        project: request.project ?? '',
+        instance: request.instance ?? '',
+      });
+    this.initialize().catch((err) => {
+      throw err;
     });
-    this.initialize().catch(err => {throw err});
     this._log.info('verifyExternalSyncSettings request %j', request);
-    const wrappedCallback: Callback<
-        protos.google.cloud.sql.v1beta4.ISqlInstancesVerifyExternalSyncSettingsResponse,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesVerifyExternalSyncSettingsRequest|null|undefined,
-        {}|null|undefined>|undefined = callback
+    const wrappedCallback:
+      | Callback<
+          protos.google.cloud.sql.v1beta4.ISqlInstancesVerifyExternalSyncSettingsResponse,
+          | protos.google.cloud.sql.v1beta4.ISqlInstancesVerifyExternalSyncSettingsRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >
+      | undefined = callback
       ? (error, response, options, rawResponse) => {
           this._log.info('verifyExternalSyncSettings response %j', response);
           callback!(error, response, options, rawResponse); // We verified callback above.
         }
       : undefined;
-    return this.innerApiCalls.verifyExternalSyncSettings(request, options, wrappedCallback)
-      ?.then(([response, options, rawResponse]: [
-        protos.google.cloud.sql.v1beta4.ISqlInstancesVerifyExternalSyncSettingsResponse,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesVerifyExternalSyncSettingsRequest|undefined,
-        {}|undefined
-      ]) => {
-        this._log.info('verifyExternalSyncSettings response %j', response);
-        return [response, options, rawResponse];
-      }).catch((error: any) => {
-        if (error && 'statusDetails' in error && error.statusDetails instanceof Array) {
-          const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type;
-          error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos);
+    return this.innerApiCalls
+      .verifyExternalSyncSettings(request, options, wrappedCallback)
+      ?.then(
+        ([response, options, rawResponse]: [
+          protos.google.cloud.sql.v1beta4.ISqlInstancesVerifyExternalSyncSettingsResponse,
+          (
+            | protos.google.cloud.sql.v1beta4.ISqlInstancesVerifyExternalSyncSettingsRequest
+            | undefined
+          ),
+          {} | undefined,
+        ]) => {
+          this._log.info('verifyExternalSyncSettings response %j', response);
+          return [response, options, rawResponse];
+        },
+      )
+      .catch((error: any) => {
+        if (
+          error &&
+          'statusDetails' in error &&
+          error.statusDetails instanceof Array
+        ) {
+          const protos = this._gaxModule.protobuf.Root.fromJSON(
+            jsonProtos,
+          ) as unknown as gax.protobuf.Type;
+          error.statusDetails = decodeAnyProtosInArray(
+            error.statusDetails,
+            protos,
+          );
         }
         throw error;
       });
   }
-/**
- * Start External primary instance migration.
- *
- * @param {Object} request
- *   The request object that will be sent.
- * @param {string} request.instance
- *   Cloud SQL instance ID. This does not include the project ID.
- * @param {string} request.project
- *   ID of the project that contains the instance.
- * @param {google.cloud.sql.v1beta4.SqlInstancesVerifyExternalSyncSettingsRequest.ExternalSyncMode} request.syncMode
- *   External sync mode.
- * @param {boolean} request.skipVerification
- *   Whether to skip the verification step (VESS).
- * @param {google.cloud.sql.v1beta4.MySqlSyncConfig} request.mysqlSyncConfig
- *   MySQL-specific settings for start external sync.
- * @param {google.cloud.sql.v1beta4.ExternalSyncParallelLevel} [request.syncParallelLevel]
- *   Optional. Parallel level for initial data sync. Currently only applicable
- *   for MySQL.
- * @param {google.cloud.sql.v1beta4.SqlInstancesVerifyExternalSyncSettingsRequest.MigrationType} [request.migrationType]
- *   Optional. MigrationType configures the migration to use physical files or
- *   logical dump files. If not set, then the logical dump file configuration is
- *   used. Valid values are `LOGICAL` or `PHYSICAL`. Only applicable to MySQL.
- * @param {boolean} [request.replicaOverwriteEnabled]
- *   Optional. MySQL only. True if end-user has confirmed that this SES call
- *   will wipe replica databases overlapping with the proposed selected_objects.
- *   If this field is not set and there are both overlapping and additional
- *   databases proposed, an error will be returned.
- * @param {object} [options]
- *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
- * @returns {Promise} - The promise which resolves to an array.
- *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1beta4.Operation|Operation}.
- *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
- *   for more details and examples.
- * @example <caption>include:samples/generated/v1beta4/sql_instances_service.start_external_sync.js</caption>
- * region_tag:sqladmin_v1beta4_generated_SqlInstancesService_StartExternalSync_async
- */
+  /**
+   * Start External primary instance migration.
+   *
+   * @param {Object} request
+   *   The request object that will be sent.
+   * @param {string} request.instance
+   *   Cloud SQL instance ID. This does not include the project ID.
+   * @param {string} request.project
+   *   ID of the project that contains the instance.
+   * @param {google.cloud.sql.v1beta4.SqlInstancesVerifyExternalSyncSettingsRequest.ExternalSyncMode} request.syncMode
+   *   External sync mode.
+   * @param {boolean} request.skipVerification
+   *   Whether to skip the verification step (VESS).
+   * @param {google.cloud.sql.v1beta4.MySqlSyncConfig} request.mysqlSyncConfig
+   *   MySQL-specific settings for start external sync.
+   * @param {google.cloud.sql.v1beta4.ExternalSyncParallelLevel} [request.syncParallelLevel]
+   *   Optional. Parallel level for initial data sync. Currently only applicable
+   *   for MySQL.
+   * @param {google.cloud.sql.v1beta4.SqlInstancesVerifyExternalSyncSettingsRequest.MigrationType} [request.migrationType]
+   *   Optional. MigrationType configures the migration to use physical files or
+   *   logical dump files. If not set, then the logical dump file configuration is
+   *   used. Valid values are `LOGICAL` or `PHYSICAL`. Only applicable to MySQL.
+   * @param {boolean} [request.replicaOverwriteEnabled]
+   *   Optional. MySQL only. True if end-user has confirmed that this SES call
+   *   will wipe replica databases overlapping with the proposed selected_objects.
+   *   If this field is not set and there are both overlapping and additional
+   *   databases proposed, an error will be returned.
+   * @param {object} [options]
+   *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+   * @returns {Promise} - The promise which resolves to an array.
+   *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1beta4.Operation|Operation}.
+   *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
+   *   for more details and examples.
+   * @example <caption>include:samples/generated/v1beta4/sql_instances_service.start_external_sync.js</caption>
+   * region_tag:sqladmin_v1beta4_generated_SqlInstancesService_StartExternalSync_async
+   */
   startExternalSync(
-      request?: protos.google.cloud.sql.v1beta4.ISqlInstancesStartExternalSyncRequest,
-      options?: CallOptions):
-      Promise<[
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesStartExternalSyncRequest|undefined, {}|undefined
-      ]>;
+    request?: protos.google.cloud.sql.v1beta4.ISqlInstancesStartExternalSyncRequest,
+    options?: CallOptions,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1beta4.IOperation,
+      (
+        | protos.google.cloud.sql.v1beta4.ISqlInstancesStartExternalSyncRequest
+        | undefined
+      ),
+      {} | undefined,
+    ]
+  >;
   startExternalSync(
-      request: protos.google.cloud.sql.v1beta4.ISqlInstancesStartExternalSyncRequest,
-      options: CallOptions,
-      callback: Callback<
-          protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesStartExternalSyncRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1beta4.ISqlInstancesStartExternalSyncRequest,
+    options: CallOptions,
+    callback: Callback<
+      protos.google.cloud.sql.v1beta4.IOperation,
+      | protos.google.cloud.sql.v1beta4.ISqlInstancesStartExternalSyncRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   startExternalSync(
-      request: protos.google.cloud.sql.v1beta4.ISqlInstancesStartExternalSyncRequest,
-      callback: Callback<
-          protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesStartExternalSyncRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1beta4.ISqlInstancesStartExternalSyncRequest,
+    callback: Callback<
+      protos.google.cloud.sql.v1beta4.IOperation,
+      | protos.google.cloud.sql.v1beta4.ISqlInstancesStartExternalSyncRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   startExternalSync(
-      request?: protos.google.cloud.sql.v1beta4.ISqlInstancesStartExternalSyncRequest,
-      optionsOrCallback?: CallOptions|Callback<
-          protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesStartExternalSyncRequest|null|undefined,
-          {}|null|undefined>,
-      callback?: Callback<
+    request?: protos.google.cloud.sql.v1beta4.ISqlInstancesStartExternalSyncRequest,
+    optionsOrCallback?:
+      | CallOptions
+      | Callback<
           protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesStartExternalSyncRequest|null|undefined,
-          {}|null|undefined>):
-      Promise<[
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesStartExternalSyncRequest|undefined, {}|undefined
-      ]>|void {
+          | protos.google.cloud.sql.v1beta4.ISqlInstancesStartExternalSyncRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >,
+    callback?: Callback<
+      protos.google.cloud.sql.v1beta4.IOperation,
+      | protos.google.cloud.sql.v1beta4.ISqlInstancesStartExternalSyncRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1beta4.IOperation,
+      (
+        | protos.google.cloud.sql.v1beta4.ISqlInstancesStartExternalSyncRequest
+        | undefined
+      ),
+      {} | undefined,
+    ]
+  > | void {
     request = request || {};
     let options: CallOptions;
     if (typeof optionsOrCallback === 'function' && callback === undefined) {
       callback = optionsOrCallback;
       options = {};
-    }
-    else {
+    } else {
       options = optionsOrCallback as CallOptions;
     }
     options = options || {};
     options.otherArgs = options.otherArgs || {};
     options.otherArgs.headers = options.otherArgs.headers || {};
-    options.otherArgs.headers[
-      'x-goog-request-params'
-    ] = this._gaxModule.routingHeader.fromParams({
-      'project': request.project ?? '',
-      'instance': request.instance ?? '',
+    options.otherArgs.headers['x-goog-request-params'] =
+      this._gaxModule.routingHeader.fromParams({
+        project: request.project ?? '',
+        instance: request.instance ?? '',
+      });
+    this.initialize().catch((err) => {
+      throw err;
     });
-    this.initialize().catch(err => {throw err});
     this._log.info('startExternalSync request %j', request);
-    const wrappedCallback: Callback<
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesStartExternalSyncRequest|null|undefined,
-        {}|null|undefined>|undefined = callback
+    const wrappedCallback:
+      | Callback<
+          protos.google.cloud.sql.v1beta4.IOperation,
+          | protos.google.cloud.sql.v1beta4.ISqlInstancesStartExternalSyncRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >
+      | undefined = callback
       ? (error, response, options, rawResponse) => {
           this._log.info('startExternalSync response %j', response);
           callback!(error, response, options, rawResponse); // We verified callback above.
         }
       : undefined;
-    return this.innerApiCalls.startExternalSync(request, options, wrappedCallback)
-      ?.then(([response, options, rawResponse]: [
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesStartExternalSyncRequest|undefined,
-        {}|undefined
-      ]) => {
-        this._log.info('startExternalSync response %j', response);
-        return [response, options, rawResponse];
-      }).catch((error: any) => {
-        if (error && 'statusDetails' in error && error.statusDetails instanceof Array) {
-          const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type;
-          error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos);
+    return this.innerApiCalls
+      .startExternalSync(request, options, wrappedCallback)
+      ?.then(
+        ([response, options, rawResponse]: [
+          protos.google.cloud.sql.v1beta4.IOperation,
+          (
+            | protos.google.cloud.sql.v1beta4.ISqlInstancesStartExternalSyncRequest
+            | undefined
+          ),
+          {} | undefined,
+        ]) => {
+          this._log.info('startExternalSync response %j', response);
+          return [response, options, rawResponse];
+        },
+      )
+      .catch((error: any) => {
+        if (
+          error &&
+          'statusDetails' in error &&
+          error.statusDetails instanceof Array
+        ) {
+          const protos = this._gaxModule.protobuf.Root.fromJSON(
+            jsonProtos,
+          ) as unknown as gax.protobuf.Type;
+          error.statusDetails = decodeAnyProtosInArray(
+            error.statusDetails,
+            protos,
+          );
         }
         throw error;
       });
   }
-/**
- * Perform Disk Shrink on primary instance.
- *
- * @param {Object} request
- *   The request object that will be sent.
- * @param {string} request.instance
- *   Cloud SQL instance ID. This does not include the project ID.
- * @param {string} request.project
- *   Project ID of the project that contains the instance.
- * @param {google.cloud.sql.v1beta4.PerformDiskShrinkContext} request.body
- *   Perform disk shrink context.
- * @param {object} [options]
- *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
- * @returns {Promise} - The promise which resolves to an array.
- *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1beta4.Operation|Operation}.
- *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
- *   for more details and examples.
- * @example <caption>include:samples/generated/v1beta4/sql_instances_service.perform_disk_shrink.js</caption>
- * region_tag:sqladmin_v1beta4_generated_SqlInstancesService_PerformDiskShrink_async
- */
+  /**
+   * Perform Disk Shrink on primary instance.
+   *
+   * @param {Object} request
+   *   The request object that will be sent.
+   * @param {string} request.instance
+   *   Cloud SQL instance ID. This does not include the project ID.
+   * @param {string} request.project
+   *   Project ID of the project that contains the instance.
+   * @param {google.cloud.sql.v1beta4.PerformDiskShrinkContext} request.body
+   *   Perform disk shrink context.
+   * @param {object} [options]
+   *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+   * @returns {Promise} - The promise which resolves to an array.
+   *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1beta4.Operation|Operation}.
+   *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
+   *   for more details and examples.
+   * @example <caption>include:samples/generated/v1beta4/sql_instances_service.perform_disk_shrink.js</caption>
+   * region_tag:sqladmin_v1beta4_generated_SqlInstancesService_PerformDiskShrink_async
+   */
   performDiskShrink(
-      request?: protos.google.cloud.sql.v1beta4.ISqlInstancesPerformDiskShrinkRequest,
-      options?: CallOptions):
-      Promise<[
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesPerformDiskShrinkRequest|undefined, {}|undefined
-      ]>;
+    request?: protos.google.cloud.sql.v1beta4.ISqlInstancesPerformDiskShrinkRequest,
+    options?: CallOptions,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1beta4.IOperation,
+      (
+        | protos.google.cloud.sql.v1beta4.ISqlInstancesPerformDiskShrinkRequest
+        | undefined
+      ),
+      {} | undefined,
+    ]
+  >;
   performDiskShrink(
-      request: protos.google.cloud.sql.v1beta4.ISqlInstancesPerformDiskShrinkRequest,
-      options: CallOptions,
-      callback: Callback<
-          protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesPerformDiskShrinkRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1beta4.ISqlInstancesPerformDiskShrinkRequest,
+    options: CallOptions,
+    callback: Callback<
+      protos.google.cloud.sql.v1beta4.IOperation,
+      | protos.google.cloud.sql.v1beta4.ISqlInstancesPerformDiskShrinkRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   performDiskShrink(
-      request: protos.google.cloud.sql.v1beta4.ISqlInstancesPerformDiskShrinkRequest,
-      callback: Callback<
-          protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesPerformDiskShrinkRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1beta4.ISqlInstancesPerformDiskShrinkRequest,
+    callback: Callback<
+      protos.google.cloud.sql.v1beta4.IOperation,
+      | protos.google.cloud.sql.v1beta4.ISqlInstancesPerformDiskShrinkRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   performDiskShrink(
-      request?: protos.google.cloud.sql.v1beta4.ISqlInstancesPerformDiskShrinkRequest,
-      optionsOrCallback?: CallOptions|Callback<
-          protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesPerformDiskShrinkRequest|null|undefined,
-          {}|null|undefined>,
-      callback?: Callback<
+    request?: protos.google.cloud.sql.v1beta4.ISqlInstancesPerformDiskShrinkRequest,
+    optionsOrCallback?:
+      | CallOptions
+      | Callback<
           protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesPerformDiskShrinkRequest|null|undefined,
-          {}|null|undefined>):
-      Promise<[
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesPerformDiskShrinkRequest|undefined, {}|undefined
-      ]>|void {
+          | protos.google.cloud.sql.v1beta4.ISqlInstancesPerformDiskShrinkRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >,
+    callback?: Callback<
+      protos.google.cloud.sql.v1beta4.IOperation,
+      | protos.google.cloud.sql.v1beta4.ISqlInstancesPerformDiskShrinkRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1beta4.IOperation,
+      (
+        | protos.google.cloud.sql.v1beta4.ISqlInstancesPerformDiskShrinkRequest
+        | undefined
+      ),
+      {} | undefined,
+    ]
+  > | void {
     request = request || {};
     let options: CallOptions;
     if (typeof optionsOrCallback === 'function' && callback === undefined) {
       callback = optionsOrCallback;
       options = {};
-    }
-    else {
+    } else {
       options = optionsOrCallback as CallOptions;
     }
     options = options || {};
     options.otherArgs = options.otherArgs || {};
     options.otherArgs.headers = options.otherArgs.headers || {};
-    options.otherArgs.headers[
-      'x-goog-request-params'
-    ] = this._gaxModule.routingHeader.fromParams({
-      'project': request.project ?? '',
-      'instance': request.instance ?? '',
+    options.otherArgs.headers['x-goog-request-params'] =
+      this._gaxModule.routingHeader.fromParams({
+        project: request.project ?? '',
+        instance: request.instance ?? '',
+      });
+    this.initialize().catch((err) => {
+      throw err;
     });
-    this.initialize().catch(err => {throw err});
     this._log.info('performDiskShrink request %j', request);
-    const wrappedCallback: Callback<
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesPerformDiskShrinkRequest|null|undefined,
-        {}|null|undefined>|undefined = callback
+    const wrappedCallback:
+      | Callback<
+          protos.google.cloud.sql.v1beta4.IOperation,
+          | protos.google.cloud.sql.v1beta4.ISqlInstancesPerformDiskShrinkRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >
+      | undefined = callback
       ? (error, response, options, rawResponse) => {
           this._log.info('performDiskShrink response %j', response);
           callback!(error, response, options, rawResponse); // We verified callback above.
         }
       : undefined;
-    return this.innerApiCalls.performDiskShrink(request, options, wrappedCallback)
-      ?.then(([response, options, rawResponse]: [
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesPerformDiskShrinkRequest|undefined,
-        {}|undefined
-      ]) => {
-        this._log.info('performDiskShrink response %j', response);
-        return [response, options, rawResponse];
-      }).catch((error: any) => {
-        if (error && 'statusDetails' in error && error.statusDetails instanceof Array) {
-          const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type;
-          error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos);
+    return this.innerApiCalls
+      .performDiskShrink(request, options, wrappedCallback)
+      ?.then(
+        ([response, options, rawResponse]: [
+          protos.google.cloud.sql.v1beta4.IOperation,
+          (
+            | protos.google.cloud.sql.v1beta4.ISqlInstancesPerformDiskShrinkRequest
+            | undefined
+          ),
+          {} | undefined,
+        ]) => {
+          this._log.info('performDiskShrink response %j', response);
+          return [response, options, rawResponse];
+        },
+      )
+      .catch((error: any) => {
+        if (
+          error &&
+          'statusDetails' in error &&
+          error.statusDetails instanceof Array
+        ) {
+          const protos = this._gaxModule.protobuf.Root.fromJSON(
+            jsonProtos,
+          ) as unknown as gax.protobuf.Type;
+          error.statusDetails = decodeAnyProtosInArray(
+            error.statusDetails,
+            protos,
+          );
         }
         throw error;
       });
   }
-/**
- * Get Disk Shrink Config for a given instance.
- *
- * @param {Object} request
- *   The request object that will be sent.
- * @param {string} request.instance
- *   Cloud SQL instance ID. This does not include the project ID.
- * @param {string} request.project
- *   Project ID of the project that contains the instance.
- * @param {object} [options]
- *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
- * @returns {Promise} - The promise which resolves to an array.
- *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1beta4.SqlInstancesGetDiskShrinkConfigResponse|SqlInstancesGetDiskShrinkConfigResponse}.
- *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
- *   for more details and examples.
- * @example <caption>include:samples/generated/v1beta4/sql_instances_service.get_disk_shrink_config.js</caption>
- * region_tag:sqladmin_v1beta4_generated_SqlInstancesService_GetDiskShrinkConfig_async
- */
+  /**
+   * Get Disk Shrink Config for a given instance.
+   *
+   * @param {Object} request
+   *   The request object that will be sent.
+   * @param {string} request.instance
+   *   Cloud SQL instance ID. This does not include the project ID.
+   * @param {string} request.project
+   *   Project ID of the project that contains the instance.
+   * @param {object} [options]
+   *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+   * @returns {Promise} - The promise which resolves to an array.
+   *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1beta4.SqlInstancesGetDiskShrinkConfigResponse|SqlInstancesGetDiskShrinkConfigResponse}.
+   *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
+   *   for more details and examples.
+   * @example <caption>include:samples/generated/v1beta4/sql_instances_service.get_disk_shrink_config.js</caption>
+   * region_tag:sqladmin_v1beta4_generated_SqlInstancesService_GetDiskShrinkConfig_async
+   */
   getDiskShrinkConfig(
-      request?: protos.google.cloud.sql.v1beta4.ISqlInstancesGetDiskShrinkConfigRequest,
-      options?: CallOptions):
-      Promise<[
-        protos.google.cloud.sql.v1beta4.ISqlInstancesGetDiskShrinkConfigResponse,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesGetDiskShrinkConfigRequest|undefined, {}|undefined
-      ]>;
+    request?: protos.google.cloud.sql.v1beta4.ISqlInstancesGetDiskShrinkConfigRequest,
+    options?: CallOptions,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1beta4.ISqlInstancesGetDiskShrinkConfigResponse,
+      (
+        | protos.google.cloud.sql.v1beta4.ISqlInstancesGetDiskShrinkConfigRequest
+        | undefined
+      ),
+      {} | undefined,
+    ]
+  >;
   getDiskShrinkConfig(
-      request: protos.google.cloud.sql.v1beta4.ISqlInstancesGetDiskShrinkConfigRequest,
-      options: CallOptions,
-      callback: Callback<
-          protos.google.cloud.sql.v1beta4.ISqlInstancesGetDiskShrinkConfigResponse,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesGetDiskShrinkConfigRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1beta4.ISqlInstancesGetDiskShrinkConfigRequest,
+    options: CallOptions,
+    callback: Callback<
+      protos.google.cloud.sql.v1beta4.ISqlInstancesGetDiskShrinkConfigResponse,
+      | protos.google.cloud.sql.v1beta4.ISqlInstancesGetDiskShrinkConfigRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   getDiskShrinkConfig(
-      request: protos.google.cloud.sql.v1beta4.ISqlInstancesGetDiskShrinkConfigRequest,
-      callback: Callback<
-          protos.google.cloud.sql.v1beta4.ISqlInstancesGetDiskShrinkConfigResponse,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesGetDiskShrinkConfigRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1beta4.ISqlInstancesGetDiskShrinkConfigRequest,
+    callback: Callback<
+      protos.google.cloud.sql.v1beta4.ISqlInstancesGetDiskShrinkConfigResponse,
+      | protos.google.cloud.sql.v1beta4.ISqlInstancesGetDiskShrinkConfigRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   getDiskShrinkConfig(
-      request?: protos.google.cloud.sql.v1beta4.ISqlInstancesGetDiskShrinkConfigRequest,
-      optionsOrCallback?: CallOptions|Callback<
-          protos.google.cloud.sql.v1beta4.ISqlInstancesGetDiskShrinkConfigResponse,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesGetDiskShrinkConfigRequest|null|undefined,
-          {}|null|undefined>,
-      callback?: Callback<
+    request?: protos.google.cloud.sql.v1beta4.ISqlInstancesGetDiskShrinkConfigRequest,
+    optionsOrCallback?:
+      | CallOptions
+      | Callback<
           protos.google.cloud.sql.v1beta4.ISqlInstancesGetDiskShrinkConfigResponse,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesGetDiskShrinkConfigRequest|null|undefined,
-          {}|null|undefined>):
-      Promise<[
-        protos.google.cloud.sql.v1beta4.ISqlInstancesGetDiskShrinkConfigResponse,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesGetDiskShrinkConfigRequest|undefined, {}|undefined
-      ]>|void {
+          | protos.google.cloud.sql.v1beta4.ISqlInstancesGetDiskShrinkConfigRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >,
+    callback?: Callback<
+      protos.google.cloud.sql.v1beta4.ISqlInstancesGetDiskShrinkConfigResponse,
+      | protos.google.cloud.sql.v1beta4.ISqlInstancesGetDiskShrinkConfigRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1beta4.ISqlInstancesGetDiskShrinkConfigResponse,
+      (
+        | protos.google.cloud.sql.v1beta4.ISqlInstancesGetDiskShrinkConfigRequest
+        | undefined
+      ),
+      {} | undefined,
+    ]
+  > | void {
     request = request || {};
     let options: CallOptions;
     if (typeof optionsOrCallback === 'function' && callback === undefined) {
       callback = optionsOrCallback;
       options = {};
-    }
-    else {
+    } else {
       options = optionsOrCallback as CallOptions;
     }
     options = options || {};
     options.otherArgs = options.otherArgs || {};
     options.otherArgs.headers = options.otherArgs.headers || {};
-    options.otherArgs.headers[
-      'x-goog-request-params'
-    ] = this._gaxModule.routingHeader.fromParams({
-      'project': request.project ?? '',
-      'instance': request.instance ?? '',
+    options.otherArgs.headers['x-goog-request-params'] =
+      this._gaxModule.routingHeader.fromParams({
+        project: request.project ?? '',
+        instance: request.instance ?? '',
+      });
+    this.initialize().catch((err) => {
+      throw err;
     });
-    this.initialize().catch(err => {throw err});
     this._log.info('getDiskShrinkConfig request %j', request);
-    const wrappedCallback: Callback<
-        protos.google.cloud.sql.v1beta4.ISqlInstancesGetDiskShrinkConfigResponse,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesGetDiskShrinkConfigRequest|null|undefined,
-        {}|null|undefined>|undefined = callback
+    const wrappedCallback:
+      | Callback<
+          protos.google.cloud.sql.v1beta4.ISqlInstancesGetDiskShrinkConfigResponse,
+          | protos.google.cloud.sql.v1beta4.ISqlInstancesGetDiskShrinkConfigRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >
+      | undefined = callback
       ? (error, response, options, rawResponse) => {
           this._log.info('getDiskShrinkConfig response %j', response);
           callback!(error, response, options, rawResponse); // We verified callback above.
         }
       : undefined;
-    return this.innerApiCalls.getDiskShrinkConfig(request, options, wrappedCallback)
-      ?.then(([response, options, rawResponse]: [
-        protos.google.cloud.sql.v1beta4.ISqlInstancesGetDiskShrinkConfigResponse,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesGetDiskShrinkConfigRequest|undefined,
-        {}|undefined
-      ]) => {
-        this._log.info('getDiskShrinkConfig response %j', response);
-        return [response, options, rawResponse];
-      }).catch((error: any) => {
-        if (error && 'statusDetails' in error && error.statusDetails instanceof Array) {
-          const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type;
-          error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos);
+    return this.innerApiCalls
+      .getDiskShrinkConfig(request, options, wrappedCallback)
+      ?.then(
+        ([response, options, rawResponse]: [
+          protos.google.cloud.sql.v1beta4.ISqlInstancesGetDiskShrinkConfigResponse,
+          (
+            | protos.google.cloud.sql.v1beta4.ISqlInstancesGetDiskShrinkConfigRequest
+            | undefined
+          ),
+          {} | undefined,
+        ]) => {
+          this._log.info('getDiskShrinkConfig response %j', response);
+          return [response, options, rawResponse];
+        },
+      )
+      .catch((error: any) => {
+        if (
+          error &&
+          'statusDetails' in error &&
+          error.statusDetails instanceof Array
+        ) {
+          const protos = this._gaxModule.protobuf.Root.fromJSON(
+            jsonProtos,
+          ) as unknown as gax.protobuf.Type;
+          error.statusDetails = decodeAnyProtosInArray(
+            error.statusDetails,
+            protos,
+          );
         }
         throw error;
       });
   }
-/**
- * Reset Replica Size to primary instance disk size.
- *
- * @param {Object} request
- *   The request object that will be sent.
- * @param {string} request.instance
- *   Cloud SQL read replica instance name.
- * @param {string} request.project
- *   ID of the project that contains the read replica.
- * @param {object} [options]
- *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
- * @returns {Promise} - The promise which resolves to an array.
- *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1beta4.Operation|Operation}.
- *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
- *   for more details and examples.
- * @example <caption>include:samples/generated/v1beta4/sql_instances_service.reset_replica_size.js</caption>
- * region_tag:sqladmin_v1beta4_generated_SqlInstancesService_ResetReplicaSize_async
- */
+  /**
+   * Reset Replica Size to primary instance disk size.
+   *
+   * @param {Object} request
+   *   The request object that will be sent.
+   * @param {string} request.instance
+   *   Cloud SQL read replica instance name.
+   * @param {string} request.project
+   *   ID of the project that contains the read replica.
+   * @param {object} [options]
+   *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+   * @returns {Promise} - The promise which resolves to an array.
+   *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1beta4.Operation|Operation}.
+   *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
+   *   for more details and examples.
+   * @example <caption>include:samples/generated/v1beta4/sql_instances_service.reset_replica_size.js</caption>
+   * region_tag:sqladmin_v1beta4_generated_SqlInstancesService_ResetReplicaSize_async
+   */
   resetReplicaSize(
-      request?: protos.google.cloud.sql.v1beta4.ISqlInstancesResetReplicaSizeRequest,
-      options?: CallOptions):
-      Promise<[
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesResetReplicaSizeRequest|undefined, {}|undefined
-      ]>;
+    request?: protos.google.cloud.sql.v1beta4.ISqlInstancesResetReplicaSizeRequest,
+    options?: CallOptions,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1beta4.IOperation,
+      (
+        | protos.google.cloud.sql.v1beta4.ISqlInstancesResetReplicaSizeRequest
+        | undefined
+      ),
+      {} | undefined,
+    ]
+  >;
   resetReplicaSize(
-      request: protos.google.cloud.sql.v1beta4.ISqlInstancesResetReplicaSizeRequest,
-      options: CallOptions,
-      callback: Callback<
-          protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesResetReplicaSizeRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1beta4.ISqlInstancesResetReplicaSizeRequest,
+    options: CallOptions,
+    callback: Callback<
+      protos.google.cloud.sql.v1beta4.IOperation,
+      | protos.google.cloud.sql.v1beta4.ISqlInstancesResetReplicaSizeRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   resetReplicaSize(
-      request: protos.google.cloud.sql.v1beta4.ISqlInstancesResetReplicaSizeRequest,
-      callback: Callback<
-          protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesResetReplicaSizeRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1beta4.ISqlInstancesResetReplicaSizeRequest,
+    callback: Callback<
+      protos.google.cloud.sql.v1beta4.IOperation,
+      | protos.google.cloud.sql.v1beta4.ISqlInstancesResetReplicaSizeRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   resetReplicaSize(
-      request?: protos.google.cloud.sql.v1beta4.ISqlInstancesResetReplicaSizeRequest,
-      optionsOrCallback?: CallOptions|Callback<
-          protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesResetReplicaSizeRequest|null|undefined,
-          {}|null|undefined>,
-      callback?: Callback<
+    request?: protos.google.cloud.sql.v1beta4.ISqlInstancesResetReplicaSizeRequest,
+    optionsOrCallback?:
+      | CallOptions
+      | Callback<
           protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesResetReplicaSizeRequest|null|undefined,
-          {}|null|undefined>):
-      Promise<[
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesResetReplicaSizeRequest|undefined, {}|undefined
-      ]>|void {
+          | protos.google.cloud.sql.v1beta4.ISqlInstancesResetReplicaSizeRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >,
+    callback?: Callback<
+      protos.google.cloud.sql.v1beta4.IOperation,
+      | protos.google.cloud.sql.v1beta4.ISqlInstancesResetReplicaSizeRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1beta4.IOperation,
+      (
+        | protos.google.cloud.sql.v1beta4.ISqlInstancesResetReplicaSizeRequest
+        | undefined
+      ),
+      {} | undefined,
+    ]
+  > | void {
     request = request || {};
     let options: CallOptions;
     if (typeof optionsOrCallback === 'function' && callback === undefined) {
       callback = optionsOrCallback;
       options = {};
-    }
-    else {
+    } else {
       options = optionsOrCallback as CallOptions;
     }
     options = options || {};
     options.otherArgs = options.otherArgs || {};
     options.otherArgs.headers = options.otherArgs.headers || {};
-    options.otherArgs.headers[
-      'x-goog-request-params'
-    ] = this._gaxModule.routingHeader.fromParams({
-      'project': request.project ?? '',
-      'instance': request.instance ?? '',
+    options.otherArgs.headers['x-goog-request-params'] =
+      this._gaxModule.routingHeader.fromParams({
+        project: request.project ?? '',
+        instance: request.instance ?? '',
+      });
+    this.initialize().catch((err) => {
+      throw err;
     });
-    this.initialize().catch(err => {throw err});
     this._log.info('resetReplicaSize request %j', request);
-    const wrappedCallback: Callback<
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesResetReplicaSizeRequest|null|undefined,
-        {}|null|undefined>|undefined = callback
+    const wrappedCallback:
+      | Callback<
+          protos.google.cloud.sql.v1beta4.IOperation,
+          | protos.google.cloud.sql.v1beta4.ISqlInstancesResetReplicaSizeRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >
+      | undefined = callback
       ? (error, response, options, rawResponse) => {
           this._log.info('resetReplicaSize response %j', response);
           callback!(error, response, options, rawResponse); // We verified callback above.
         }
       : undefined;
-    return this.innerApiCalls.resetReplicaSize(request, options, wrappedCallback)
-      ?.then(([response, options, rawResponse]: [
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesResetReplicaSizeRequest|undefined,
-        {}|undefined
-      ]) => {
-        this._log.info('resetReplicaSize response %j', response);
-        return [response, options, rawResponse];
-      }).catch((error: any) => {
-        if (error && 'statusDetails' in error && error.statusDetails instanceof Array) {
-          const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type;
-          error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos);
+    return this.innerApiCalls
+      .resetReplicaSize(request, options, wrappedCallback)
+      ?.then(
+        ([response, options, rawResponse]: [
+          protos.google.cloud.sql.v1beta4.IOperation,
+          (
+            | protos.google.cloud.sql.v1beta4.ISqlInstancesResetReplicaSizeRequest
+            | undefined
+          ),
+          {} | undefined,
+        ]) => {
+          this._log.info('resetReplicaSize response %j', response);
+          return [response, options, rawResponse];
+        },
+      )
+      .catch((error: any) => {
+        if (
+          error &&
+          'statusDetails' in error &&
+          error.statusDetails instanceof Array
+        ) {
+          const protos = this._gaxModule.protobuf.Root.fromJSON(
+            jsonProtos,
+          ) as unknown as gax.protobuf.Type;
+          error.statusDetails = decodeAnyProtosInArray(
+            error.statusDetails,
+            protos,
+          );
         }
         throw error;
       });
   }
-/**
- * Get Latest Recovery Time for a given instance.
- *
- * @param {Object} request
- *   The request object that will be sent.
- * @param {string} request.instance
- *   Cloud SQL instance ID. This does not include the project ID.
- * @param {string} request.project
- *   Project ID of the project that contains the instance.
- * @param {google.protobuf.Timestamp} request.sourceInstanceDeletionTime
- *   The timestamp used to identify the time when the source instance is
- *   deleted. If this instance is deleted, then you must set the timestamp.
- * @param {object} [options]
- *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
- * @returns {Promise} - The promise which resolves to an array.
- *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1beta4.SqlInstancesGetLatestRecoveryTimeResponse|SqlInstancesGetLatestRecoveryTimeResponse}.
- *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
- *   for more details and examples.
- * @example <caption>include:samples/generated/v1beta4/sql_instances_service.get_latest_recovery_time.js</caption>
- * region_tag:sqladmin_v1beta4_generated_SqlInstancesService_GetLatestRecoveryTime_async
- */
+  /**
+   * Get Latest Recovery Time for a given instance.
+   *
+   * @param {Object} request
+   *   The request object that will be sent.
+   * @param {string} request.instance
+   *   Cloud SQL instance ID. This does not include the project ID.
+   * @param {string} request.project
+   *   Project ID of the project that contains the instance.
+   * @param {google.protobuf.Timestamp} request.sourceInstanceDeletionTime
+   *   The timestamp used to identify the time when the source instance is
+   *   deleted. If this instance is deleted, then you must set the timestamp.
+   * @param {object} [options]
+   *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+   * @returns {Promise} - The promise which resolves to an array.
+   *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1beta4.SqlInstancesGetLatestRecoveryTimeResponse|SqlInstancesGetLatestRecoveryTimeResponse}.
+   *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
+   *   for more details and examples.
+   * @example <caption>include:samples/generated/v1beta4/sql_instances_service.get_latest_recovery_time.js</caption>
+   * region_tag:sqladmin_v1beta4_generated_SqlInstancesService_GetLatestRecoveryTime_async
+   */
   getLatestRecoveryTime(
-      request?: protos.google.cloud.sql.v1beta4.ISqlInstancesGetLatestRecoveryTimeRequest,
-      options?: CallOptions):
-      Promise<[
-        protos.google.cloud.sql.v1beta4.ISqlInstancesGetLatestRecoveryTimeResponse,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesGetLatestRecoveryTimeRequest|undefined, {}|undefined
-      ]>;
+    request?: protos.google.cloud.sql.v1beta4.ISqlInstancesGetLatestRecoveryTimeRequest,
+    options?: CallOptions,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1beta4.ISqlInstancesGetLatestRecoveryTimeResponse,
+      (
+        | protos.google.cloud.sql.v1beta4.ISqlInstancesGetLatestRecoveryTimeRequest
+        | undefined
+      ),
+      {} | undefined,
+    ]
+  >;
   getLatestRecoveryTime(
-      request: protos.google.cloud.sql.v1beta4.ISqlInstancesGetLatestRecoveryTimeRequest,
-      options: CallOptions,
-      callback: Callback<
-          protos.google.cloud.sql.v1beta4.ISqlInstancesGetLatestRecoveryTimeResponse,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesGetLatestRecoveryTimeRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1beta4.ISqlInstancesGetLatestRecoveryTimeRequest,
+    options: CallOptions,
+    callback: Callback<
+      protos.google.cloud.sql.v1beta4.ISqlInstancesGetLatestRecoveryTimeResponse,
+      | protos.google.cloud.sql.v1beta4.ISqlInstancesGetLatestRecoveryTimeRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   getLatestRecoveryTime(
-      request: protos.google.cloud.sql.v1beta4.ISqlInstancesGetLatestRecoveryTimeRequest,
-      callback: Callback<
-          protos.google.cloud.sql.v1beta4.ISqlInstancesGetLatestRecoveryTimeResponse,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesGetLatestRecoveryTimeRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1beta4.ISqlInstancesGetLatestRecoveryTimeRequest,
+    callback: Callback<
+      protos.google.cloud.sql.v1beta4.ISqlInstancesGetLatestRecoveryTimeResponse,
+      | protos.google.cloud.sql.v1beta4.ISqlInstancesGetLatestRecoveryTimeRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   getLatestRecoveryTime(
-      request?: protos.google.cloud.sql.v1beta4.ISqlInstancesGetLatestRecoveryTimeRequest,
-      optionsOrCallback?: CallOptions|Callback<
-          protos.google.cloud.sql.v1beta4.ISqlInstancesGetLatestRecoveryTimeResponse,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesGetLatestRecoveryTimeRequest|null|undefined,
-          {}|null|undefined>,
-      callback?: Callback<
+    request?: protos.google.cloud.sql.v1beta4.ISqlInstancesGetLatestRecoveryTimeRequest,
+    optionsOrCallback?:
+      | CallOptions
+      | Callback<
           protos.google.cloud.sql.v1beta4.ISqlInstancesGetLatestRecoveryTimeResponse,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesGetLatestRecoveryTimeRequest|null|undefined,
-          {}|null|undefined>):
-      Promise<[
-        protos.google.cloud.sql.v1beta4.ISqlInstancesGetLatestRecoveryTimeResponse,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesGetLatestRecoveryTimeRequest|undefined, {}|undefined
-      ]>|void {
+          | protos.google.cloud.sql.v1beta4.ISqlInstancesGetLatestRecoveryTimeRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >,
+    callback?: Callback<
+      protos.google.cloud.sql.v1beta4.ISqlInstancesGetLatestRecoveryTimeResponse,
+      | protos.google.cloud.sql.v1beta4.ISqlInstancesGetLatestRecoveryTimeRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1beta4.ISqlInstancesGetLatestRecoveryTimeResponse,
+      (
+        | protos.google.cloud.sql.v1beta4.ISqlInstancesGetLatestRecoveryTimeRequest
+        | undefined
+      ),
+      {} | undefined,
+    ]
+  > | void {
     request = request || {};
     let options: CallOptions;
     if (typeof optionsOrCallback === 'function' && callback === undefined) {
       callback = optionsOrCallback;
       options = {};
-    }
-    else {
+    } else {
       options = optionsOrCallback as CallOptions;
     }
     options = options || {};
     options.otherArgs = options.otherArgs || {};
     options.otherArgs.headers = options.otherArgs.headers || {};
-    options.otherArgs.headers[
-      'x-goog-request-params'
-    ] = this._gaxModule.routingHeader.fromParams({
-      'project': request.project ?? '',
-      'instance': request.instance ?? '',
+    options.otherArgs.headers['x-goog-request-params'] =
+      this._gaxModule.routingHeader.fromParams({
+        project: request.project ?? '',
+        instance: request.instance ?? '',
+      });
+    this.initialize().catch((err) => {
+      throw err;
     });
-    this.initialize().catch(err => {throw err});
     this._log.info('getLatestRecoveryTime request %j', request);
-    const wrappedCallback: Callback<
-        protos.google.cloud.sql.v1beta4.ISqlInstancesGetLatestRecoveryTimeResponse,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesGetLatestRecoveryTimeRequest|null|undefined,
-        {}|null|undefined>|undefined = callback
+    const wrappedCallback:
+      | Callback<
+          protos.google.cloud.sql.v1beta4.ISqlInstancesGetLatestRecoveryTimeResponse,
+          | protos.google.cloud.sql.v1beta4.ISqlInstancesGetLatestRecoveryTimeRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >
+      | undefined = callback
       ? (error, response, options, rawResponse) => {
           this._log.info('getLatestRecoveryTime response %j', response);
           callback!(error, response, options, rawResponse); // We verified callback above.
         }
       : undefined;
-    return this.innerApiCalls.getLatestRecoveryTime(request, options, wrappedCallback)
-      ?.then(([response, options, rawResponse]: [
-        protos.google.cloud.sql.v1beta4.ISqlInstancesGetLatestRecoveryTimeResponse,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesGetLatestRecoveryTimeRequest|undefined,
-        {}|undefined
-      ]) => {
-        this._log.info('getLatestRecoveryTime response %j', response);
-        return [response, options, rawResponse];
-      }).catch((error: any) => {
-        if (error && 'statusDetails' in error && error.statusDetails instanceof Array) {
-          const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type;
-          error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos);
+    return this.innerApiCalls
+      .getLatestRecoveryTime(request, options, wrappedCallback)
+      ?.then(
+        ([response, options, rawResponse]: [
+          protos.google.cloud.sql.v1beta4.ISqlInstancesGetLatestRecoveryTimeResponse,
+          (
+            | protos.google.cloud.sql.v1beta4.ISqlInstancesGetLatestRecoveryTimeRequest
+            | undefined
+          ),
+          {} | undefined,
+        ]) => {
+          this._log.info('getLatestRecoveryTime response %j', response);
+          return [response, options, rawResponse];
+        },
+      )
+      .catch((error: any) => {
+        if (
+          error &&
+          'statusDetails' in error &&
+          error.statusDetails instanceof Array
+        ) {
+          const protos = this._gaxModule.protobuf.Root.fromJSON(
+            jsonProtos,
+          ) as unknown as gax.protobuf.Type;
+          error.statusDetails = decodeAnyProtosInArray(
+            error.statusDetails,
+            protos,
+          );
         }
         throw error;
       });
   }
-/**
- * Execute SQL statements.
- *
- * @param {Object} request
- *   The request object that will be sent.
- * @param {string} request.instance
- *   Required. Database instance ID. This does not include the project ID.
- * @param {string} request.project
- *   Required. Project ID of the project that contains the instance.
- * @param {google.cloud.sql.v1beta4.ExecuteSqlPayload} request.body
- *   The request body.
- * @param {object} [options]
- *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
- * @returns {Promise} - The promise which resolves to an array.
- *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1beta4.SqlInstancesExecuteSqlResponse|SqlInstancesExecuteSqlResponse}.
- *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
- *   for more details and examples.
- * @example <caption>include:samples/generated/v1beta4/sql_instances_service.execute_sql.js</caption>
- * region_tag:sqladmin_v1beta4_generated_SqlInstancesService_ExecuteSql_async
- */
+  /**
+   * Execute SQL statements.
+   *
+   * @param {Object} request
+   *   The request object that will be sent.
+   * @param {string} request.instance
+   *   Required. Database instance ID. This does not include the project ID.
+   * @param {string} request.project
+   *   Required. Project ID of the project that contains the instance.
+   * @param {google.cloud.sql.v1beta4.ExecuteSqlPayload} request.body
+   *   The request body.
+   * @param {object} [options]
+   *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+   * @returns {Promise} - The promise which resolves to an array.
+   *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1beta4.SqlInstancesExecuteSqlResponse|SqlInstancesExecuteSqlResponse}.
+   *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
+   *   for more details and examples.
+   * @example <caption>include:samples/generated/v1beta4/sql_instances_service.execute_sql.js</caption>
+   * region_tag:sqladmin_v1beta4_generated_SqlInstancesService_ExecuteSql_async
+   */
   executeSql(
-      request?: protos.google.cloud.sql.v1beta4.ISqlInstancesExecuteSqlRequest,
-      options?: CallOptions):
-      Promise<[
-        protos.google.cloud.sql.v1beta4.ISqlInstancesExecuteSqlResponse,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesExecuteSqlRequest|undefined, {}|undefined
-      ]>;
+    request?: protos.google.cloud.sql.v1beta4.ISqlInstancesExecuteSqlRequest,
+    options?: CallOptions,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1beta4.ISqlInstancesExecuteSqlResponse,
+      (
+        | protos.google.cloud.sql.v1beta4.ISqlInstancesExecuteSqlRequest
+        | undefined
+      ),
+      {} | undefined,
+    ]
+  >;
   executeSql(
-      request: protos.google.cloud.sql.v1beta4.ISqlInstancesExecuteSqlRequest,
-      options: CallOptions,
-      callback: Callback<
-          protos.google.cloud.sql.v1beta4.ISqlInstancesExecuteSqlResponse,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesExecuteSqlRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1beta4.ISqlInstancesExecuteSqlRequest,
+    options: CallOptions,
+    callback: Callback<
+      protos.google.cloud.sql.v1beta4.ISqlInstancesExecuteSqlResponse,
+      | protos.google.cloud.sql.v1beta4.ISqlInstancesExecuteSqlRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   executeSql(
-      request: protos.google.cloud.sql.v1beta4.ISqlInstancesExecuteSqlRequest,
-      callback: Callback<
-          protos.google.cloud.sql.v1beta4.ISqlInstancesExecuteSqlResponse,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesExecuteSqlRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1beta4.ISqlInstancesExecuteSqlRequest,
+    callback: Callback<
+      protos.google.cloud.sql.v1beta4.ISqlInstancesExecuteSqlResponse,
+      | protos.google.cloud.sql.v1beta4.ISqlInstancesExecuteSqlRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   executeSql(
-      request?: protos.google.cloud.sql.v1beta4.ISqlInstancesExecuteSqlRequest,
-      optionsOrCallback?: CallOptions|Callback<
-          protos.google.cloud.sql.v1beta4.ISqlInstancesExecuteSqlResponse,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesExecuteSqlRequest|null|undefined,
-          {}|null|undefined>,
-      callback?: Callback<
+    request?: protos.google.cloud.sql.v1beta4.ISqlInstancesExecuteSqlRequest,
+    optionsOrCallback?:
+      | CallOptions
+      | Callback<
           protos.google.cloud.sql.v1beta4.ISqlInstancesExecuteSqlResponse,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesExecuteSqlRequest|null|undefined,
-          {}|null|undefined>):
-      Promise<[
-        protos.google.cloud.sql.v1beta4.ISqlInstancesExecuteSqlResponse,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesExecuteSqlRequest|undefined, {}|undefined
-      ]>|void {
+          | protos.google.cloud.sql.v1beta4.ISqlInstancesExecuteSqlRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >,
+    callback?: Callback<
+      protos.google.cloud.sql.v1beta4.ISqlInstancesExecuteSqlResponse,
+      | protos.google.cloud.sql.v1beta4.ISqlInstancesExecuteSqlRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1beta4.ISqlInstancesExecuteSqlResponse,
+      (
+        | protos.google.cloud.sql.v1beta4.ISqlInstancesExecuteSqlRequest
+        | undefined
+      ),
+      {} | undefined,
+    ]
+  > | void {
     request = request || {};
     let options: CallOptions;
     if (typeof optionsOrCallback === 'function' && callback === undefined) {
       callback = optionsOrCallback;
       options = {};
-    }
-    else {
+    } else {
       options = optionsOrCallback as CallOptions;
     }
     options = options || {};
     options.otherArgs = options.otherArgs || {};
     options.otherArgs.headers = options.otherArgs.headers || {};
-    options.otherArgs.headers[
-      'x-goog-request-params'
-    ] = this._gaxModule.routingHeader.fromParams({
-      'project': request.project ?? '',
-      'instance': request.instance ?? '',
+    options.otherArgs.headers['x-goog-request-params'] =
+      this._gaxModule.routingHeader.fromParams({
+        project: request.project ?? '',
+        instance: request.instance ?? '',
+      });
+    this.initialize().catch((err) => {
+      throw err;
     });
-    this.initialize().catch(err => {throw err});
     this._log.info('executeSql request %j', request);
-    const wrappedCallback: Callback<
-        protos.google.cloud.sql.v1beta4.ISqlInstancesExecuteSqlResponse,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesExecuteSqlRequest|null|undefined,
-        {}|null|undefined>|undefined = callback
+    const wrappedCallback:
+      | Callback<
+          protos.google.cloud.sql.v1beta4.ISqlInstancesExecuteSqlResponse,
+          | protos.google.cloud.sql.v1beta4.ISqlInstancesExecuteSqlRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >
+      | undefined = callback
       ? (error, response, options, rawResponse) => {
           this._log.info('executeSql response %j', response);
           callback!(error, response, options, rawResponse); // We verified callback above.
         }
       : undefined;
-    return this.innerApiCalls.executeSql(request, options, wrappedCallback)
-      ?.then(([response, options, rawResponse]: [
-        protos.google.cloud.sql.v1beta4.ISqlInstancesExecuteSqlResponse,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesExecuteSqlRequest|undefined,
-        {}|undefined
-      ]) => {
-        this._log.info('executeSql response %j', response);
-        return [response, options, rawResponse];
-      }).catch((error: any) => {
-        if (error && 'statusDetails' in error && error.statusDetails instanceof Array) {
-          const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type;
-          error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos);
+    return this.innerApiCalls
+      .executeSql(request, options, wrappedCallback)
+      ?.then(
+        ([response, options, rawResponse]: [
+          protos.google.cloud.sql.v1beta4.ISqlInstancesExecuteSqlResponse,
+          (
+            | protos.google.cloud.sql.v1beta4.ISqlInstancesExecuteSqlRequest
+            | undefined
+          ),
+          {} | undefined,
+        ]) => {
+          this._log.info('executeSql response %j', response);
+          return [response, options, rawResponse];
+        },
+      )
+      .catch((error: any) => {
+        if (
+          error &&
+          'statusDetails' in error &&
+          error.statusDetails instanceof Array
+        ) {
+          const protos = this._gaxModule.protobuf.Root.fromJSON(
+            jsonProtos,
+          ) as unknown as gax.protobuf.Type;
+          error.statusDetails = decodeAnyProtosInArray(
+            error.statusDetails,
+            protos,
+          );
         }
         throw error;
       });
   }
-/**
- * Acquire a lease for the setup of SQL Server Reporting Services (SSRS).
- *
- * @param {Object} request
- *   The request object that will be sent.
- * @param {string} request.instance
- *   Required. Cloud SQL instance ID. This doesn't include the project ID. It's
- *   composed of lowercase letters, numbers, and hyphens, and it must start with
- *   a letter. The total length must be 98 characters or less (Example:
- *   instance-id).
- * @param {string} request.project
- *   Required. ID of the project that contains the instance (Example:
- *   project-id).
- * @param {google.cloud.sql.v1beta4.InstancesAcquireSsrsLeaseRequest} request.body
- *   The body for request to acquire an SSRS lease.
- * @param {object} [options]
- *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
- * @returns {Promise} - The promise which resolves to an array.
- *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1beta4.SqlInstancesAcquireSsrsLeaseResponse|SqlInstancesAcquireSsrsLeaseResponse}.
- *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
- *   for more details and examples.
- * @example <caption>include:samples/generated/v1beta4/sql_instances_service.acquire_ssrs_lease.js</caption>
- * region_tag:sqladmin_v1beta4_generated_SqlInstancesService_AcquireSsrsLease_async
- */
+  /**
+   * Acquire a lease for the setup of SQL Server Reporting Services (SSRS).
+   *
+   * @param {Object} request
+   *   The request object that will be sent.
+   * @param {string} request.instance
+   *   Required. Cloud SQL instance ID. This doesn't include the project ID. It's
+   *   composed of lowercase letters, numbers, and hyphens, and it must start with
+   *   a letter. The total length must be 98 characters or less (Example:
+   *   instance-id).
+   * @param {string} request.project
+   *   Required. ID of the project that contains the instance (Example:
+   *   project-id).
+   * @param {google.cloud.sql.v1beta4.InstancesAcquireSsrsLeaseRequest} request.body
+   *   The body for request to acquire an SSRS lease.
+   * @param {object} [options]
+   *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+   * @returns {Promise} - The promise which resolves to an array.
+   *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1beta4.SqlInstancesAcquireSsrsLeaseResponse|SqlInstancesAcquireSsrsLeaseResponse}.
+   *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
+   *   for more details and examples.
+   * @example <caption>include:samples/generated/v1beta4/sql_instances_service.acquire_ssrs_lease.js</caption>
+   * region_tag:sqladmin_v1beta4_generated_SqlInstancesService_AcquireSsrsLease_async
+   */
   acquireSsrsLease(
-      request?: protos.google.cloud.sql.v1beta4.ISqlInstancesAcquireSsrsLeaseRequest,
-      options?: CallOptions):
-      Promise<[
-        protos.google.cloud.sql.v1beta4.ISqlInstancesAcquireSsrsLeaseResponse,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesAcquireSsrsLeaseRequest|undefined, {}|undefined
-      ]>;
+    request?: protos.google.cloud.sql.v1beta4.ISqlInstancesAcquireSsrsLeaseRequest,
+    options?: CallOptions,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1beta4.ISqlInstancesAcquireSsrsLeaseResponse,
+      (
+        | protos.google.cloud.sql.v1beta4.ISqlInstancesAcquireSsrsLeaseRequest
+        | undefined
+      ),
+      {} | undefined,
+    ]
+  >;
   acquireSsrsLease(
-      request: protos.google.cloud.sql.v1beta4.ISqlInstancesAcquireSsrsLeaseRequest,
-      options: CallOptions,
-      callback: Callback<
-          protos.google.cloud.sql.v1beta4.ISqlInstancesAcquireSsrsLeaseResponse,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesAcquireSsrsLeaseRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1beta4.ISqlInstancesAcquireSsrsLeaseRequest,
+    options: CallOptions,
+    callback: Callback<
+      protos.google.cloud.sql.v1beta4.ISqlInstancesAcquireSsrsLeaseResponse,
+      | protos.google.cloud.sql.v1beta4.ISqlInstancesAcquireSsrsLeaseRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   acquireSsrsLease(
-      request: protos.google.cloud.sql.v1beta4.ISqlInstancesAcquireSsrsLeaseRequest,
-      callback: Callback<
-          protos.google.cloud.sql.v1beta4.ISqlInstancesAcquireSsrsLeaseResponse,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesAcquireSsrsLeaseRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1beta4.ISqlInstancesAcquireSsrsLeaseRequest,
+    callback: Callback<
+      protos.google.cloud.sql.v1beta4.ISqlInstancesAcquireSsrsLeaseResponse,
+      | protos.google.cloud.sql.v1beta4.ISqlInstancesAcquireSsrsLeaseRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   acquireSsrsLease(
-      request?: protos.google.cloud.sql.v1beta4.ISqlInstancesAcquireSsrsLeaseRequest,
-      optionsOrCallback?: CallOptions|Callback<
-          protos.google.cloud.sql.v1beta4.ISqlInstancesAcquireSsrsLeaseResponse,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesAcquireSsrsLeaseRequest|null|undefined,
-          {}|null|undefined>,
-      callback?: Callback<
+    request?: protos.google.cloud.sql.v1beta4.ISqlInstancesAcquireSsrsLeaseRequest,
+    optionsOrCallback?:
+      | CallOptions
+      | Callback<
           protos.google.cloud.sql.v1beta4.ISqlInstancesAcquireSsrsLeaseResponse,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesAcquireSsrsLeaseRequest|null|undefined,
-          {}|null|undefined>):
-      Promise<[
-        protos.google.cloud.sql.v1beta4.ISqlInstancesAcquireSsrsLeaseResponse,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesAcquireSsrsLeaseRequest|undefined, {}|undefined
-      ]>|void {
+          | protos.google.cloud.sql.v1beta4.ISqlInstancesAcquireSsrsLeaseRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >,
+    callback?: Callback<
+      protos.google.cloud.sql.v1beta4.ISqlInstancesAcquireSsrsLeaseResponse,
+      | protos.google.cloud.sql.v1beta4.ISqlInstancesAcquireSsrsLeaseRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1beta4.ISqlInstancesAcquireSsrsLeaseResponse,
+      (
+        | protos.google.cloud.sql.v1beta4.ISqlInstancesAcquireSsrsLeaseRequest
+        | undefined
+      ),
+      {} | undefined,
+    ]
+  > | void {
     request = request || {};
     let options: CallOptions;
     if (typeof optionsOrCallback === 'function' && callback === undefined) {
       callback = optionsOrCallback;
       options = {};
-    }
-    else {
+    } else {
       options = optionsOrCallback as CallOptions;
     }
     options = options || {};
     options.otherArgs = options.otherArgs || {};
     options.otherArgs.headers = options.otherArgs.headers || {};
-    options.otherArgs.headers[
-      'x-goog-request-params'
-    ] = this._gaxModule.routingHeader.fromParams({
-      'project': request.project ?? '',
-      'instance': request.instance ?? '',
+    options.otherArgs.headers['x-goog-request-params'] =
+      this._gaxModule.routingHeader.fromParams({
+        project: request.project ?? '',
+        instance: request.instance ?? '',
+      });
+    this.initialize().catch((err) => {
+      throw err;
     });
-    this.initialize().catch(err => {throw err});
     this._log.info('acquireSsrsLease request %j', request);
-    const wrappedCallback: Callback<
-        protos.google.cloud.sql.v1beta4.ISqlInstancesAcquireSsrsLeaseResponse,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesAcquireSsrsLeaseRequest|null|undefined,
-        {}|null|undefined>|undefined = callback
+    const wrappedCallback:
+      | Callback<
+          protos.google.cloud.sql.v1beta4.ISqlInstancesAcquireSsrsLeaseResponse,
+          | protos.google.cloud.sql.v1beta4.ISqlInstancesAcquireSsrsLeaseRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >
+      | undefined = callback
       ? (error, response, options, rawResponse) => {
           this._log.info('acquireSsrsLease response %j', response);
           callback!(error, response, options, rawResponse); // We verified callback above.
         }
       : undefined;
-    return this.innerApiCalls.acquireSsrsLease(request, options, wrappedCallback)
-      ?.then(([response, options, rawResponse]: [
-        protos.google.cloud.sql.v1beta4.ISqlInstancesAcquireSsrsLeaseResponse,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesAcquireSsrsLeaseRequest|undefined,
-        {}|undefined
-      ]) => {
-        this._log.info('acquireSsrsLease response %j', response);
-        return [response, options, rawResponse];
-      }).catch((error: any) => {
-        if (error && 'statusDetails' in error && error.statusDetails instanceof Array) {
-          const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type;
-          error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos);
+    return this.innerApiCalls
+      .acquireSsrsLease(request, options, wrappedCallback)
+      ?.then(
+        ([response, options, rawResponse]: [
+          protos.google.cloud.sql.v1beta4.ISqlInstancesAcquireSsrsLeaseResponse,
+          (
+            | protos.google.cloud.sql.v1beta4.ISqlInstancesAcquireSsrsLeaseRequest
+            | undefined
+          ),
+          {} | undefined,
+        ]) => {
+          this._log.info('acquireSsrsLease response %j', response);
+          return [response, options, rawResponse];
+        },
+      )
+      .catch((error: any) => {
+        if (
+          error &&
+          'statusDetails' in error &&
+          error.statusDetails instanceof Array
+        ) {
+          const protos = this._gaxModule.protobuf.Root.fromJSON(
+            jsonProtos,
+          ) as unknown as gax.protobuf.Type;
+          error.statusDetails = decodeAnyProtosInArray(
+            error.statusDetails,
+            protos,
+          );
         }
         throw error;
       });
   }
-/**
- * Release a lease for the setup of SQL Server Reporting Services (SSRS).
- *
- * @param {Object} request
- *   The request object that will be sent.
- * @param {string} request.instance
- *   Required. The Cloud SQL instance ID. This doesn't include the project ID.
- *   It's composed of lowercase letters, numbers, and hyphens, and it must start
- *   with a letter. The total length must be 98 characters or less (Example:
- *   instance-id).
- * @param {string} request.project
- *   Required. The ID of the project that contains the instance (Example:
- *   project-id).
- * @param {object} [options]
- *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
- * @returns {Promise} - The promise which resolves to an array.
- *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1beta4.SqlInstancesReleaseSsrsLeaseResponse|SqlInstancesReleaseSsrsLeaseResponse}.
- *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
- *   for more details and examples.
- * @example <caption>include:samples/generated/v1beta4/sql_instances_service.release_ssrs_lease.js</caption>
- * region_tag:sqladmin_v1beta4_generated_SqlInstancesService_ReleaseSsrsLease_async
- */
+  /**
+   * Release a lease for the setup of SQL Server Reporting Services (SSRS).
+   *
+   * @param {Object} request
+   *   The request object that will be sent.
+   * @param {string} request.instance
+   *   Required. The Cloud SQL instance ID. This doesn't include the project ID.
+   *   It's composed of lowercase letters, numbers, and hyphens, and it must start
+   *   with a letter. The total length must be 98 characters or less (Example:
+   *   instance-id).
+   * @param {string} request.project
+   *   Required. The ID of the project that contains the instance (Example:
+   *   project-id).
+   * @param {object} [options]
+   *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+   * @returns {Promise} - The promise which resolves to an array.
+   *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1beta4.SqlInstancesReleaseSsrsLeaseResponse|SqlInstancesReleaseSsrsLeaseResponse}.
+   *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
+   *   for more details and examples.
+   * @example <caption>include:samples/generated/v1beta4/sql_instances_service.release_ssrs_lease.js</caption>
+   * region_tag:sqladmin_v1beta4_generated_SqlInstancesService_ReleaseSsrsLease_async
+   */
   releaseSsrsLease(
-      request?: protos.google.cloud.sql.v1beta4.ISqlInstancesReleaseSsrsLeaseRequest,
-      options?: CallOptions):
-      Promise<[
-        protos.google.cloud.sql.v1beta4.ISqlInstancesReleaseSsrsLeaseResponse,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesReleaseSsrsLeaseRequest|undefined, {}|undefined
-      ]>;
+    request?: protos.google.cloud.sql.v1beta4.ISqlInstancesReleaseSsrsLeaseRequest,
+    options?: CallOptions,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1beta4.ISqlInstancesReleaseSsrsLeaseResponse,
+      (
+        | protos.google.cloud.sql.v1beta4.ISqlInstancesReleaseSsrsLeaseRequest
+        | undefined
+      ),
+      {} | undefined,
+    ]
+  >;
   releaseSsrsLease(
-      request: protos.google.cloud.sql.v1beta4.ISqlInstancesReleaseSsrsLeaseRequest,
-      options: CallOptions,
-      callback: Callback<
-          protos.google.cloud.sql.v1beta4.ISqlInstancesReleaseSsrsLeaseResponse,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesReleaseSsrsLeaseRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1beta4.ISqlInstancesReleaseSsrsLeaseRequest,
+    options: CallOptions,
+    callback: Callback<
+      protos.google.cloud.sql.v1beta4.ISqlInstancesReleaseSsrsLeaseResponse,
+      | protos.google.cloud.sql.v1beta4.ISqlInstancesReleaseSsrsLeaseRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   releaseSsrsLease(
-      request: protos.google.cloud.sql.v1beta4.ISqlInstancesReleaseSsrsLeaseRequest,
-      callback: Callback<
-          protos.google.cloud.sql.v1beta4.ISqlInstancesReleaseSsrsLeaseResponse,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesReleaseSsrsLeaseRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1beta4.ISqlInstancesReleaseSsrsLeaseRequest,
+    callback: Callback<
+      protos.google.cloud.sql.v1beta4.ISqlInstancesReleaseSsrsLeaseResponse,
+      | protos.google.cloud.sql.v1beta4.ISqlInstancesReleaseSsrsLeaseRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   releaseSsrsLease(
-      request?: protos.google.cloud.sql.v1beta4.ISqlInstancesReleaseSsrsLeaseRequest,
-      optionsOrCallback?: CallOptions|Callback<
-          protos.google.cloud.sql.v1beta4.ISqlInstancesReleaseSsrsLeaseResponse,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesReleaseSsrsLeaseRequest|null|undefined,
-          {}|null|undefined>,
-      callback?: Callback<
+    request?: protos.google.cloud.sql.v1beta4.ISqlInstancesReleaseSsrsLeaseRequest,
+    optionsOrCallback?:
+      | CallOptions
+      | Callback<
           protos.google.cloud.sql.v1beta4.ISqlInstancesReleaseSsrsLeaseResponse,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesReleaseSsrsLeaseRequest|null|undefined,
-          {}|null|undefined>):
-      Promise<[
-        protos.google.cloud.sql.v1beta4.ISqlInstancesReleaseSsrsLeaseResponse,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesReleaseSsrsLeaseRequest|undefined, {}|undefined
-      ]>|void {
+          | protos.google.cloud.sql.v1beta4.ISqlInstancesReleaseSsrsLeaseRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >,
+    callback?: Callback<
+      protos.google.cloud.sql.v1beta4.ISqlInstancesReleaseSsrsLeaseResponse,
+      | protos.google.cloud.sql.v1beta4.ISqlInstancesReleaseSsrsLeaseRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1beta4.ISqlInstancesReleaseSsrsLeaseResponse,
+      (
+        | protos.google.cloud.sql.v1beta4.ISqlInstancesReleaseSsrsLeaseRequest
+        | undefined
+      ),
+      {} | undefined,
+    ]
+  > | void {
     request = request || {};
     let options: CallOptions;
     if (typeof optionsOrCallback === 'function' && callback === undefined) {
       callback = optionsOrCallback;
       options = {};
-    }
-    else {
+    } else {
       options = optionsOrCallback as CallOptions;
     }
     options = options || {};
     options.otherArgs = options.otherArgs || {};
     options.otherArgs.headers = options.otherArgs.headers || {};
-    options.otherArgs.headers[
-      'x-goog-request-params'
-    ] = this._gaxModule.routingHeader.fromParams({
-      'project': request.project ?? '',
-      'instance': request.instance ?? '',
+    options.otherArgs.headers['x-goog-request-params'] =
+      this._gaxModule.routingHeader.fromParams({
+        project: request.project ?? '',
+        instance: request.instance ?? '',
+      });
+    this.initialize().catch((err) => {
+      throw err;
     });
-    this.initialize().catch(err => {throw err});
     this._log.info('releaseSsrsLease request %j', request);
-    const wrappedCallback: Callback<
-        protos.google.cloud.sql.v1beta4.ISqlInstancesReleaseSsrsLeaseResponse,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesReleaseSsrsLeaseRequest|null|undefined,
-        {}|null|undefined>|undefined = callback
+    const wrappedCallback:
+      | Callback<
+          protos.google.cloud.sql.v1beta4.ISqlInstancesReleaseSsrsLeaseResponse,
+          | protos.google.cloud.sql.v1beta4.ISqlInstancesReleaseSsrsLeaseRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >
+      | undefined = callback
       ? (error, response, options, rawResponse) => {
           this._log.info('releaseSsrsLease response %j', response);
           callback!(error, response, options, rawResponse); // We verified callback above.
         }
       : undefined;
-    return this.innerApiCalls.releaseSsrsLease(request, options, wrappedCallback)
-      ?.then(([response, options, rawResponse]: [
-        protos.google.cloud.sql.v1beta4.ISqlInstancesReleaseSsrsLeaseResponse,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesReleaseSsrsLeaseRequest|undefined,
-        {}|undefined
-      ]) => {
-        this._log.info('releaseSsrsLease response %j', response);
-        return [response, options, rawResponse];
-      }).catch((error: any) => {
-        if (error && 'statusDetails' in error && error.statusDetails instanceof Array) {
-          const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type;
-          error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos);
+    return this.innerApiCalls
+      .releaseSsrsLease(request, options, wrappedCallback)
+      ?.then(
+        ([response, options, rawResponse]: [
+          protos.google.cloud.sql.v1beta4.ISqlInstancesReleaseSsrsLeaseResponse,
+          (
+            | protos.google.cloud.sql.v1beta4.ISqlInstancesReleaseSsrsLeaseRequest
+            | undefined
+          ),
+          {} | undefined,
+        ]) => {
+          this._log.info('releaseSsrsLease response %j', response);
+          return [response, options, rawResponse];
+        },
+      )
+      .catch((error: any) => {
+        if (
+          error &&
+          'statusDetails' in error &&
+          error.statusDetails instanceof Array
+        ) {
+          const protos = this._gaxModule.protobuf.Root.fromJSON(
+            jsonProtos,
+          ) as unknown as gax.protobuf.Type;
+          error.statusDetails = decodeAnyProtosInArray(
+            error.statusDetails,
+            protos,
+          );
         }
         throw error;
       });
   }
-/**
- * Execute MVU Pre-checks
- *
- * @param {Object} request
- *   The request object that will be sent.
- * @param {string} request.instance
- *   Required. Cloud SQL instance ID. This does not include the project ID.
- * @param {string} request.project
- *   Required. Project ID of the project that contains the instance.
- * @param {google.cloud.sql.v1beta4.InstancesPreCheckMajorVersionUpgradeRequest} request.body
- *   Required. The context for request to perform the pre-check major version
- *   upgrade operation.
- * @param {object} [options]
- *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
- * @returns {Promise} - The promise which resolves to an array.
- *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1beta4.Operation|Operation}.
- *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
- *   for more details and examples.
- * @example <caption>include:samples/generated/v1beta4/sql_instances_service.pre_check_major_version_upgrade.js</caption>
- * region_tag:sqladmin_v1beta4_generated_SqlInstancesService_PreCheckMajorVersionUpgrade_async
- */
+  /**
+   * Execute MVU Pre-checks
+   *
+   * @param {Object} request
+   *   The request object that will be sent.
+   * @param {string} request.instance
+   *   Required. Cloud SQL instance ID. This does not include the project ID.
+   * @param {string} request.project
+   *   Required. Project ID of the project that contains the instance.
+   * @param {google.cloud.sql.v1beta4.InstancesPreCheckMajorVersionUpgradeRequest} request.body
+   *   Required. The context for request to perform the pre-check major version
+   *   upgrade operation.
+   * @param {object} [options]
+   *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+   * @returns {Promise} - The promise which resolves to an array.
+   *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1beta4.Operation|Operation}.
+   *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
+   *   for more details and examples.
+   * @example <caption>include:samples/generated/v1beta4/sql_instances_service.pre_check_major_version_upgrade.js</caption>
+   * region_tag:sqladmin_v1beta4_generated_SqlInstancesService_PreCheckMajorVersionUpgrade_async
+   */
   preCheckMajorVersionUpgrade(
-      request?: protos.google.cloud.sql.v1beta4.ISqlInstancesPreCheckMajorVersionUpgradeRequest,
-      options?: CallOptions):
-      Promise<[
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesPreCheckMajorVersionUpgradeRequest|undefined, {}|undefined
-      ]>;
+    request?: protos.google.cloud.sql.v1beta4.ISqlInstancesPreCheckMajorVersionUpgradeRequest,
+    options?: CallOptions,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1beta4.IOperation,
+      (
+        | protos.google.cloud.sql.v1beta4.ISqlInstancesPreCheckMajorVersionUpgradeRequest
+        | undefined
+      ),
+      {} | undefined,
+    ]
+  >;
   preCheckMajorVersionUpgrade(
-      request: protos.google.cloud.sql.v1beta4.ISqlInstancesPreCheckMajorVersionUpgradeRequest,
-      options: CallOptions,
-      callback: Callback<
-          protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesPreCheckMajorVersionUpgradeRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1beta4.ISqlInstancesPreCheckMajorVersionUpgradeRequest,
+    options: CallOptions,
+    callback: Callback<
+      protos.google.cloud.sql.v1beta4.IOperation,
+      | protos.google.cloud.sql.v1beta4.ISqlInstancesPreCheckMajorVersionUpgradeRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   preCheckMajorVersionUpgrade(
-      request: protos.google.cloud.sql.v1beta4.ISqlInstancesPreCheckMajorVersionUpgradeRequest,
-      callback: Callback<
-          protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesPreCheckMajorVersionUpgradeRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1beta4.ISqlInstancesPreCheckMajorVersionUpgradeRequest,
+    callback: Callback<
+      protos.google.cloud.sql.v1beta4.IOperation,
+      | protos.google.cloud.sql.v1beta4.ISqlInstancesPreCheckMajorVersionUpgradeRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   preCheckMajorVersionUpgrade(
-      request?: protos.google.cloud.sql.v1beta4.ISqlInstancesPreCheckMajorVersionUpgradeRequest,
-      optionsOrCallback?: CallOptions|Callback<
-          protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesPreCheckMajorVersionUpgradeRequest|null|undefined,
-          {}|null|undefined>,
-      callback?: Callback<
+    request?: protos.google.cloud.sql.v1beta4.ISqlInstancesPreCheckMajorVersionUpgradeRequest,
+    optionsOrCallback?:
+      | CallOptions
+      | Callback<
           protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesPreCheckMajorVersionUpgradeRequest|null|undefined,
-          {}|null|undefined>):
-      Promise<[
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesPreCheckMajorVersionUpgradeRequest|undefined, {}|undefined
-      ]>|void {
+          | protos.google.cloud.sql.v1beta4.ISqlInstancesPreCheckMajorVersionUpgradeRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >,
+    callback?: Callback<
+      protos.google.cloud.sql.v1beta4.IOperation,
+      | protos.google.cloud.sql.v1beta4.ISqlInstancesPreCheckMajorVersionUpgradeRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1beta4.IOperation,
+      (
+        | protos.google.cloud.sql.v1beta4.ISqlInstancesPreCheckMajorVersionUpgradeRequest
+        | undefined
+      ),
+      {} | undefined,
+    ]
+  > | void {
     request = request || {};
     let options: CallOptions;
     if (typeof optionsOrCallback === 'function' && callback === undefined) {
       callback = optionsOrCallback;
       options = {};
-    }
-    else {
+    } else {
       options = optionsOrCallback as CallOptions;
     }
     options = options || {};
     options.otherArgs = options.otherArgs || {};
     options.otherArgs.headers = options.otherArgs.headers || {};
-    options.otherArgs.headers[
-      'x-goog-request-params'
-    ] = this._gaxModule.routingHeader.fromParams({
-      'project': request.project ?? '',
-      'instance': request.instance ?? '',
+    options.otherArgs.headers['x-goog-request-params'] =
+      this._gaxModule.routingHeader.fromParams({
+        project: request.project ?? '',
+        instance: request.instance ?? '',
+      });
+    this.initialize().catch((err) => {
+      throw err;
     });
-    this.initialize().catch(err => {throw err});
     this._log.info('preCheckMajorVersionUpgrade request %j', request);
-    const wrappedCallback: Callback<
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesPreCheckMajorVersionUpgradeRequest|null|undefined,
-        {}|null|undefined>|undefined = callback
+    const wrappedCallback:
+      | Callback<
+          protos.google.cloud.sql.v1beta4.IOperation,
+          | protos.google.cloud.sql.v1beta4.ISqlInstancesPreCheckMajorVersionUpgradeRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >
+      | undefined = callback
       ? (error, response, options, rawResponse) => {
           this._log.info('preCheckMajorVersionUpgrade response %j', response);
           callback!(error, response, options, rawResponse); // We verified callback above.
         }
       : undefined;
-    return this.innerApiCalls.preCheckMajorVersionUpgrade(request, options, wrappedCallback)
-      ?.then(([response, options, rawResponse]: [
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesPreCheckMajorVersionUpgradeRequest|undefined,
-        {}|undefined
-      ]) => {
-        this._log.info('preCheckMajorVersionUpgrade response %j', response);
-        return [response, options, rawResponse];
-      }).catch((error: any) => {
-        if (error && 'statusDetails' in error && error.statusDetails instanceof Array) {
-          const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type;
-          error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos);
+    return this.innerApiCalls
+      .preCheckMajorVersionUpgrade(request, options, wrappedCallback)
+      ?.then(
+        ([response, options, rawResponse]: [
+          protos.google.cloud.sql.v1beta4.IOperation,
+          (
+            | protos.google.cloud.sql.v1beta4.ISqlInstancesPreCheckMajorVersionUpgradeRequest
+            | undefined
+          ),
+          {} | undefined,
+        ]) => {
+          this._log.info('preCheckMajorVersionUpgrade response %j', response);
+          return [response, options, rawResponse];
+        },
+      )
+      .catch((error: any) => {
+        if (
+          error &&
+          'statusDetails' in error &&
+          error.statusDetails instanceof Array
+        ) {
+          const protos = this._gaxModule.protobuf.Root.fromJSON(
+            jsonProtos,
+          ) as unknown as gax.protobuf.Type;
+          error.statusDetails = decodeAnyProtosInArray(
+            error.statusDetails,
+            protos,
+          );
         }
         throw error;
       });
   }
-/**
- * Point in time restore for an instance managed by Google Cloud Backup and
- * Disaster Recovery.
- *
- * @param {Object} request
- *   The request object that will be sent.
- * @param {string} request.parent
- *   Required. The parent resource where you created this instance.
- *   Format: projects/{project}
- * @param {google.cloud.sql.v1beta4.PointInTimeRestoreContext} request.context
- *   Required. The context for request to perform a PITR on a Google Cloud
- *   Backup and Disaster Recovery managed instance.
- * @param {object} [options]
- *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
- * @returns {Promise} - The promise which resolves to an array.
- *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1beta4.Operation|Operation}.
- *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
- *   for more details and examples.
- * @example <caption>include:samples/generated/v1beta4/sql_instances_service.point_in_time_restore.js</caption>
- * region_tag:sqladmin_v1beta4_generated_SqlInstancesService_PointInTimeRestore_async
- */
+  /**
+   * Point in time restore for an instance managed by Google Cloud Backup and
+   * Disaster Recovery.
+   *
+   * @param {Object} request
+   *   The request object that will be sent.
+   * @param {string} request.parent
+   *   Required. The parent resource where you created this instance.
+   *   Format: projects/{project}
+   * @param {google.cloud.sql.v1beta4.PointInTimeRestoreContext} request.context
+   *   Required. The context for request to perform a PITR on a Google Cloud
+   *   Backup and Disaster Recovery managed instance.
+   * @param {object} [options]
+   *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+   * @returns {Promise} - The promise which resolves to an array.
+   *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1beta4.Operation|Operation}.
+   *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
+   *   for more details and examples.
+   * @example <caption>include:samples/generated/v1beta4/sql_instances_service.point_in_time_restore.js</caption>
+   * region_tag:sqladmin_v1beta4_generated_SqlInstancesService_PointInTimeRestore_async
+   */
   pointInTimeRestore(
-      request?: protos.google.cloud.sql.v1beta4.ISqlInstancesPointInTimeRestoreRequest,
-      options?: CallOptions):
-      Promise<[
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesPointInTimeRestoreRequest|undefined, {}|undefined
-      ]>;
+    request?: protos.google.cloud.sql.v1beta4.ISqlInstancesPointInTimeRestoreRequest,
+    options?: CallOptions,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1beta4.IOperation,
+      (
+        | protos.google.cloud.sql.v1beta4.ISqlInstancesPointInTimeRestoreRequest
+        | undefined
+      ),
+      {} | undefined,
+    ]
+  >;
   pointInTimeRestore(
-      request: protos.google.cloud.sql.v1beta4.ISqlInstancesPointInTimeRestoreRequest,
-      options: CallOptions,
-      callback: Callback<
-          protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesPointInTimeRestoreRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1beta4.ISqlInstancesPointInTimeRestoreRequest,
+    options: CallOptions,
+    callback: Callback<
+      protos.google.cloud.sql.v1beta4.IOperation,
+      | protos.google.cloud.sql.v1beta4.ISqlInstancesPointInTimeRestoreRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   pointInTimeRestore(
-      request: protos.google.cloud.sql.v1beta4.ISqlInstancesPointInTimeRestoreRequest,
-      callback: Callback<
-          protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesPointInTimeRestoreRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1beta4.ISqlInstancesPointInTimeRestoreRequest,
+    callback: Callback<
+      protos.google.cloud.sql.v1beta4.IOperation,
+      | protos.google.cloud.sql.v1beta4.ISqlInstancesPointInTimeRestoreRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   pointInTimeRestore(
-      request?: protos.google.cloud.sql.v1beta4.ISqlInstancesPointInTimeRestoreRequest,
-      optionsOrCallback?: CallOptions|Callback<
-          protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesPointInTimeRestoreRequest|null|undefined,
-          {}|null|undefined>,
-      callback?: Callback<
+    request?: protos.google.cloud.sql.v1beta4.ISqlInstancesPointInTimeRestoreRequest,
+    optionsOrCallback?:
+      | CallOptions
+      | Callback<
           protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlInstancesPointInTimeRestoreRequest|null|undefined,
-          {}|null|undefined>):
-      Promise<[
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesPointInTimeRestoreRequest|undefined, {}|undefined
-      ]>|void {
+          | protos.google.cloud.sql.v1beta4.ISqlInstancesPointInTimeRestoreRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >,
+    callback?: Callback<
+      protos.google.cloud.sql.v1beta4.IOperation,
+      | protos.google.cloud.sql.v1beta4.ISqlInstancesPointInTimeRestoreRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1beta4.IOperation,
+      (
+        | protos.google.cloud.sql.v1beta4.ISqlInstancesPointInTimeRestoreRequest
+        | undefined
+      ),
+      {} | undefined,
+    ]
+  > | void {
     request = request || {};
     let options: CallOptions;
     if (typeof optionsOrCallback === 'function' && callback === undefined) {
       callback = optionsOrCallback;
       options = {};
-    }
-    else {
+    } else {
       options = optionsOrCallback as CallOptions;
     }
     options = options || {};
     options.otherArgs = options.otherArgs || {};
     options.otherArgs.headers = options.otherArgs.headers || {};
-    options.otherArgs.headers[
-      'x-goog-request-params'
-    ] = this._gaxModule.routingHeader.fromParams({
-      'parent': request.parent ?? '',
+    options.otherArgs.headers['x-goog-request-params'] =
+      this._gaxModule.routingHeader.fromParams({
+        parent: request.parent ?? '',
+      });
+    this.initialize().catch((err) => {
+      throw err;
     });
-    this.initialize().catch(err => {throw err});
     this._log.info('pointInTimeRestore request %j', request);
-    const wrappedCallback: Callback<
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesPointInTimeRestoreRequest|null|undefined,
-        {}|null|undefined>|undefined = callback
+    const wrappedCallback:
+      | Callback<
+          protos.google.cloud.sql.v1beta4.IOperation,
+          | protos.google.cloud.sql.v1beta4.ISqlInstancesPointInTimeRestoreRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >
+      | undefined = callback
       ? (error, response, options, rawResponse) => {
           this._log.info('pointInTimeRestore response %j', response);
           callback!(error, response, options, rawResponse); // We verified callback above.
         }
       : undefined;
-    return this.innerApiCalls.pointInTimeRestore(request, options, wrappedCallback)
-      ?.then(([response, options, rawResponse]: [
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlInstancesPointInTimeRestoreRequest|undefined,
-        {}|undefined
-      ]) => {
-        this._log.info('pointInTimeRestore response %j', response);
-        return [response, options, rawResponse];
-      }).catch((error: any) => {
-        if (error && 'statusDetails' in error && error.statusDetails instanceof Array) {
-          const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type;
-          error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos);
+    return this.innerApiCalls
+      .pointInTimeRestore(request, options, wrappedCallback)
+      ?.then(
+        ([response, options, rawResponse]: [
+          protos.google.cloud.sql.v1beta4.IOperation,
+          (
+            | protos.google.cloud.sql.v1beta4.ISqlInstancesPointInTimeRestoreRequest
+            | undefined
+          ),
+          {} | undefined,
+        ]) => {
+          this._log.info('pointInTimeRestore response %j', response);
+          return [response, options, rawResponse];
+        },
+      )
+      .catch((error: any) => {
+        if (
+          error &&
+          'statusDetails' in error &&
+          error.statusDetails instanceof Array
+        ) {
+          const protos = this._gaxModule.protobuf.Root.fromJSON(
+            jsonProtos,
+          ) as unknown as gax.protobuf.Type;
+          error.statusDetails = decodeAnyProtosInArray(
+            error.statusDetails,
+            protos,
+          );
         }
         throw error;
       });
   }
 
-/**
+  /**
    * Gets information about a location.
    *
    * @param {Object} request
@@ -4713,12 +6818,11 @@ export class SqlInstancesServiceClient {
       | null
       | undefined,
       {} | null | undefined
-    >
+    >,
   ): Promise<LocationProtos.google.cloud.location.ILocation> {
     return this.locationsClient.getLocation(request, options, callback);
   }
-
-/**
+  /**
    * Lists information about the supported locations for this service. Returns an iterable object.
    *
    * `for`-`await`-`of` syntax is used with the iterable to get response elements on-demand.
@@ -4751,7 +6855,7 @@ export class SqlInstancesServiceClient {
    */
   listLocationsAsync(
     request: LocationProtos.google.cloud.location.IListLocationsRequest,
-    options?: CallOptions
+    options?: CallOptions,
   ): AsyncIterable<LocationProtos.google.cloud.location.ILocation> {
     return this.locationsClient.listLocationsAsync(request, options);
   }
@@ -4767,7 +6871,7 @@ export class SqlInstancesServiceClient {
    * @param {string} backup
    * @returns {string} Resource name string.
    */
-  backupPath(project:string,backup:string) {
+  backupPath(project: string, backup: string) {
     return this.pathTemplates.backupPathTemplate.render({
       project: project,
       backup: backup,
@@ -4802,7 +6906,7 @@ export class SqlInstancesServiceClient {
    * @param {string} project
    * @returns {string} Resource name string.
    */
-  projectPath(project:string) {
+  projectPath(project: string) {
     return this.pathTemplates.projectPathTemplate.render({
       project: project,
     });
@@ -4827,13 +6931,15 @@ export class SqlInstancesServiceClient {
    */
   close(): Promise<void> {
     if (this.sqlInstancesServiceStub && !this._terminated) {
-      return this.sqlInstancesServiceStub.then(stub => {
+      return this.sqlInstancesServiceStub.then((stub) => {
         this._log.info('ending gRPC channel');
         this._terminated = true;
         stub.close();
-        this.locationsClient.close().catch(err => {throw err});
+        this.locationsClient.close().catch((err) => {
+          throw err;
+        });
       });
     }
     return Promise.resolve();
   }
-}
\ No newline at end of file
+}
diff --git a/packages/google-cloud-sql/src/v1beta4/sql_operations_service_client.ts b/packages/google-cloud-sql/src/v1beta4/sql_operations_service_client.ts
index 8889aa76f6d8..ceb1fa381192 100644
--- a/packages/google-cloud-sql/src/v1beta4/sql_operations_service_client.ts
+++ b/packages/google-cloud-sql/src/v1beta4/sql_operations_service_client.ts
@@ -18,11 +18,18 @@
 
 /* global window */
 import type * as gax from 'google-gax';
-import type {Callback, CallOptions, Descriptors, ClientOptions, LocationsClient, LocationProtos} from 'google-gax';
+import type {
+  Callback,
+  CallOptions,
+  Descriptors,
+  ClientOptions,
+  LocationsClient,
+  LocationProtos,
+} from 'google-gax';
 
 import * as protos from '../../protos/protos';
 import jsonProtos = require('../../protos/protos.json');
-import {loggingUtils as logging, decodeAnyProtosInArray} from 'google-gax';
+import { loggingUtils as logging, decodeAnyProtosInArray } from 'google-gax';
 
 /**
  * Client JSON configuration object, loaded from
@@ -43,7 +50,7 @@ export class SqlOperationsServiceClient {
   private _gaxModule: typeof gax | typeof gax.fallback;
   private _gaxGrpc: gax.GrpcClient | gax.fallback.GrpcClient;
   private _protos: {};
-  private _defaults: {[method: string]: gax.CallSettings};
+  private _defaults: { [method: string]: gax.CallSettings };
   private _universeDomain: string;
   private _servicePath: string;
   private _log = logging.log('sql');
@@ -56,10 +63,10 @@ export class SqlOperationsServiceClient {
     batching: {},
   };
   warn: (code: string, message: string, warnType?: string) => void;
-  innerApiCalls: {[name: string]: Function};
+  innerApiCalls: { [name: string]: Function };
   locationsClient: LocationsClient;
-  pathTemplates: {[name: string]: gax.PathTemplate};
-  sqlOperationsServiceStub?: Promise<{[name: string]: Function}>;
+  pathTemplates: { [name: string]: gax.PathTemplate };
+  sqlOperationsServiceStub?: Promise<{ [name: string]: Function }>;
 
   /**
    * Construct an instance of SqlOperationsServiceClient.
@@ -100,21 +107,42 @@ export class SqlOperationsServiceClient {
    *     const client = new SqlOperationsServiceClient({fallback: true}, gax);
    *     ```
    */
-  constructor(opts?: ClientOptions, gaxInstance?: typeof gax | typeof gax.fallback) {
+  constructor(
+    opts?: ClientOptions,
+    gaxInstance?: typeof gax | typeof gax.fallback,
+  ) {
     // Ensure that options include all the required fields.
     const staticMembers = this.constructor as typeof SqlOperationsServiceClient;
-    if (opts?.universe_domain && opts?.universeDomain && opts?.universe_domain !== opts?.universeDomain) {
-      throw new Error('Please set either universe_domain or universeDomain, but not both.');
+    if (
+      opts?.universe_domain &&
+      opts?.universeDomain &&
+      opts?.universe_domain !== opts?.universeDomain
+    ) {
+      throw new Error(
+        'Please set either universe_domain or universeDomain, but not both.',
+      );
     }
-    const universeDomainEnvVar = (typeof process === 'object' && typeof process.env === 'object') ? process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] : undefined;
-    this._universeDomain = opts?.universeDomain ?? opts?.universe_domain ?? universeDomainEnvVar ?? 'googleapis.com';
+    const universeDomainEnvVar =
+      typeof process === 'object' && typeof process.env === 'object'
+        ? process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN']
+        : undefined;
+    this._universeDomain =
+      opts?.universeDomain ??
+      opts?.universe_domain ??
+      universeDomainEnvVar ??
+      'googleapis.com';
     this._servicePath = 'sqladmin.' + this._universeDomain;
-    const servicePath = opts?.servicePath || opts?.apiEndpoint || this._servicePath;
-    this._providedCustomServicePath = !!(opts?.servicePath || opts?.apiEndpoint);
+    const servicePath =
+      opts?.servicePath || opts?.apiEndpoint || this._servicePath;
+    this._providedCustomServicePath = !!(
+      opts?.servicePath || opts?.apiEndpoint
+    );
     const port = opts?.port || staticMembers.port;
     const clientConfig = opts?.clientConfig ?? {};
-    const fallback = opts?.fallback ?? (typeof window !== 'undefined' && typeof window?.fetch === 'function');
-    opts = Object.assign({servicePath, port, clientConfig, fallback}, opts);
+    const fallback =
+      opts?.fallback ??
+      (typeof window !== 'undefined' && typeof window?.fetch === 'function');
+    opts = Object.assign({ servicePath, port, clientConfig, fallback }, opts);
 
     // Request numeric enum values if REST transport is used.
     opts.numericEnums = true;
@@ -139,7 +167,7 @@ export class SqlOperationsServiceClient {
     this._opts = opts;
 
     // Save the auth object to the client, for use by other methods.
-    this.auth = (this._gaxGrpc.auth as gax.GoogleAuth);
+    this.auth = this._gaxGrpc.auth as gax.GoogleAuth;
 
     // Set useJWTAccessWithScope on the auth object.
     this.auth.useJWTAccessWithScope = true;
@@ -153,15 +181,11 @@ export class SqlOperationsServiceClient {
     }
     this.locationsClient = new this._gaxModule.LocationsClient(
       this._gaxGrpc,
-      opts
+      opts,
     );
-  
 
     // Determine the client header string.
-    const clientHeader = [
-      `gax/${this._gaxModule.version}`,
-      `gapic/${version}`,
-    ];
+    const clientHeader = [`gax/${this._gaxModule.version}`, `gapic/${version}`];
     if (typeof process === 'object' && 'versions' in process) {
       clientHeader.push(`gl-node/${process.versions.node}`);
     } else {
@@ -183,17 +207,20 @@ export class SqlOperationsServiceClient {
     // Create useful helper objects for these.
     this.pathTemplates = {
       backupPathTemplate: new this._gaxModule.PathTemplate(
-        'projects/{project}/backups/{backup}'
+        'projects/{project}/backups/{backup}',
       ),
       projectPathTemplate: new this._gaxModule.PathTemplate(
-        'projects/{project}'
+        'projects/{project}',
       ),
     };
 
     // Put together the default options sent with requests.
     this._defaults = this._gaxGrpc.constructSettings(
-        'google.cloud.sql.v1beta4.SqlOperationsService', gapicConfig as gax.ClientConfig,
-        opts.clientConfig || {}, {'x-goog-api-client': clientHeader.join(' ')});
+      'google.cloud.sql.v1beta4.SqlOperationsService',
+      gapicConfig as gax.ClientConfig,
+      opts.clientConfig || {},
+      { 'x-goog-api-client': clientHeader.join(' ') },
+    );
 
     // Set up a dictionary of "inner API calls"; the core implementation
     // of calling the API is handled in `google-gax`, with this code
@@ -224,36 +251,40 @@ export class SqlOperationsServiceClient {
     // Put together the "service stub" for
     // google.cloud.sql.v1beta4.SqlOperationsService.
     this.sqlOperationsServiceStub = this._gaxGrpc.createStub(
-        this._opts.fallback ?
-          (this._protos as protobuf.Root).lookupService('google.cloud.sql.v1beta4.SqlOperationsService') :
-          // eslint-disable-next-line @typescript-eslint/no-explicit-any
+      this._opts.fallback
+        ? (this._protos as protobuf.Root).lookupService(
+            'google.cloud.sql.v1beta4.SqlOperationsService',
+          )
+        : // eslint-disable-next-line @typescript-eslint/no-explicit-any
           (this._protos as any).google.cloud.sql.v1beta4.SqlOperationsService,
-        this._opts, this._providedCustomServicePath) as Promise<{[method: string]: Function}>;
+      this._opts,
+      this._providedCustomServicePath,
+    ) as Promise<{ [method: string]: Function }>;
 
     // Iterate over each of the methods that the service provides
     // and create an API call method for each.
-    const sqlOperationsServiceStubMethods =
-        ['get', 'list', 'cancel'];
+    const sqlOperationsServiceStubMethods = ['get', 'list', 'cancel'];
     for (const methodName of sqlOperationsServiceStubMethods) {
       const callPromise = this.sqlOperationsServiceStub.then(
-        stub => (...args: Array<{}>) => {
-          if (this._terminated) {
-            return Promise.reject('The client has already been closed.');
-          }
-          const func = stub[methodName];
-          return func.apply(stub, args);
-        },
-        (err: Error|null|undefined) => () => {
+        (stub) =>
+          (...args: Array<{}>) => {
+            if (this._terminated) {
+              return Promise.reject('The client has already been closed.');
+            }
+            const func = stub[methodName];
+            return func.apply(stub, args);
+          },
+        (err: Error | null | undefined) => () => {
           throw err;
-        });
+        },
+      );
 
-      const descriptor =
-        undefined;
+      const descriptor = undefined;
       const apiCall = this._gaxModule.createApiCall(
         callPromise,
         this._defaults[methodName],
         descriptor,
-        this._opts.fallback
+        this._opts.fallback,
       );
 
       this.innerApiCalls[methodName] = apiCall;
@@ -268,8 +299,14 @@ export class SqlOperationsServiceClient {
    * @returns {string} The DNS address for this service.
    */
   static get servicePath() {
-    if (typeof process === 'object' && typeof process.emitWarning === 'function') {
-      process.emitWarning('Static servicePath is deprecated, please use the instance method instead.', 'DeprecationWarning');
+    if (
+      typeof process === 'object' &&
+      typeof process.emitWarning === 'function'
+    ) {
+      process.emitWarning(
+        'Static servicePath is deprecated, please use the instance method instead.',
+        'DeprecationWarning',
+      );
     }
     return 'sqladmin.googleapis.com';
   }
@@ -280,8 +317,14 @@ export class SqlOperationsServiceClient {
    * @returns {string} The DNS address for this service.
    */
   static get apiEndpoint() {
-    if (typeof process === 'object' && typeof process.emitWarning === 'function') {
-      process.emitWarning('Static apiEndpoint is deprecated, please use the instance method instead.', 'DeprecationWarning');
+    if (
+      typeof process === 'object' &&
+      typeof process.emitWarning === 'function'
+    ) {
+      process.emitWarning(
+        'Static apiEndpoint is deprecated, please use the instance method instead.',
+        'DeprecationWarning',
+      );
     }
     return 'sqladmin.googleapis.com';
   }
@@ -314,7 +357,7 @@ export class SqlOperationsServiceClient {
   static get scopes() {
     return [
       'https://www.googleapis.com/auth/cloud-platform',
-      'https://www.googleapis.com/auth/sqlservice.admin'
+      'https://www.googleapis.com/auth/sqlservice.admin',
     ];
   }
 
@@ -324,8 +367,9 @@ export class SqlOperationsServiceClient {
    * Return the project ID used by this class.
    * @returns {Promise} A promise that resolves to string containing the project ID.
    */
-  getProjectId(callback?: Callback<string, undefined, undefined>):
-      Promise<string>|void {
+  getProjectId(
+    callback?: Callback<string, undefined, undefined>,
+  ): Promise<string> | void {
     if (callback) {
       this.auth.getProjectId(callback);
       return;
@@ -336,305 +380,428 @@ export class SqlOperationsServiceClient {
   // -------------------
   // -- Service calls --
   // -------------------
-/**
- * Retrieves an instance operation that has been performed on an instance.
- *
- * @param {Object} request
- *   The request object that will be sent.
- * @param {string} request.operation
- *   Instance operation ID.
- * @param {string} request.project
- *   Project ID of the project that contains the instance.
- * @param {object} [options]
- *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
- * @returns {Promise} - The promise which resolves to an array.
- *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1beta4.Operation|Operation}.
- *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
- *   for more details and examples.
- * @example <caption>include:samples/generated/v1beta4/sql_operations_service.get.js</caption>
- * region_tag:sqladmin_v1beta4_generated_SqlOperationsService_Get_async
- */
+  /**
+   * Retrieves an instance operation that has been performed on an instance.
+   *
+   * @param {Object} request
+   *   The request object that will be sent.
+   * @param {string} request.operation
+   *   Instance operation ID.
+   * @param {string} request.project
+   *   Project ID of the project that contains the instance.
+   * @param {object} [options]
+   *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+   * @returns {Promise} - The promise which resolves to an array.
+   *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1beta4.Operation|Operation}.
+   *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
+   *   for more details and examples.
+   * @example <caption>include:samples/generated/v1beta4/sql_operations_service.get.js</caption>
+   * region_tag:sqladmin_v1beta4_generated_SqlOperationsService_Get_async
+   */
   get(
-      request?: protos.google.cloud.sql.v1beta4.ISqlOperationsGetRequest,
-      options?: CallOptions):
-      Promise<[
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlOperationsGetRequest|undefined, {}|undefined
-      ]>;
+    request?: protos.google.cloud.sql.v1beta4.ISqlOperationsGetRequest,
+    options?: CallOptions,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1beta4.IOperation,
+      protos.google.cloud.sql.v1beta4.ISqlOperationsGetRequest | undefined,
+      {} | undefined,
+    ]
+  >;
   get(
-      request: protos.google.cloud.sql.v1beta4.ISqlOperationsGetRequest,
-      options: CallOptions,
-      callback: Callback<
-          protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlOperationsGetRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1beta4.ISqlOperationsGetRequest,
+    options: CallOptions,
+    callback: Callback<
+      protos.google.cloud.sql.v1beta4.IOperation,
+      | protos.google.cloud.sql.v1beta4.ISqlOperationsGetRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   get(
-      request: protos.google.cloud.sql.v1beta4.ISqlOperationsGetRequest,
-      callback: Callback<
-          protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlOperationsGetRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1beta4.ISqlOperationsGetRequest,
+    callback: Callback<
+      protos.google.cloud.sql.v1beta4.IOperation,
+      | protos.google.cloud.sql.v1beta4.ISqlOperationsGetRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   get(
-      request?: protos.google.cloud.sql.v1beta4.ISqlOperationsGetRequest,
-      optionsOrCallback?: CallOptions|Callback<
-          protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlOperationsGetRequest|null|undefined,
-          {}|null|undefined>,
-      callback?: Callback<
+    request?: protos.google.cloud.sql.v1beta4.ISqlOperationsGetRequest,
+    optionsOrCallback?:
+      | CallOptions
+      | Callback<
           protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlOperationsGetRequest|null|undefined,
-          {}|null|undefined>):
-      Promise<[
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlOperationsGetRequest|undefined, {}|undefined
-      ]>|void {
+          | protos.google.cloud.sql.v1beta4.ISqlOperationsGetRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >,
+    callback?: Callback<
+      protos.google.cloud.sql.v1beta4.IOperation,
+      | protos.google.cloud.sql.v1beta4.ISqlOperationsGetRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1beta4.IOperation,
+      protos.google.cloud.sql.v1beta4.ISqlOperationsGetRequest | undefined,
+      {} | undefined,
+    ]
+  > | void {
     request = request || {};
     let options: CallOptions;
     if (typeof optionsOrCallback === 'function' && callback === undefined) {
       callback = optionsOrCallback;
       options = {};
-    }
-    else {
+    } else {
       options = optionsOrCallback as CallOptions;
     }
     options = options || {};
     options.otherArgs = options.otherArgs || {};
     options.otherArgs.headers = options.otherArgs.headers || {};
-    options.otherArgs.headers[
-      'x-goog-request-params'
-    ] = this._gaxModule.routingHeader.fromParams({
-      'project': request.project ?? '',
-      'operation': request.operation ?? '',
+    options.otherArgs.headers['x-goog-request-params'] =
+      this._gaxModule.routingHeader.fromParams({
+        project: request.project ?? '',
+        operation: request.operation ?? '',
+      });
+    this.initialize().catch((err) => {
+      throw err;
     });
-    this.initialize().catch(err => {throw err});
     this._log.info('get request %j', request);
-    const wrappedCallback: Callback<
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlOperationsGetRequest|null|undefined,
-        {}|null|undefined>|undefined = callback
+    const wrappedCallback:
+      | Callback<
+          protos.google.cloud.sql.v1beta4.IOperation,
+          | protos.google.cloud.sql.v1beta4.ISqlOperationsGetRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >
+      | undefined = callback
       ? (error, response, options, rawResponse) => {
           this._log.info('get response %j', response);
           callback!(error, response, options, rawResponse); // We verified callback above.
         }
       : undefined;
-    return this.innerApiCalls.get(request, options, wrappedCallback)
-      ?.then(([response, options, rawResponse]: [
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlOperationsGetRequest|undefined,
-        {}|undefined
-      ]) => {
-        this._log.info('get response %j', response);
-        return [response, options, rawResponse];
-      }).catch((error: any) => {
-        if (error && 'statusDetails' in error && error.statusDetails instanceof Array) {
-          const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type;
-          error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos);
+    return this.innerApiCalls
+      .get(request, options, wrappedCallback)
+      ?.then(
+        ([response, options, rawResponse]: [
+          protos.google.cloud.sql.v1beta4.IOperation,
+          protos.google.cloud.sql.v1beta4.ISqlOperationsGetRequest | undefined,
+          {} | undefined,
+        ]) => {
+          this._log.info('get response %j', response);
+          return [response, options, rawResponse];
+        },
+      )
+      .catch((error: any) => {
+        if (
+          error &&
+          'statusDetails' in error &&
+          error.statusDetails instanceof Array
+        ) {
+          const protos = this._gaxModule.protobuf.Root.fromJSON(
+            jsonProtos,
+          ) as unknown as gax.protobuf.Type;
+          error.statusDetails = decodeAnyProtosInArray(
+            error.statusDetails,
+            protos,
+          );
         }
         throw error;
       });
   }
-/**
- * Lists all instance operations that have been performed on the given Cloud
- * SQL instance in the reverse chronological order of the start time.
- *
- * @param {Object} request
- *   The request object that will be sent.
- * @param {string} request.instance
- *   Cloud SQL instance ID. This does not include the project ID.
- * @param {number} request.maxResults
- *   Maximum number of operations per response.
- * @param {string} request.pageToken
- *   A previously-returned page token representing part of the larger set of
- *   results to view.
- * @param {string} request.project
- *   Project ID of the project that contains the instance.
- * @param {object} [options]
- *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
- * @returns {Promise} - The promise which resolves to an array.
- *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1beta4.OperationsListResponse|OperationsListResponse}.
- *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
- *   for more details and examples.
- * @example <caption>include:samples/generated/v1beta4/sql_operations_service.list.js</caption>
- * region_tag:sqladmin_v1beta4_generated_SqlOperationsService_List_async
- */
+  /**
+   * Lists all instance operations that have been performed on the given Cloud
+   * SQL instance in the reverse chronological order of the start time.
+   *
+   * @param {Object} request
+   *   The request object that will be sent.
+   * @param {string} request.instance
+   *   Cloud SQL instance ID. This does not include the project ID.
+   * @param {number} request.maxResults
+   *   Maximum number of operations per response.
+   * @param {string} request.pageToken
+   *   A previously-returned page token representing part of the larger set of
+   *   results to view.
+   * @param {string} request.project
+   *   Project ID of the project that contains the instance.
+   * @param {object} [options]
+   *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+   * @returns {Promise} - The promise which resolves to an array.
+   *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1beta4.OperationsListResponse|OperationsListResponse}.
+   *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
+   *   for more details and examples.
+   * @example <caption>include:samples/generated/v1beta4/sql_operations_service.list.js</caption>
+   * region_tag:sqladmin_v1beta4_generated_SqlOperationsService_List_async
+   */
   list(
-      request?: protos.google.cloud.sql.v1beta4.ISqlOperationsListRequest,
-      options?: CallOptions):
-      Promise<[
-        protos.google.cloud.sql.v1beta4.IOperationsListResponse,
-        protos.google.cloud.sql.v1beta4.ISqlOperationsListRequest|undefined, {}|undefined
-      ]>;
+    request?: protos.google.cloud.sql.v1beta4.ISqlOperationsListRequest,
+    options?: CallOptions,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1beta4.IOperationsListResponse,
+      protos.google.cloud.sql.v1beta4.ISqlOperationsListRequest | undefined,
+      {} | undefined,
+    ]
+  >;
   list(
-      request: protos.google.cloud.sql.v1beta4.ISqlOperationsListRequest,
-      options: CallOptions,
-      callback: Callback<
-          protos.google.cloud.sql.v1beta4.IOperationsListResponse,
-          protos.google.cloud.sql.v1beta4.ISqlOperationsListRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1beta4.ISqlOperationsListRequest,
+    options: CallOptions,
+    callback: Callback<
+      protos.google.cloud.sql.v1beta4.IOperationsListResponse,
+      | protos.google.cloud.sql.v1beta4.ISqlOperationsListRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   list(
-      request: protos.google.cloud.sql.v1beta4.ISqlOperationsListRequest,
-      callback: Callback<
-          protos.google.cloud.sql.v1beta4.IOperationsListResponse,
-          protos.google.cloud.sql.v1beta4.ISqlOperationsListRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1beta4.ISqlOperationsListRequest,
+    callback: Callback<
+      protos.google.cloud.sql.v1beta4.IOperationsListResponse,
+      | protos.google.cloud.sql.v1beta4.ISqlOperationsListRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   list(
-      request?: protos.google.cloud.sql.v1beta4.ISqlOperationsListRequest,
-      optionsOrCallback?: CallOptions|Callback<
-          protos.google.cloud.sql.v1beta4.IOperationsListResponse,
-          protos.google.cloud.sql.v1beta4.ISqlOperationsListRequest|null|undefined,
-          {}|null|undefined>,
-      callback?: Callback<
+    request?: protos.google.cloud.sql.v1beta4.ISqlOperationsListRequest,
+    optionsOrCallback?:
+      | CallOptions
+      | Callback<
           protos.google.cloud.sql.v1beta4.IOperationsListResponse,
-          protos.google.cloud.sql.v1beta4.ISqlOperationsListRequest|null|undefined,
-          {}|null|undefined>):
-      Promise<[
-        protos.google.cloud.sql.v1beta4.IOperationsListResponse,
-        protos.google.cloud.sql.v1beta4.ISqlOperationsListRequest|undefined, {}|undefined
-      ]>|void {
+          | protos.google.cloud.sql.v1beta4.ISqlOperationsListRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >,
+    callback?: Callback<
+      protos.google.cloud.sql.v1beta4.IOperationsListResponse,
+      | protos.google.cloud.sql.v1beta4.ISqlOperationsListRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1beta4.IOperationsListResponse,
+      protos.google.cloud.sql.v1beta4.ISqlOperationsListRequest | undefined,
+      {} | undefined,
+    ]
+  > | void {
     request = request || {};
     let options: CallOptions;
     if (typeof optionsOrCallback === 'function' && callback === undefined) {
       callback = optionsOrCallback;
       options = {};
-    }
-    else {
+    } else {
       options = optionsOrCallback as CallOptions;
     }
     options = options || {};
     options.otherArgs = options.otherArgs || {};
     options.otherArgs.headers = options.otherArgs.headers || {};
-    options.otherArgs.headers[
-      'x-goog-request-params'
-    ] = this._gaxModule.routingHeader.fromParams({
-      'project': request.project ?? '',
+    options.otherArgs.headers['x-goog-request-params'] =
+      this._gaxModule.routingHeader.fromParams({
+        project: request.project ?? '',
+      });
+    this.initialize().catch((err) => {
+      throw err;
     });
-    this.initialize().catch(err => {throw err});
     this._log.info('list request %j', request);
-    const wrappedCallback: Callback<
-        protos.google.cloud.sql.v1beta4.IOperationsListResponse,
-        protos.google.cloud.sql.v1beta4.ISqlOperationsListRequest|null|undefined,
-        {}|null|undefined>|undefined = callback
+    const wrappedCallback:
+      | Callback<
+          protos.google.cloud.sql.v1beta4.IOperationsListResponse,
+          | protos.google.cloud.sql.v1beta4.ISqlOperationsListRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >
+      | undefined = callback
       ? (error, response, options, rawResponse) => {
           this._log.info('list response %j', response);
           callback!(error, response, options, rawResponse); // We verified callback above.
         }
       : undefined;
-    return this.innerApiCalls.list(request, options, wrappedCallback)
-      ?.then(([response, options, rawResponse]: [
-        protos.google.cloud.sql.v1beta4.IOperationsListResponse,
-        protos.google.cloud.sql.v1beta4.ISqlOperationsListRequest|undefined,
-        {}|undefined
-      ]) => {
-        this._log.info('list response %j', response);
-        return [response, options, rawResponse];
-      }).catch((error: any) => {
-        if (error && 'statusDetails' in error && error.statusDetails instanceof Array) {
-          const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type;
-          error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos);
+    return this.innerApiCalls
+      .list(request, options, wrappedCallback)
+      ?.then(
+        ([response, options, rawResponse]: [
+          protos.google.cloud.sql.v1beta4.IOperationsListResponse,
+          protos.google.cloud.sql.v1beta4.ISqlOperationsListRequest | undefined,
+          {} | undefined,
+        ]) => {
+          this._log.info('list response %j', response);
+          return [response, options, rawResponse];
+        },
+      )
+      .catch((error: any) => {
+        if (
+          error &&
+          'statusDetails' in error &&
+          error.statusDetails instanceof Array
+        ) {
+          const protos = this._gaxModule.protobuf.Root.fromJSON(
+            jsonProtos,
+          ) as unknown as gax.protobuf.Type;
+          error.statusDetails = decodeAnyProtosInArray(
+            error.statusDetails,
+            protos,
+          );
         }
         throw error;
       });
   }
-/**
- * Cancels an instance operation that has been performed on an instance.
- * Ordinarily, this method name should be `CancelSqlOperation`.
- *
- * @param {Object} request
- *   The request object that will be sent.
- * @param {string} request.operation
- *   Instance operation ID.
- * @param {string} request.project
- *   Project ID of the project that contains the instance.
- * @param {object} [options]
- *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
- * @returns {Promise} - The promise which resolves to an array.
- *   The first element of the array is an object representing {@link protos.google.protobuf.Empty|Empty}.
- *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
- *   for more details and examples.
- * @example <caption>include:samples/generated/v1beta4/sql_operations_service.cancel.js</caption>
- * region_tag:sqladmin_v1beta4_generated_SqlOperationsService_Cancel_async
- */
+  /**
+   * Cancels an instance operation that has been performed on an instance.
+   * Ordinarily, this method name should be `CancelSqlOperation`.
+   *
+   * @param {Object} request
+   *   The request object that will be sent.
+   * @param {string} request.operation
+   *   Instance operation ID.
+   * @param {string} request.project
+   *   Project ID of the project that contains the instance.
+   * @param {object} [options]
+   *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+   * @returns {Promise} - The promise which resolves to an array.
+   *   The first element of the array is an object representing {@link protos.google.protobuf.Empty|Empty}.
+   *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
+   *   for more details and examples.
+   * @example <caption>include:samples/generated/v1beta4/sql_operations_service.cancel.js</caption>
+   * region_tag:sqladmin_v1beta4_generated_SqlOperationsService_Cancel_async
+   */
   cancel(
-      request?: protos.google.cloud.sql.v1beta4.ISqlOperationsCancelRequest,
-      options?: CallOptions):
-      Promise<[
-        protos.google.protobuf.IEmpty,
-        protos.google.cloud.sql.v1beta4.ISqlOperationsCancelRequest|undefined, {}|undefined
-      ]>;
+    request?: protos.google.cloud.sql.v1beta4.ISqlOperationsCancelRequest,
+    options?: CallOptions,
+  ): Promise<
+    [
+      protos.google.protobuf.IEmpty,
+      protos.google.cloud.sql.v1beta4.ISqlOperationsCancelRequest | undefined,
+      {} | undefined,
+    ]
+  >;
   cancel(
-      request: protos.google.cloud.sql.v1beta4.ISqlOperationsCancelRequest,
-      options: CallOptions,
-      callback: Callback<
-          protos.google.protobuf.IEmpty,
-          protos.google.cloud.sql.v1beta4.ISqlOperationsCancelRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1beta4.ISqlOperationsCancelRequest,
+    options: CallOptions,
+    callback: Callback<
+      protos.google.protobuf.IEmpty,
+      | protos.google.cloud.sql.v1beta4.ISqlOperationsCancelRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   cancel(
-      request: protos.google.cloud.sql.v1beta4.ISqlOperationsCancelRequest,
-      callback: Callback<
-          protos.google.protobuf.IEmpty,
-          protos.google.cloud.sql.v1beta4.ISqlOperationsCancelRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1beta4.ISqlOperationsCancelRequest,
+    callback: Callback<
+      protos.google.protobuf.IEmpty,
+      | protos.google.cloud.sql.v1beta4.ISqlOperationsCancelRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   cancel(
-      request?: protos.google.cloud.sql.v1beta4.ISqlOperationsCancelRequest,
-      optionsOrCallback?: CallOptions|Callback<
-          protos.google.protobuf.IEmpty,
-          protos.google.cloud.sql.v1beta4.ISqlOperationsCancelRequest|null|undefined,
-          {}|null|undefined>,
-      callback?: Callback<
+    request?: protos.google.cloud.sql.v1beta4.ISqlOperationsCancelRequest,
+    optionsOrCallback?:
+      | CallOptions
+      | Callback<
           protos.google.protobuf.IEmpty,
-          protos.google.cloud.sql.v1beta4.ISqlOperationsCancelRequest|null|undefined,
-          {}|null|undefined>):
-      Promise<[
-        protos.google.protobuf.IEmpty,
-        protos.google.cloud.sql.v1beta4.ISqlOperationsCancelRequest|undefined, {}|undefined
-      ]>|void {
+          | protos.google.cloud.sql.v1beta4.ISqlOperationsCancelRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >,
+    callback?: Callback<
+      protos.google.protobuf.IEmpty,
+      | protos.google.cloud.sql.v1beta4.ISqlOperationsCancelRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): Promise<
+    [
+      protos.google.protobuf.IEmpty,
+      protos.google.cloud.sql.v1beta4.ISqlOperationsCancelRequest | undefined,
+      {} | undefined,
+    ]
+  > | void {
     request = request || {};
     let options: CallOptions;
     if (typeof optionsOrCallback === 'function' && callback === undefined) {
       callback = optionsOrCallback;
       options = {};
-    }
-    else {
+    } else {
       options = optionsOrCallback as CallOptions;
     }
     options = options || {};
     options.otherArgs = options.otherArgs || {};
     options.otherArgs.headers = options.otherArgs.headers || {};
-    options.otherArgs.headers[
-      'x-goog-request-params'
-    ] = this._gaxModule.routingHeader.fromParams({
-      'project': request.project ?? '',
-      'operation': request.operation ?? '',
+    options.otherArgs.headers['x-goog-request-params'] =
+      this._gaxModule.routingHeader.fromParams({
+        project: request.project ?? '',
+        operation: request.operation ?? '',
+      });
+    this.initialize().catch((err) => {
+      throw err;
     });
-    this.initialize().catch(err => {throw err});
     this._log.info('cancel request %j', request);
-    const wrappedCallback: Callback<
-        protos.google.protobuf.IEmpty,
-        protos.google.cloud.sql.v1beta4.ISqlOperationsCancelRequest|null|undefined,
-        {}|null|undefined>|undefined = callback
+    const wrappedCallback:
+      | Callback<
+          protos.google.protobuf.IEmpty,
+          | protos.google.cloud.sql.v1beta4.ISqlOperationsCancelRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >
+      | undefined = callback
       ? (error, response, options, rawResponse) => {
           this._log.info('cancel response %j', response);
           callback!(error, response, options, rawResponse); // We verified callback above.
         }
       : undefined;
-    return this.innerApiCalls.cancel(request, options, wrappedCallback)
-      ?.then(([response, options, rawResponse]: [
-        protos.google.protobuf.IEmpty,
-        protos.google.cloud.sql.v1beta4.ISqlOperationsCancelRequest|undefined,
-        {}|undefined
-      ]) => {
-        this._log.info('cancel response %j', response);
-        return [response, options, rawResponse];
-      }).catch((error: any) => {
-        if (error && 'statusDetails' in error && error.statusDetails instanceof Array) {
-          const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type;
-          error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos);
+    return this.innerApiCalls
+      .cancel(request, options, wrappedCallback)
+      ?.then(
+        ([response, options, rawResponse]: [
+          protos.google.protobuf.IEmpty,
+          (
+            | protos.google.cloud.sql.v1beta4.ISqlOperationsCancelRequest
+            | undefined
+          ),
+          {} | undefined,
+        ]) => {
+          this._log.info('cancel response %j', response);
+          return [response, options, rawResponse];
+        },
+      )
+      .catch((error: any) => {
+        if (
+          error &&
+          'statusDetails' in error &&
+          error.statusDetails instanceof Array
+        ) {
+          const protos = this._gaxModule.protobuf.Root.fromJSON(
+            jsonProtos,
+          ) as unknown as gax.protobuf.Type;
+          error.statusDetails = decodeAnyProtosInArray(
+            error.statusDetails,
+            protos,
+          );
         }
         throw error;
       });
   }
 
-/**
+  /**
    * Gets information about a location.
    *
    * @param {Object} request
@@ -669,12 +836,11 @@ export class SqlOperationsServiceClient {
       | null
       | undefined,
       {} | null | undefined
-    >
+    >,
   ): Promise<LocationProtos.google.cloud.location.ILocation> {
     return this.locationsClient.getLocation(request, options, callback);
   }
-
-/**
+  /**
    * Lists information about the supported locations for this service. Returns an iterable object.
    *
    * `for`-`await`-`of` syntax is used with the iterable to get response elements on-demand.
@@ -707,7 +873,7 @@ export class SqlOperationsServiceClient {
    */
   listLocationsAsync(
     request: LocationProtos.google.cloud.location.IListLocationsRequest,
-    options?: CallOptions
+    options?: CallOptions,
   ): AsyncIterable<LocationProtos.google.cloud.location.ILocation> {
     return this.locationsClient.listLocationsAsync(request, options);
   }
@@ -723,7 +889,7 @@ export class SqlOperationsServiceClient {
    * @param {string} backup
    * @returns {string} Resource name string.
    */
-  backupPath(project:string,backup:string) {
+  backupPath(project: string, backup: string) {
     return this.pathTemplates.backupPathTemplate.render({
       project: project,
       backup: backup,
@@ -758,7 +924,7 @@ export class SqlOperationsServiceClient {
    * @param {string} project
    * @returns {string} Resource name string.
    */
-  projectPath(project:string) {
+  projectPath(project: string) {
     return this.pathTemplates.projectPathTemplate.render({
       project: project,
     });
@@ -783,13 +949,15 @@ export class SqlOperationsServiceClient {
    */
   close(): Promise<void> {
     if (this.sqlOperationsServiceStub && !this._terminated) {
-      return this.sqlOperationsServiceStub.then(stub => {
+      return this.sqlOperationsServiceStub.then((stub) => {
         this._log.info('ending gRPC channel');
         this._terminated = true;
         stub.close();
-        this.locationsClient.close().catch(err => {throw err});
+        this.locationsClient.close().catch((err) => {
+          throw err;
+        });
       });
     }
     return Promise.resolve();
   }
-}
\ No newline at end of file
+}
diff --git a/packages/google-cloud-sql/src/v1beta4/sql_ssl_certs_service_client.ts b/packages/google-cloud-sql/src/v1beta4/sql_ssl_certs_service_client.ts
index 017e4fb36684..aeb3ba6c3aa3 100644
--- a/packages/google-cloud-sql/src/v1beta4/sql_ssl_certs_service_client.ts
+++ b/packages/google-cloud-sql/src/v1beta4/sql_ssl_certs_service_client.ts
@@ -18,11 +18,18 @@
 
 /* global window */
 import type * as gax from 'google-gax';
-import type {Callback, CallOptions, Descriptors, ClientOptions, LocationsClient, LocationProtos} from 'google-gax';
+import type {
+  Callback,
+  CallOptions,
+  Descriptors,
+  ClientOptions,
+  LocationsClient,
+  LocationProtos,
+} from 'google-gax';
 
 import * as protos from '../../protos/protos';
 import jsonProtos = require('../../protos/protos.json');
-import {loggingUtils as logging, decodeAnyProtosInArray} from 'google-gax';
+import { loggingUtils as logging, decodeAnyProtosInArray } from 'google-gax';
 
 /**
  * Client JSON configuration object, loaded from
@@ -43,7 +50,7 @@ export class SqlSslCertsServiceClient {
   private _gaxModule: typeof gax | typeof gax.fallback;
   private _gaxGrpc: gax.GrpcClient | gax.fallback.GrpcClient;
   private _protos: {};
-  private _defaults: {[method: string]: gax.CallSettings};
+  private _defaults: { [method: string]: gax.CallSettings };
   private _universeDomain: string;
   private _servicePath: string;
   private _log = logging.log('sql');
@@ -56,10 +63,10 @@ export class SqlSslCertsServiceClient {
     batching: {},
   };
   warn: (code: string, message: string, warnType?: string) => void;
-  innerApiCalls: {[name: string]: Function};
+  innerApiCalls: { [name: string]: Function };
   locationsClient: LocationsClient;
-  pathTemplates: {[name: string]: gax.PathTemplate};
-  sqlSslCertsServiceStub?: Promise<{[name: string]: Function}>;
+  pathTemplates: { [name: string]: gax.PathTemplate };
+  sqlSslCertsServiceStub?: Promise<{ [name: string]: Function }>;
 
   /**
    * Construct an instance of SqlSslCertsServiceClient.
@@ -100,21 +107,42 @@ export class SqlSslCertsServiceClient {
    *     const client = new SqlSslCertsServiceClient({fallback: true}, gax);
    *     ```
    */
-  constructor(opts?: ClientOptions, gaxInstance?: typeof gax | typeof gax.fallback) {
+  constructor(
+    opts?: ClientOptions,
+    gaxInstance?: typeof gax | typeof gax.fallback,
+  ) {
     // Ensure that options include all the required fields.
     const staticMembers = this.constructor as typeof SqlSslCertsServiceClient;
-    if (opts?.universe_domain && opts?.universeDomain && opts?.universe_domain !== opts?.universeDomain) {
-      throw new Error('Please set either universe_domain or universeDomain, but not both.');
+    if (
+      opts?.universe_domain &&
+      opts?.universeDomain &&
+      opts?.universe_domain !== opts?.universeDomain
+    ) {
+      throw new Error(
+        'Please set either universe_domain or universeDomain, but not both.',
+      );
     }
-    const universeDomainEnvVar = (typeof process === 'object' && typeof process.env === 'object') ? process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] : undefined;
-    this._universeDomain = opts?.universeDomain ?? opts?.universe_domain ?? universeDomainEnvVar ?? 'googleapis.com';
+    const universeDomainEnvVar =
+      typeof process === 'object' && typeof process.env === 'object'
+        ? process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN']
+        : undefined;
+    this._universeDomain =
+      opts?.universeDomain ??
+      opts?.universe_domain ??
+      universeDomainEnvVar ??
+      'googleapis.com';
     this._servicePath = 'sqladmin.' + this._universeDomain;
-    const servicePath = opts?.servicePath || opts?.apiEndpoint || this._servicePath;
-    this._providedCustomServicePath = !!(opts?.servicePath || opts?.apiEndpoint);
+    const servicePath =
+      opts?.servicePath || opts?.apiEndpoint || this._servicePath;
+    this._providedCustomServicePath = !!(
+      opts?.servicePath || opts?.apiEndpoint
+    );
     const port = opts?.port || staticMembers.port;
     const clientConfig = opts?.clientConfig ?? {};
-    const fallback = opts?.fallback ?? (typeof window !== 'undefined' && typeof window?.fetch === 'function');
-    opts = Object.assign({servicePath, port, clientConfig, fallback}, opts);
+    const fallback =
+      opts?.fallback ??
+      (typeof window !== 'undefined' && typeof window?.fetch === 'function');
+    opts = Object.assign({ servicePath, port, clientConfig, fallback }, opts);
 
     // Request numeric enum values if REST transport is used.
     opts.numericEnums = true;
@@ -139,7 +167,7 @@ export class SqlSslCertsServiceClient {
     this._opts = opts;
 
     // Save the auth object to the client, for use by other methods.
-    this.auth = (this._gaxGrpc.auth as gax.GoogleAuth);
+    this.auth = this._gaxGrpc.auth as gax.GoogleAuth;
 
     // Set useJWTAccessWithScope on the auth object.
     this.auth.useJWTAccessWithScope = true;
@@ -153,15 +181,11 @@ export class SqlSslCertsServiceClient {
     }
     this.locationsClient = new this._gaxModule.LocationsClient(
       this._gaxGrpc,
-      opts
+      opts,
     );
-  
 
     // Determine the client header string.
-    const clientHeader = [
-      `gax/${this._gaxModule.version}`,
-      `gapic/${version}`,
-    ];
+    const clientHeader = [`gax/${this._gaxModule.version}`, `gapic/${version}`];
     if (typeof process === 'object' && 'versions' in process) {
       clientHeader.push(`gl-node/${process.versions.node}`);
     } else {
@@ -183,17 +207,20 @@ export class SqlSslCertsServiceClient {
     // Create useful helper objects for these.
     this.pathTemplates = {
       backupPathTemplate: new this._gaxModule.PathTemplate(
-        'projects/{project}/backups/{backup}'
+        'projects/{project}/backups/{backup}',
       ),
       projectPathTemplate: new this._gaxModule.PathTemplate(
-        'projects/{project}'
+        'projects/{project}',
       ),
     };
 
     // Put together the default options sent with requests.
     this._defaults = this._gaxGrpc.constructSettings(
-        'google.cloud.sql.v1beta4.SqlSslCertsService', gapicConfig as gax.ClientConfig,
-        opts.clientConfig || {}, {'x-goog-api-client': clientHeader.join(' ')});
+      'google.cloud.sql.v1beta4.SqlSslCertsService',
+      gapicConfig as gax.ClientConfig,
+      opts.clientConfig || {},
+      { 'x-goog-api-client': clientHeader.join(' ') },
+    );
 
     // Set up a dictionary of "inner API calls"; the core implementation
     // of calling the API is handled in `google-gax`, with this code
@@ -224,36 +251,40 @@ export class SqlSslCertsServiceClient {
     // Put together the "service stub" for
     // google.cloud.sql.v1beta4.SqlSslCertsService.
     this.sqlSslCertsServiceStub = this._gaxGrpc.createStub(
-        this._opts.fallback ?
-          (this._protos as protobuf.Root).lookupService('google.cloud.sql.v1beta4.SqlSslCertsService') :
-          // eslint-disable-next-line @typescript-eslint/no-explicit-any
+      this._opts.fallback
+        ? (this._protos as protobuf.Root).lookupService(
+            'google.cloud.sql.v1beta4.SqlSslCertsService',
+          )
+        : // eslint-disable-next-line @typescript-eslint/no-explicit-any
           (this._protos as any).google.cloud.sql.v1beta4.SqlSslCertsService,
-        this._opts, this._providedCustomServicePath) as Promise<{[method: string]: Function}>;
+      this._opts,
+      this._providedCustomServicePath,
+    ) as Promise<{ [method: string]: Function }>;
 
     // Iterate over each of the methods that the service provides
     // and create an API call method for each.
-    const sqlSslCertsServiceStubMethods =
-        ['delete', 'get', 'insert', 'list'];
+    const sqlSslCertsServiceStubMethods = ['delete', 'get', 'insert', 'list'];
     for (const methodName of sqlSslCertsServiceStubMethods) {
       const callPromise = this.sqlSslCertsServiceStub.then(
-        stub => (...args: Array<{}>) => {
-          if (this._terminated) {
-            return Promise.reject('The client has already been closed.');
-          }
-          const func = stub[methodName];
-          return func.apply(stub, args);
-        },
-        (err: Error|null|undefined) => () => {
+        (stub) =>
+          (...args: Array<{}>) => {
+            if (this._terminated) {
+              return Promise.reject('The client has already been closed.');
+            }
+            const func = stub[methodName];
+            return func.apply(stub, args);
+          },
+        (err: Error | null | undefined) => () => {
           throw err;
-        });
+        },
+      );
 
-      const descriptor =
-        undefined;
+      const descriptor = undefined;
       const apiCall = this._gaxModule.createApiCall(
         callPromise,
         this._defaults[methodName],
         descriptor,
-        this._opts.fallback
+        this._opts.fallback,
       );
 
       this.innerApiCalls[methodName] = apiCall;
@@ -268,8 +299,14 @@ export class SqlSslCertsServiceClient {
    * @returns {string} The DNS address for this service.
    */
   static get servicePath() {
-    if (typeof process === 'object' && typeof process.emitWarning === 'function') {
-      process.emitWarning('Static servicePath is deprecated, please use the instance method instead.', 'DeprecationWarning');
+    if (
+      typeof process === 'object' &&
+      typeof process.emitWarning === 'function'
+    ) {
+      process.emitWarning(
+        'Static servicePath is deprecated, please use the instance method instead.',
+        'DeprecationWarning',
+      );
     }
     return 'sqladmin.googleapis.com';
   }
@@ -280,8 +317,14 @@ export class SqlSslCertsServiceClient {
    * @returns {string} The DNS address for this service.
    */
   static get apiEndpoint() {
-    if (typeof process === 'object' && typeof process.emitWarning === 'function') {
-      process.emitWarning('Static apiEndpoint is deprecated, please use the instance method instead.', 'DeprecationWarning');
+    if (
+      typeof process === 'object' &&
+      typeof process.emitWarning === 'function'
+    ) {
+      process.emitWarning(
+        'Static apiEndpoint is deprecated, please use the instance method instead.',
+        'DeprecationWarning',
+      );
     }
     return 'sqladmin.googleapis.com';
   }
@@ -314,7 +357,7 @@ export class SqlSslCertsServiceClient {
   static get scopes() {
     return [
       'https://www.googleapis.com/auth/cloud-platform',
-      'https://www.googleapis.com/auth/sqlservice.admin'
+      'https://www.googleapis.com/auth/sqlservice.admin',
     ];
   }
 
@@ -324,8 +367,9 @@ export class SqlSslCertsServiceClient {
    * Return the project ID used by this class.
    * @returns {Promise} A promise that resolves to string containing the project ID.
    */
-  getProjectId(callback?: Callback<string, undefined, undefined>):
-      Promise<string>|void {
+  getProjectId(
+    callback?: Callback<string, undefined, undefined>,
+  ): Promise<string> | void {
     if (callback) {
       this.auth.getProjectId(callback);
       return;
@@ -336,408 +380,562 @@ export class SqlSslCertsServiceClient {
   // -------------------
   // -- Service calls --
   // -------------------
-/**
- * Deletes the SSL certificate. For First Generation instances, the
- * certificate remains valid until the instance is restarted.
- *
- * @param {Object} request
- *   The request object that will be sent.
- * @param {string} request.instance
- *   Cloud SQL instance ID. This does not include the project ID.
- * @param {string} request.project
- *   Project ID of the project that contains the instance.
- * @param {string} request.sha1Fingerprint
- *   Sha1 FingerPrint.
- * @param {object} [options]
- *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
- * @returns {Promise} - The promise which resolves to an array.
- *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1beta4.Operation|Operation}.
- *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
- *   for more details and examples.
- * @example <caption>include:samples/generated/v1beta4/sql_ssl_certs_service.delete.js</caption>
- * region_tag:sqladmin_v1beta4_generated_SqlSslCertsService_Delete_async
- */
+  /**
+   * Deletes the SSL certificate. For First Generation instances, the
+   * certificate remains valid until the instance is restarted.
+   *
+   * @param {Object} request
+   *   The request object that will be sent.
+   * @param {string} request.instance
+   *   Cloud SQL instance ID. This does not include the project ID.
+   * @param {string} request.project
+   *   Project ID of the project that contains the instance.
+   * @param {string} request.sha1Fingerprint
+   *   Sha1 FingerPrint.
+   * @param {object} [options]
+   *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+   * @returns {Promise} - The promise which resolves to an array.
+   *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1beta4.Operation|Operation}.
+   *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
+   *   for more details and examples.
+   * @example <caption>include:samples/generated/v1beta4/sql_ssl_certs_service.delete.js</caption>
+   * region_tag:sqladmin_v1beta4_generated_SqlSslCertsService_Delete_async
+   */
   delete(
-      request?: protos.google.cloud.sql.v1beta4.ISqlSslCertsDeleteRequest,
-      options?: CallOptions):
-      Promise<[
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlSslCertsDeleteRequest|undefined, {}|undefined
-      ]>;
+    request?: protos.google.cloud.sql.v1beta4.ISqlSslCertsDeleteRequest,
+    options?: CallOptions,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1beta4.IOperation,
+      protos.google.cloud.sql.v1beta4.ISqlSslCertsDeleteRequest | undefined,
+      {} | undefined,
+    ]
+  >;
   delete(
-      request: protos.google.cloud.sql.v1beta4.ISqlSslCertsDeleteRequest,
-      options: CallOptions,
-      callback: Callback<
-          protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlSslCertsDeleteRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1beta4.ISqlSslCertsDeleteRequest,
+    options: CallOptions,
+    callback: Callback<
+      protos.google.cloud.sql.v1beta4.IOperation,
+      | protos.google.cloud.sql.v1beta4.ISqlSslCertsDeleteRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   delete(
-      request: protos.google.cloud.sql.v1beta4.ISqlSslCertsDeleteRequest,
-      callback: Callback<
-          protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlSslCertsDeleteRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1beta4.ISqlSslCertsDeleteRequest,
+    callback: Callback<
+      protos.google.cloud.sql.v1beta4.IOperation,
+      | protos.google.cloud.sql.v1beta4.ISqlSslCertsDeleteRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   delete(
-      request?: protos.google.cloud.sql.v1beta4.ISqlSslCertsDeleteRequest,
-      optionsOrCallback?: CallOptions|Callback<
-          protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlSslCertsDeleteRequest|null|undefined,
-          {}|null|undefined>,
-      callback?: Callback<
+    request?: protos.google.cloud.sql.v1beta4.ISqlSslCertsDeleteRequest,
+    optionsOrCallback?:
+      | CallOptions
+      | Callback<
           protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlSslCertsDeleteRequest|null|undefined,
-          {}|null|undefined>):
-      Promise<[
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlSslCertsDeleteRequest|undefined, {}|undefined
-      ]>|void {
+          | protos.google.cloud.sql.v1beta4.ISqlSslCertsDeleteRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >,
+    callback?: Callback<
+      protos.google.cloud.sql.v1beta4.IOperation,
+      | protos.google.cloud.sql.v1beta4.ISqlSslCertsDeleteRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1beta4.IOperation,
+      protos.google.cloud.sql.v1beta4.ISqlSslCertsDeleteRequest | undefined,
+      {} | undefined,
+    ]
+  > | void {
     request = request || {};
     let options: CallOptions;
     if (typeof optionsOrCallback === 'function' && callback === undefined) {
       callback = optionsOrCallback;
       options = {};
-    }
-    else {
+    } else {
       options = optionsOrCallback as CallOptions;
     }
     options = options || {};
     options.otherArgs = options.otherArgs || {};
     options.otherArgs.headers = options.otherArgs.headers || {};
-    options.otherArgs.headers[
-      'x-goog-request-params'
-    ] = this._gaxModule.routingHeader.fromParams({
-      'project': request.project ?? '',
-      'instance': request.instance ?? '',
-      'sha1_fingerprint': request.sha1Fingerprint ?? '',
+    options.otherArgs.headers['x-goog-request-params'] =
+      this._gaxModule.routingHeader.fromParams({
+        project: request.project ?? '',
+        instance: request.instance ?? '',
+        sha1_fingerprint: request.sha1Fingerprint ?? '',
+      });
+    this.initialize().catch((err) => {
+      throw err;
     });
-    this.initialize().catch(err => {throw err});
     this._log.info('delete request %j', request);
-    const wrappedCallback: Callback<
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlSslCertsDeleteRequest|null|undefined,
-        {}|null|undefined>|undefined = callback
+    const wrappedCallback:
+      | Callback<
+          protos.google.cloud.sql.v1beta4.IOperation,
+          | protos.google.cloud.sql.v1beta4.ISqlSslCertsDeleteRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >
+      | undefined = callback
       ? (error, response, options, rawResponse) => {
           this._log.info('delete response %j', response);
           callback!(error, response, options, rawResponse); // We verified callback above.
         }
       : undefined;
-    return this.innerApiCalls.delete(request, options, wrappedCallback)
-      ?.then(([response, options, rawResponse]: [
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlSslCertsDeleteRequest|undefined,
-        {}|undefined
-      ]) => {
-        this._log.info('delete response %j', response);
-        return [response, options, rawResponse];
-      }).catch((error: any) => {
-        if (error && 'statusDetails' in error && error.statusDetails instanceof Array) {
-          const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type;
-          error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos);
+    return this.innerApiCalls
+      .delete(request, options, wrappedCallback)
+      ?.then(
+        ([response, options, rawResponse]: [
+          protos.google.cloud.sql.v1beta4.IOperation,
+          protos.google.cloud.sql.v1beta4.ISqlSslCertsDeleteRequest | undefined,
+          {} | undefined,
+        ]) => {
+          this._log.info('delete response %j', response);
+          return [response, options, rawResponse];
+        },
+      )
+      .catch((error: any) => {
+        if (
+          error &&
+          'statusDetails' in error &&
+          error.statusDetails instanceof Array
+        ) {
+          const protos = this._gaxModule.protobuf.Root.fromJSON(
+            jsonProtos,
+          ) as unknown as gax.protobuf.Type;
+          error.statusDetails = decodeAnyProtosInArray(
+            error.statusDetails,
+            protos,
+          );
         }
         throw error;
       });
   }
-/**
- * Retrieves a particular SSL certificate.  Does not include the private key
- * (required for usage).  The private key must be saved from the response to
- * initial creation.
- *
- * @param {Object} request
- *   The request object that will be sent.
- * @param {string} request.instance
- *   Cloud SQL instance ID. This does not include the project ID.
- * @param {string} request.project
- *   Project ID of the project that contains the instance.
- * @param {string} request.sha1Fingerprint
- *   Sha1 FingerPrint.
- * @param {object} [options]
- *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
- * @returns {Promise} - The promise which resolves to an array.
- *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1beta4.SslCert|SslCert}.
- *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
- *   for more details and examples.
- * @example <caption>include:samples/generated/v1beta4/sql_ssl_certs_service.get.js</caption>
- * region_tag:sqladmin_v1beta4_generated_SqlSslCertsService_Get_async
- */
+  /**
+   * Retrieves a particular SSL certificate.  Does not include the private key
+   * (required for usage).  The private key must be saved from the response to
+   * initial creation.
+   *
+   * @param {Object} request
+   *   The request object that will be sent.
+   * @param {string} request.instance
+   *   Cloud SQL instance ID. This does not include the project ID.
+   * @param {string} request.project
+   *   Project ID of the project that contains the instance.
+   * @param {string} request.sha1Fingerprint
+   *   Sha1 FingerPrint.
+   * @param {object} [options]
+   *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+   * @returns {Promise} - The promise which resolves to an array.
+   *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1beta4.SslCert|SslCert}.
+   *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
+   *   for more details and examples.
+   * @example <caption>include:samples/generated/v1beta4/sql_ssl_certs_service.get.js</caption>
+   * region_tag:sqladmin_v1beta4_generated_SqlSslCertsService_Get_async
+   */
   get(
-      request?: protos.google.cloud.sql.v1beta4.ISqlSslCertsGetRequest,
-      options?: CallOptions):
-      Promise<[
-        protos.google.cloud.sql.v1beta4.ISslCert,
-        protos.google.cloud.sql.v1beta4.ISqlSslCertsGetRequest|undefined, {}|undefined
-      ]>;
+    request?: protos.google.cloud.sql.v1beta4.ISqlSslCertsGetRequest,
+    options?: CallOptions,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1beta4.ISslCert,
+      protos.google.cloud.sql.v1beta4.ISqlSslCertsGetRequest | undefined,
+      {} | undefined,
+    ]
+  >;
   get(
-      request: protos.google.cloud.sql.v1beta4.ISqlSslCertsGetRequest,
-      options: CallOptions,
-      callback: Callback<
-          protos.google.cloud.sql.v1beta4.ISslCert,
-          protos.google.cloud.sql.v1beta4.ISqlSslCertsGetRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1beta4.ISqlSslCertsGetRequest,
+    options: CallOptions,
+    callback: Callback<
+      protos.google.cloud.sql.v1beta4.ISslCert,
+      protos.google.cloud.sql.v1beta4.ISqlSslCertsGetRequest | null | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   get(
-      request: protos.google.cloud.sql.v1beta4.ISqlSslCertsGetRequest,
-      callback: Callback<
-          protos.google.cloud.sql.v1beta4.ISslCert,
-          protos.google.cloud.sql.v1beta4.ISqlSslCertsGetRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1beta4.ISqlSslCertsGetRequest,
+    callback: Callback<
+      protos.google.cloud.sql.v1beta4.ISslCert,
+      protos.google.cloud.sql.v1beta4.ISqlSslCertsGetRequest | null | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   get(
-      request?: protos.google.cloud.sql.v1beta4.ISqlSslCertsGetRequest,
-      optionsOrCallback?: CallOptions|Callback<
-          protos.google.cloud.sql.v1beta4.ISslCert,
-          protos.google.cloud.sql.v1beta4.ISqlSslCertsGetRequest|null|undefined,
-          {}|null|undefined>,
-      callback?: Callback<
+    request?: protos.google.cloud.sql.v1beta4.ISqlSslCertsGetRequest,
+    optionsOrCallback?:
+      | CallOptions
+      | Callback<
           protos.google.cloud.sql.v1beta4.ISslCert,
-          protos.google.cloud.sql.v1beta4.ISqlSslCertsGetRequest|null|undefined,
-          {}|null|undefined>):
-      Promise<[
-        protos.google.cloud.sql.v1beta4.ISslCert,
-        protos.google.cloud.sql.v1beta4.ISqlSslCertsGetRequest|undefined, {}|undefined
-      ]>|void {
+          | protos.google.cloud.sql.v1beta4.ISqlSslCertsGetRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >,
+    callback?: Callback<
+      protos.google.cloud.sql.v1beta4.ISslCert,
+      protos.google.cloud.sql.v1beta4.ISqlSslCertsGetRequest | null | undefined,
+      {} | null | undefined
+    >,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1beta4.ISslCert,
+      protos.google.cloud.sql.v1beta4.ISqlSslCertsGetRequest | undefined,
+      {} | undefined,
+    ]
+  > | void {
     request = request || {};
     let options: CallOptions;
     if (typeof optionsOrCallback === 'function' && callback === undefined) {
       callback = optionsOrCallback;
       options = {};
-    }
-    else {
+    } else {
       options = optionsOrCallback as CallOptions;
     }
     options = options || {};
     options.otherArgs = options.otherArgs || {};
     options.otherArgs.headers = options.otherArgs.headers || {};
-    options.otherArgs.headers[
-      'x-goog-request-params'
-    ] = this._gaxModule.routingHeader.fromParams({
-      'project': request.project ?? '',
-      'instance': request.instance ?? '',
-      'sha1_fingerprint': request.sha1Fingerprint ?? '',
+    options.otherArgs.headers['x-goog-request-params'] =
+      this._gaxModule.routingHeader.fromParams({
+        project: request.project ?? '',
+        instance: request.instance ?? '',
+        sha1_fingerprint: request.sha1Fingerprint ?? '',
+      });
+    this.initialize().catch((err) => {
+      throw err;
     });
-    this.initialize().catch(err => {throw err});
     this._log.info('get request %j', request);
-    const wrappedCallback: Callback<
-        protos.google.cloud.sql.v1beta4.ISslCert,
-        protos.google.cloud.sql.v1beta4.ISqlSslCertsGetRequest|null|undefined,
-        {}|null|undefined>|undefined = callback
+    const wrappedCallback:
+      | Callback<
+          protos.google.cloud.sql.v1beta4.ISslCert,
+          | protos.google.cloud.sql.v1beta4.ISqlSslCertsGetRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >
+      | undefined = callback
       ? (error, response, options, rawResponse) => {
           this._log.info('get response %j', response);
           callback!(error, response, options, rawResponse); // We verified callback above.
         }
       : undefined;
-    return this.innerApiCalls.get(request, options, wrappedCallback)
-      ?.then(([response, options, rawResponse]: [
-        protos.google.cloud.sql.v1beta4.ISslCert,
-        protos.google.cloud.sql.v1beta4.ISqlSslCertsGetRequest|undefined,
-        {}|undefined
-      ]) => {
-        this._log.info('get response %j', response);
-        return [response, options, rawResponse];
-      }).catch((error: any) => {
-        if (error && 'statusDetails' in error && error.statusDetails instanceof Array) {
-          const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type;
-          error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos);
+    return this.innerApiCalls
+      .get(request, options, wrappedCallback)
+      ?.then(
+        ([response, options, rawResponse]: [
+          protos.google.cloud.sql.v1beta4.ISslCert,
+          protos.google.cloud.sql.v1beta4.ISqlSslCertsGetRequest | undefined,
+          {} | undefined,
+        ]) => {
+          this._log.info('get response %j', response);
+          return [response, options, rawResponse];
+        },
+      )
+      .catch((error: any) => {
+        if (
+          error &&
+          'statusDetails' in error &&
+          error.statusDetails instanceof Array
+        ) {
+          const protos = this._gaxModule.protobuf.Root.fromJSON(
+            jsonProtos,
+          ) as unknown as gax.protobuf.Type;
+          error.statusDetails = decodeAnyProtosInArray(
+            error.statusDetails,
+            protos,
+          );
         }
         throw error;
       });
   }
-/**
- * Creates an SSL certificate and returns it along with the private key and
- * server certificate authority.  The new certificate will not be usable until
- * the instance is restarted.
- *
- * @param {Object} request
- *   The request object that will be sent.
- * @param {string} request.instance
- *   Cloud SQL instance ID. This does not include the project ID.
- * @param {string} request.project
- *   Project ID of the project that contains the instance.
- * @param {google.cloud.sql.v1beta4.SslCertsInsertRequest} request.body
- * @param {object} [options]
- *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
- * @returns {Promise} - The promise which resolves to an array.
- *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1beta4.SslCertsInsertResponse|SslCertsInsertResponse}.
- *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
- *   for more details and examples.
- * @example <caption>include:samples/generated/v1beta4/sql_ssl_certs_service.insert.js</caption>
- * region_tag:sqladmin_v1beta4_generated_SqlSslCertsService_Insert_async
- */
+  /**
+   * Creates an SSL certificate and returns it along with the private key and
+   * server certificate authority.  The new certificate will not be usable until
+   * the instance is restarted.
+   *
+   * @param {Object} request
+   *   The request object that will be sent.
+   * @param {string} request.instance
+   *   Cloud SQL instance ID. This does not include the project ID.
+   * @param {string} request.project
+   *   Project ID of the project that contains the instance.
+   * @param {google.cloud.sql.v1beta4.SslCertsInsertRequest} request.body
+   * @param {object} [options]
+   *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+   * @returns {Promise} - The promise which resolves to an array.
+   *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1beta4.SslCertsInsertResponse|SslCertsInsertResponse}.
+   *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
+   *   for more details and examples.
+   * @example <caption>include:samples/generated/v1beta4/sql_ssl_certs_service.insert.js</caption>
+   * region_tag:sqladmin_v1beta4_generated_SqlSslCertsService_Insert_async
+   */
   insert(
-      request?: protos.google.cloud.sql.v1beta4.ISqlSslCertsInsertRequest,
-      options?: CallOptions):
-      Promise<[
-        protos.google.cloud.sql.v1beta4.ISslCertsInsertResponse,
-        protos.google.cloud.sql.v1beta4.ISqlSslCertsInsertRequest|undefined, {}|undefined
-      ]>;
+    request?: protos.google.cloud.sql.v1beta4.ISqlSslCertsInsertRequest,
+    options?: CallOptions,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1beta4.ISslCertsInsertResponse,
+      protos.google.cloud.sql.v1beta4.ISqlSslCertsInsertRequest | undefined,
+      {} | undefined,
+    ]
+  >;
   insert(
-      request: protos.google.cloud.sql.v1beta4.ISqlSslCertsInsertRequest,
-      options: CallOptions,
-      callback: Callback<
-          protos.google.cloud.sql.v1beta4.ISslCertsInsertResponse,
-          protos.google.cloud.sql.v1beta4.ISqlSslCertsInsertRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1beta4.ISqlSslCertsInsertRequest,
+    options: CallOptions,
+    callback: Callback<
+      protos.google.cloud.sql.v1beta4.ISslCertsInsertResponse,
+      | protos.google.cloud.sql.v1beta4.ISqlSslCertsInsertRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   insert(
-      request: protos.google.cloud.sql.v1beta4.ISqlSslCertsInsertRequest,
-      callback: Callback<
-          protos.google.cloud.sql.v1beta4.ISslCertsInsertResponse,
-          protos.google.cloud.sql.v1beta4.ISqlSslCertsInsertRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1beta4.ISqlSslCertsInsertRequest,
+    callback: Callback<
+      protos.google.cloud.sql.v1beta4.ISslCertsInsertResponse,
+      | protos.google.cloud.sql.v1beta4.ISqlSslCertsInsertRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   insert(
-      request?: protos.google.cloud.sql.v1beta4.ISqlSslCertsInsertRequest,
-      optionsOrCallback?: CallOptions|Callback<
-          protos.google.cloud.sql.v1beta4.ISslCertsInsertResponse,
-          protos.google.cloud.sql.v1beta4.ISqlSslCertsInsertRequest|null|undefined,
-          {}|null|undefined>,
-      callback?: Callback<
+    request?: protos.google.cloud.sql.v1beta4.ISqlSslCertsInsertRequest,
+    optionsOrCallback?:
+      | CallOptions
+      | Callback<
           protos.google.cloud.sql.v1beta4.ISslCertsInsertResponse,
-          protos.google.cloud.sql.v1beta4.ISqlSslCertsInsertRequest|null|undefined,
-          {}|null|undefined>):
-      Promise<[
-        protos.google.cloud.sql.v1beta4.ISslCertsInsertResponse,
-        protos.google.cloud.sql.v1beta4.ISqlSslCertsInsertRequest|undefined, {}|undefined
-      ]>|void {
+          | protos.google.cloud.sql.v1beta4.ISqlSslCertsInsertRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >,
+    callback?: Callback<
+      protos.google.cloud.sql.v1beta4.ISslCertsInsertResponse,
+      | protos.google.cloud.sql.v1beta4.ISqlSslCertsInsertRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1beta4.ISslCertsInsertResponse,
+      protos.google.cloud.sql.v1beta4.ISqlSslCertsInsertRequest | undefined,
+      {} | undefined,
+    ]
+  > | void {
     request = request || {};
     let options: CallOptions;
     if (typeof optionsOrCallback === 'function' && callback === undefined) {
       callback = optionsOrCallback;
       options = {};
-    }
-    else {
+    } else {
       options = optionsOrCallback as CallOptions;
     }
     options = options || {};
     options.otherArgs = options.otherArgs || {};
     options.otherArgs.headers = options.otherArgs.headers || {};
-    options.otherArgs.headers[
-      'x-goog-request-params'
-    ] = this._gaxModule.routingHeader.fromParams({
-      'project': request.project ?? '',
-      'instance': request.instance ?? '',
+    options.otherArgs.headers['x-goog-request-params'] =
+      this._gaxModule.routingHeader.fromParams({
+        project: request.project ?? '',
+        instance: request.instance ?? '',
+      });
+    this.initialize().catch((err) => {
+      throw err;
     });
-    this.initialize().catch(err => {throw err});
     this._log.info('insert request %j', request);
-    const wrappedCallback: Callback<
-        protos.google.cloud.sql.v1beta4.ISslCertsInsertResponse,
-        protos.google.cloud.sql.v1beta4.ISqlSslCertsInsertRequest|null|undefined,
-        {}|null|undefined>|undefined = callback
+    const wrappedCallback:
+      | Callback<
+          protos.google.cloud.sql.v1beta4.ISslCertsInsertResponse,
+          | protos.google.cloud.sql.v1beta4.ISqlSslCertsInsertRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >
+      | undefined = callback
       ? (error, response, options, rawResponse) => {
           this._log.info('insert response %j', response);
           callback!(error, response, options, rawResponse); // We verified callback above.
         }
       : undefined;
-    return this.innerApiCalls.insert(request, options, wrappedCallback)
-      ?.then(([response, options, rawResponse]: [
-        protos.google.cloud.sql.v1beta4.ISslCertsInsertResponse,
-        protos.google.cloud.sql.v1beta4.ISqlSslCertsInsertRequest|undefined,
-        {}|undefined
-      ]) => {
-        this._log.info('insert response %j', response);
-        return [response, options, rawResponse];
-      }).catch((error: any) => {
-        if (error && 'statusDetails' in error && error.statusDetails instanceof Array) {
-          const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type;
-          error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos);
+    return this.innerApiCalls
+      .insert(request, options, wrappedCallback)
+      ?.then(
+        ([response, options, rawResponse]: [
+          protos.google.cloud.sql.v1beta4.ISslCertsInsertResponse,
+          protos.google.cloud.sql.v1beta4.ISqlSslCertsInsertRequest | undefined,
+          {} | undefined,
+        ]) => {
+          this._log.info('insert response %j', response);
+          return [response, options, rawResponse];
+        },
+      )
+      .catch((error: any) => {
+        if (
+          error &&
+          'statusDetails' in error &&
+          error.statusDetails instanceof Array
+        ) {
+          const protos = this._gaxModule.protobuf.Root.fromJSON(
+            jsonProtos,
+          ) as unknown as gax.protobuf.Type;
+          error.statusDetails = decodeAnyProtosInArray(
+            error.statusDetails,
+            protos,
+          );
         }
         throw error;
       });
   }
-/**
- * Lists all of the current SSL certificates for the instance.
- *
- * @param {Object} request
- *   The request object that will be sent.
- * @param {string} request.instance
- *   Cloud SQL instance ID. This does not include the project ID.
- * @param {string} request.project
- *   Project ID of the project that contains the instance.
- * @param {object} [options]
- *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
- * @returns {Promise} - The promise which resolves to an array.
- *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1beta4.SslCertsListResponse|SslCertsListResponse}.
- *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
- *   for more details and examples.
- * @example <caption>include:samples/generated/v1beta4/sql_ssl_certs_service.list.js</caption>
- * region_tag:sqladmin_v1beta4_generated_SqlSslCertsService_List_async
- */
+  /**
+   * Lists all of the current SSL certificates for the instance.
+   *
+   * @param {Object} request
+   *   The request object that will be sent.
+   * @param {string} request.instance
+   *   Cloud SQL instance ID. This does not include the project ID.
+   * @param {string} request.project
+   *   Project ID of the project that contains the instance.
+   * @param {object} [options]
+   *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+   * @returns {Promise} - The promise which resolves to an array.
+   *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1beta4.SslCertsListResponse|SslCertsListResponse}.
+   *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
+   *   for more details and examples.
+   * @example <caption>include:samples/generated/v1beta4/sql_ssl_certs_service.list.js</caption>
+   * region_tag:sqladmin_v1beta4_generated_SqlSslCertsService_List_async
+   */
   list(
-      request?: protos.google.cloud.sql.v1beta4.ISqlSslCertsListRequest,
-      options?: CallOptions):
-      Promise<[
-        protos.google.cloud.sql.v1beta4.ISslCertsListResponse,
-        protos.google.cloud.sql.v1beta4.ISqlSslCertsListRequest|undefined, {}|undefined
-      ]>;
+    request?: protos.google.cloud.sql.v1beta4.ISqlSslCertsListRequest,
+    options?: CallOptions,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1beta4.ISslCertsListResponse,
+      protos.google.cloud.sql.v1beta4.ISqlSslCertsListRequest | undefined,
+      {} | undefined,
+    ]
+  >;
   list(
-      request: protos.google.cloud.sql.v1beta4.ISqlSslCertsListRequest,
-      options: CallOptions,
-      callback: Callback<
-          protos.google.cloud.sql.v1beta4.ISslCertsListResponse,
-          protos.google.cloud.sql.v1beta4.ISqlSslCertsListRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1beta4.ISqlSslCertsListRequest,
+    options: CallOptions,
+    callback: Callback<
+      protos.google.cloud.sql.v1beta4.ISslCertsListResponse,
+      | protos.google.cloud.sql.v1beta4.ISqlSslCertsListRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   list(
-      request: protos.google.cloud.sql.v1beta4.ISqlSslCertsListRequest,
-      callback: Callback<
-          protos.google.cloud.sql.v1beta4.ISslCertsListResponse,
-          protos.google.cloud.sql.v1beta4.ISqlSslCertsListRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1beta4.ISqlSslCertsListRequest,
+    callback: Callback<
+      protos.google.cloud.sql.v1beta4.ISslCertsListResponse,
+      | protos.google.cloud.sql.v1beta4.ISqlSslCertsListRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   list(
-      request?: protos.google.cloud.sql.v1beta4.ISqlSslCertsListRequest,
-      optionsOrCallback?: CallOptions|Callback<
-          protos.google.cloud.sql.v1beta4.ISslCertsListResponse,
-          protos.google.cloud.sql.v1beta4.ISqlSslCertsListRequest|null|undefined,
-          {}|null|undefined>,
-      callback?: Callback<
+    request?: protos.google.cloud.sql.v1beta4.ISqlSslCertsListRequest,
+    optionsOrCallback?:
+      | CallOptions
+      | Callback<
           protos.google.cloud.sql.v1beta4.ISslCertsListResponse,
-          protos.google.cloud.sql.v1beta4.ISqlSslCertsListRequest|null|undefined,
-          {}|null|undefined>):
-      Promise<[
-        protos.google.cloud.sql.v1beta4.ISslCertsListResponse,
-        protos.google.cloud.sql.v1beta4.ISqlSslCertsListRequest|undefined, {}|undefined
-      ]>|void {
+          | protos.google.cloud.sql.v1beta4.ISqlSslCertsListRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >,
+    callback?: Callback<
+      protos.google.cloud.sql.v1beta4.ISslCertsListResponse,
+      | protos.google.cloud.sql.v1beta4.ISqlSslCertsListRequest
+      | null
+      | undefined,
+      {} | null | undefined
+    >,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1beta4.ISslCertsListResponse,
+      protos.google.cloud.sql.v1beta4.ISqlSslCertsListRequest | undefined,
+      {} | undefined,
+    ]
+  > | void {
     request = request || {};
     let options: CallOptions;
     if (typeof optionsOrCallback === 'function' && callback === undefined) {
       callback = optionsOrCallback;
       options = {};
-    }
-    else {
+    } else {
       options = optionsOrCallback as CallOptions;
     }
     options = options || {};
     options.otherArgs = options.otherArgs || {};
     options.otherArgs.headers = options.otherArgs.headers || {};
-    options.otherArgs.headers[
-      'x-goog-request-params'
-    ] = this._gaxModule.routingHeader.fromParams({
-      'project': request.project ?? '',
-      'instance': request.instance ?? '',
+    options.otherArgs.headers['x-goog-request-params'] =
+      this._gaxModule.routingHeader.fromParams({
+        project: request.project ?? '',
+        instance: request.instance ?? '',
+      });
+    this.initialize().catch((err) => {
+      throw err;
     });
-    this.initialize().catch(err => {throw err});
     this._log.info('list request %j', request);
-    const wrappedCallback: Callback<
-        protos.google.cloud.sql.v1beta4.ISslCertsListResponse,
-        protos.google.cloud.sql.v1beta4.ISqlSslCertsListRequest|null|undefined,
-        {}|null|undefined>|undefined = callback
+    const wrappedCallback:
+      | Callback<
+          protos.google.cloud.sql.v1beta4.ISslCertsListResponse,
+          | protos.google.cloud.sql.v1beta4.ISqlSslCertsListRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >
+      | undefined = callback
       ? (error, response, options, rawResponse) => {
           this._log.info('list response %j', response);
           callback!(error, response, options, rawResponse); // We verified callback above.
         }
       : undefined;
-    return this.innerApiCalls.list(request, options, wrappedCallback)
-      ?.then(([response, options, rawResponse]: [
-        protos.google.cloud.sql.v1beta4.ISslCertsListResponse,
-        protos.google.cloud.sql.v1beta4.ISqlSslCertsListRequest|undefined,
-        {}|undefined
-      ]) => {
-        this._log.info('list response %j', response);
-        return [response, options, rawResponse];
-      }).catch((error: any) => {
-        if (error && 'statusDetails' in error && error.statusDetails instanceof Array) {
-          const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type;
-          error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos);
+    return this.innerApiCalls
+      .list(request, options, wrappedCallback)
+      ?.then(
+        ([response, options, rawResponse]: [
+          protos.google.cloud.sql.v1beta4.ISslCertsListResponse,
+          protos.google.cloud.sql.v1beta4.ISqlSslCertsListRequest | undefined,
+          {} | undefined,
+        ]) => {
+          this._log.info('list response %j', response);
+          return [response, options, rawResponse];
+        },
+      )
+      .catch((error: any) => {
+        if (
+          error &&
+          'statusDetails' in error &&
+          error.statusDetails instanceof Array
+        ) {
+          const protos = this._gaxModule.protobuf.Root.fromJSON(
+            jsonProtos,
+          ) as unknown as gax.protobuf.Type;
+          error.statusDetails = decodeAnyProtosInArray(
+            error.statusDetails,
+            protos,
+          );
         }
         throw error;
       });
   }
 
-/**
+  /**
    * Gets information about a location.
    *
    * @param {Object} request
@@ -772,12 +970,11 @@ export class SqlSslCertsServiceClient {
       | null
       | undefined,
       {} | null | undefined
-    >
+    >,
   ): Promise<LocationProtos.google.cloud.location.ILocation> {
     return this.locationsClient.getLocation(request, options, callback);
   }
-
-/**
+  /**
    * Lists information about the supported locations for this service. Returns an iterable object.
    *
    * `for`-`await`-`of` syntax is used with the iterable to get response elements on-demand.
@@ -810,7 +1007,7 @@ export class SqlSslCertsServiceClient {
    */
   listLocationsAsync(
     request: LocationProtos.google.cloud.location.IListLocationsRequest,
-    options?: CallOptions
+    options?: CallOptions,
   ): AsyncIterable<LocationProtos.google.cloud.location.ILocation> {
     return this.locationsClient.listLocationsAsync(request, options);
   }
@@ -826,7 +1023,7 @@ export class SqlSslCertsServiceClient {
    * @param {string} backup
    * @returns {string} Resource name string.
    */
-  backupPath(project:string,backup:string) {
+  backupPath(project: string, backup: string) {
     return this.pathTemplates.backupPathTemplate.render({
       project: project,
       backup: backup,
@@ -861,7 +1058,7 @@ export class SqlSslCertsServiceClient {
    * @param {string} project
    * @returns {string} Resource name string.
    */
-  projectPath(project:string) {
+  projectPath(project: string) {
     return this.pathTemplates.projectPathTemplate.render({
       project: project,
     });
@@ -886,13 +1083,15 @@ export class SqlSslCertsServiceClient {
    */
   close(): Promise<void> {
     if (this.sqlSslCertsServiceStub && !this._terminated) {
-      return this.sqlSslCertsServiceStub.then(stub => {
+      return this.sqlSslCertsServiceStub.then((stub) => {
         this._log.info('ending gRPC channel');
         this._terminated = true;
         stub.close();
-        this.locationsClient.close().catch(err => {throw err});
+        this.locationsClient.close().catch((err) => {
+          throw err;
+        });
       });
     }
     return Promise.resolve();
   }
-}
\ No newline at end of file
+}
diff --git a/packages/google-cloud-sql/src/v1beta4/sql_tiers_service_client.ts b/packages/google-cloud-sql/src/v1beta4/sql_tiers_service_client.ts
index 3491ba057e4e..599f74109a04 100644
--- a/packages/google-cloud-sql/src/v1beta4/sql_tiers_service_client.ts
+++ b/packages/google-cloud-sql/src/v1beta4/sql_tiers_service_client.ts
@@ -18,11 +18,18 @@
 
 /* global window */
 import type * as gax from 'google-gax';
-import type {Callback, CallOptions, Descriptors, ClientOptions, LocationsClient, LocationProtos} from 'google-gax';
+import type {
+  Callback,
+  CallOptions,
+  Descriptors,
+  ClientOptions,
+  LocationsClient,
+  LocationProtos,
+} from 'google-gax';
 
 import * as protos from '../../protos/protos';
 import jsonProtos = require('../../protos/protos.json');
-import {loggingUtils as logging, decodeAnyProtosInArray} from 'google-gax';
+import { loggingUtils as logging, decodeAnyProtosInArray } from 'google-gax';
 
 /**
  * Client JSON configuration object, loaded from
@@ -44,7 +51,7 @@ export class SqlTiersServiceClient {
   private _gaxModule: typeof gax | typeof gax.fallback;
   private _gaxGrpc: gax.GrpcClient | gax.fallback.GrpcClient;
   private _protos: {};
-  private _defaults: {[method: string]: gax.CallSettings};
+  private _defaults: { [method: string]: gax.CallSettings };
   private _universeDomain: string;
   private _servicePath: string;
   private _log = logging.log('sql');
@@ -57,10 +64,10 @@ export class SqlTiersServiceClient {
     batching: {},
   };
   warn: (code: string, message: string, warnType?: string) => void;
-  innerApiCalls: {[name: string]: Function};
+  innerApiCalls: { [name: string]: Function };
   locationsClient: LocationsClient;
-  pathTemplates: {[name: string]: gax.PathTemplate};
-  sqlTiersServiceStub?: Promise<{[name: string]: Function}>;
+  pathTemplates: { [name: string]: gax.PathTemplate };
+  sqlTiersServiceStub?: Promise<{ [name: string]: Function }>;
 
   /**
    * Construct an instance of SqlTiersServiceClient.
@@ -101,21 +108,42 @@ export class SqlTiersServiceClient {
    *     const client = new SqlTiersServiceClient({fallback: true}, gax);
    *     ```
    */
-  constructor(opts?: ClientOptions, gaxInstance?: typeof gax | typeof gax.fallback) {
+  constructor(
+    opts?: ClientOptions,
+    gaxInstance?: typeof gax | typeof gax.fallback,
+  ) {
     // Ensure that options include all the required fields.
     const staticMembers = this.constructor as typeof SqlTiersServiceClient;
-    if (opts?.universe_domain && opts?.universeDomain && opts?.universe_domain !== opts?.universeDomain) {
-      throw new Error('Please set either universe_domain or universeDomain, but not both.');
+    if (
+      opts?.universe_domain &&
+      opts?.universeDomain &&
+      opts?.universe_domain !== opts?.universeDomain
+    ) {
+      throw new Error(
+        'Please set either universe_domain or universeDomain, but not both.',
+      );
     }
-    const universeDomainEnvVar = (typeof process === 'object' && typeof process.env === 'object') ? process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] : undefined;
-    this._universeDomain = opts?.universeDomain ?? opts?.universe_domain ?? universeDomainEnvVar ?? 'googleapis.com';
+    const universeDomainEnvVar =
+      typeof process === 'object' && typeof process.env === 'object'
+        ? process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN']
+        : undefined;
+    this._universeDomain =
+      opts?.universeDomain ??
+      opts?.universe_domain ??
+      universeDomainEnvVar ??
+      'googleapis.com';
     this._servicePath = 'sqladmin.' + this._universeDomain;
-    const servicePath = opts?.servicePath || opts?.apiEndpoint || this._servicePath;
-    this._providedCustomServicePath = !!(opts?.servicePath || opts?.apiEndpoint);
+    const servicePath =
+      opts?.servicePath || opts?.apiEndpoint || this._servicePath;
+    this._providedCustomServicePath = !!(
+      opts?.servicePath || opts?.apiEndpoint
+    );
     const port = opts?.port || staticMembers.port;
     const clientConfig = opts?.clientConfig ?? {};
-    const fallback = opts?.fallback ?? (typeof window !== 'undefined' && typeof window?.fetch === 'function');
-    opts = Object.assign({servicePath, port, clientConfig, fallback}, opts);
+    const fallback =
+      opts?.fallback ??
+      (typeof window !== 'undefined' && typeof window?.fetch === 'function');
+    opts = Object.assign({ servicePath, port, clientConfig, fallback }, opts);
 
     // Request numeric enum values if REST transport is used.
     opts.numericEnums = true;
@@ -140,7 +168,7 @@ export class SqlTiersServiceClient {
     this._opts = opts;
 
     // Save the auth object to the client, for use by other methods.
-    this.auth = (this._gaxGrpc.auth as gax.GoogleAuth);
+    this.auth = this._gaxGrpc.auth as gax.GoogleAuth;
 
     // Set useJWTAccessWithScope on the auth object.
     this.auth.useJWTAccessWithScope = true;
@@ -154,15 +182,11 @@ export class SqlTiersServiceClient {
     }
     this.locationsClient = new this._gaxModule.LocationsClient(
       this._gaxGrpc,
-      opts
+      opts,
     );
-  
 
     // Determine the client header string.
-    const clientHeader = [
-      `gax/${this._gaxModule.version}`,
-      `gapic/${version}`,
-    ];
+    const clientHeader = [`gax/${this._gaxModule.version}`, `gapic/${version}`];
     if (typeof process === 'object' && 'versions' in process) {
       clientHeader.push(`gl-node/${process.versions.node}`);
     } else {
@@ -184,14 +208,17 @@ export class SqlTiersServiceClient {
     // Create useful helper objects for these.
     this.pathTemplates = {
       backupPathTemplate: new this._gaxModule.PathTemplate(
-        'projects/{project}/backups/{backup}'
+        'projects/{project}/backups/{backup}',
       ),
     };
 
     // Put together the default options sent with requests.
     this._defaults = this._gaxGrpc.constructSettings(
-        'google.cloud.sql.v1beta4.SqlTiersService', gapicConfig as gax.ClientConfig,
-        opts.clientConfig || {}, {'x-goog-api-client': clientHeader.join(' ')});
+      'google.cloud.sql.v1beta4.SqlTiersService',
+      gapicConfig as gax.ClientConfig,
+      opts.clientConfig || {},
+      { 'x-goog-api-client': clientHeader.join(' ') },
+    );
 
     // Set up a dictionary of "inner API calls"; the core implementation
     // of calling the API is handled in `google-gax`, with this code
@@ -222,36 +249,40 @@ export class SqlTiersServiceClient {
     // Put together the "service stub" for
     // google.cloud.sql.v1beta4.SqlTiersService.
     this.sqlTiersServiceStub = this._gaxGrpc.createStub(
-        this._opts.fallback ?
-          (this._protos as protobuf.Root).lookupService('google.cloud.sql.v1beta4.SqlTiersService') :
-          // eslint-disable-next-line @typescript-eslint/no-explicit-any
+      this._opts.fallback
+        ? (this._protos as protobuf.Root).lookupService(
+            'google.cloud.sql.v1beta4.SqlTiersService',
+          )
+        : // eslint-disable-next-line @typescript-eslint/no-explicit-any
           (this._protos as any).google.cloud.sql.v1beta4.SqlTiersService,
-        this._opts, this._providedCustomServicePath) as Promise<{[method: string]: Function}>;
+      this._opts,
+      this._providedCustomServicePath,
+    ) as Promise<{ [method: string]: Function }>;
 
     // Iterate over each of the methods that the service provides
     // and create an API call method for each.
-    const sqlTiersServiceStubMethods =
-        ['list'];
+    const sqlTiersServiceStubMethods = ['list'];
     for (const methodName of sqlTiersServiceStubMethods) {
       const callPromise = this.sqlTiersServiceStub.then(
-        stub => (...args: Array<{}>) => {
-          if (this._terminated) {
-            return Promise.reject('The client has already been closed.');
-          }
-          const func = stub[methodName];
-          return func.apply(stub, args);
-        },
-        (err: Error|null|undefined) => () => {
+        (stub) =>
+          (...args: Array<{}>) => {
+            if (this._terminated) {
+              return Promise.reject('The client has already been closed.');
+            }
+            const func = stub[methodName];
+            return func.apply(stub, args);
+          },
+        (err: Error | null | undefined) => () => {
           throw err;
-        });
+        },
+      );
 
-      const descriptor =
-        undefined;
+      const descriptor = undefined;
       const apiCall = this._gaxModule.createApiCall(
         callPromise,
         this._defaults[methodName],
         descriptor,
-        this._opts.fallback
+        this._opts.fallback,
       );
 
       this.innerApiCalls[methodName] = apiCall;
@@ -266,8 +297,14 @@ export class SqlTiersServiceClient {
    * @returns {string} The DNS address for this service.
    */
   static get servicePath() {
-    if (typeof process === 'object' && typeof process.emitWarning === 'function') {
-      process.emitWarning('Static servicePath is deprecated, please use the instance method instead.', 'DeprecationWarning');
+    if (
+      typeof process === 'object' &&
+      typeof process.emitWarning === 'function'
+    ) {
+      process.emitWarning(
+        'Static servicePath is deprecated, please use the instance method instead.',
+        'DeprecationWarning',
+      );
     }
     return 'sqladmin.googleapis.com';
   }
@@ -278,8 +315,14 @@ export class SqlTiersServiceClient {
    * @returns {string} The DNS address for this service.
    */
   static get apiEndpoint() {
-    if (typeof process === 'object' && typeof process.emitWarning === 'function') {
-      process.emitWarning('Static apiEndpoint is deprecated, please use the instance method instead.', 'DeprecationWarning');
+    if (
+      typeof process === 'object' &&
+      typeof process.emitWarning === 'function'
+    ) {
+      process.emitWarning(
+        'Static apiEndpoint is deprecated, please use the instance method instead.',
+        'DeprecationWarning',
+      );
     }
     return 'sqladmin.googleapis.com';
   }
@@ -312,7 +355,7 @@ export class SqlTiersServiceClient {
   static get scopes() {
     return [
       'https://www.googleapis.com/auth/cloud-platform',
-      'https://www.googleapis.com/auth/sqlservice.admin'
+      'https://www.googleapis.com/auth/sqlservice.admin',
     ];
   }
 
@@ -322,8 +365,9 @@ export class SqlTiersServiceClient {
    * Return the project ID used by this class.
    * @returns {Promise} A promise that resolves to string containing the project ID.
    */
-  getProjectId(callback?: Callback<string, undefined, undefined>):
-      Promise<string>|void {
+  getProjectId(
+    callback?: Callback<string, undefined, undefined>,
+  ): Promise<string> | void {
     if (callback) {
       this.auth.getProjectId(callback);
       return;
@@ -334,103 +378,137 @@ export class SqlTiersServiceClient {
   // -------------------
   // -- Service calls --
   // -------------------
-/**
- * Lists all available machine types (tiers) for Cloud SQL, for example,
- * `db-custom-1-3840`. For related information, see [Pricing](/sql/pricing).
- *
- * @param {Object} request
- *   The request object that will be sent.
- * @param {string} request.project
- *   Project ID of the project for which to list tiers.
- * @param {object} [options]
- *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
- * @returns {Promise} - The promise which resolves to an array.
- *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1beta4.TiersListResponse|TiersListResponse}.
- *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
- *   for more details and examples.
- * @example <caption>include:samples/generated/v1beta4/sql_tiers_service.list.js</caption>
- * region_tag:sqladmin_v1beta4_generated_SqlTiersService_List_async
- */
+  /**
+   * Lists all available machine types (tiers) for Cloud SQL, for example,
+   * `db-custom-1-3840`. For related information, see [Pricing](/sql/pricing).
+   *
+   * @param {Object} request
+   *   The request object that will be sent.
+   * @param {string} request.project
+   *   Project ID of the project for which to list tiers.
+   * @param {object} [options]
+   *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+   * @returns {Promise} - The promise which resolves to an array.
+   *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1beta4.TiersListResponse|TiersListResponse}.
+   *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
+   *   for more details and examples.
+   * @example <caption>include:samples/generated/v1beta4/sql_tiers_service.list.js</caption>
+   * region_tag:sqladmin_v1beta4_generated_SqlTiersService_List_async
+   */
   list(
-      request?: protos.google.cloud.sql.v1beta4.ISqlTiersListRequest,
-      options?: CallOptions):
-      Promise<[
-        protos.google.cloud.sql.v1beta4.ITiersListResponse,
-        protos.google.cloud.sql.v1beta4.ISqlTiersListRequest|undefined, {}|undefined
-      ]>;
+    request?: protos.google.cloud.sql.v1beta4.ISqlTiersListRequest,
+    options?: CallOptions,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1beta4.ITiersListResponse,
+      protos.google.cloud.sql.v1beta4.ISqlTiersListRequest | undefined,
+      {} | undefined,
+    ]
+  >;
   list(
-      request: protos.google.cloud.sql.v1beta4.ISqlTiersListRequest,
-      options: CallOptions,
-      callback: Callback<
-          protos.google.cloud.sql.v1beta4.ITiersListResponse,
-          protos.google.cloud.sql.v1beta4.ISqlTiersListRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1beta4.ISqlTiersListRequest,
+    options: CallOptions,
+    callback: Callback<
+      protos.google.cloud.sql.v1beta4.ITiersListResponse,
+      protos.google.cloud.sql.v1beta4.ISqlTiersListRequest | null | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   list(
-      request: protos.google.cloud.sql.v1beta4.ISqlTiersListRequest,
-      callback: Callback<
-          protos.google.cloud.sql.v1beta4.ITiersListResponse,
-          protos.google.cloud.sql.v1beta4.ISqlTiersListRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1beta4.ISqlTiersListRequest,
+    callback: Callback<
+      protos.google.cloud.sql.v1beta4.ITiersListResponse,
+      protos.google.cloud.sql.v1beta4.ISqlTiersListRequest | null | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   list(
-      request?: protos.google.cloud.sql.v1beta4.ISqlTiersListRequest,
-      optionsOrCallback?: CallOptions|Callback<
-          protos.google.cloud.sql.v1beta4.ITiersListResponse,
-          protos.google.cloud.sql.v1beta4.ISqlTiersListRequest|null|undefined,
-          {}|null|undefined>,
-      callback?: Callback<
+    request?: protos.google.cloud.sql.v1beta4.ISqlTiersListRequest,
+    optionsOrCallback?:
+      | CallOptions
+      | Callback<
           protos.google.cloud.sql.v1beta4.ITiersListResponse,
-          protos.google.cloud.sql.v1beta4.ISqlTiersListRequest|null|undefined,
-          {}|null|undefined>):
-      Promise<[
-        protos.google.cloud.sql.v1beta4.ITiersListResponse,
-        protos.google.cloud.sql.v1beta4.ISqlTiersListRequest|undefined, {}|undefined
-      ]>|void {
+          | protos.google.cloud.sql.v1beta4.ISqlTiersListRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >,
+    callback?: Callback<
+      protos.google.cloud.sql.v1beta4.ITiersListResponse,
+      protos.google.cloud.sql.v1beta4.ISqlTiersListRequest | null | undefined,
+      {} | null | undefined
+    >,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1beta4.ITiersListResponse,
+      protos.google.cloud.sql.v1beta4.ISqlTiersListRequest | undefined,
+      {} | undefined,
+    ]
+  > | void {
     request = request || {};
     let options: CallOptions;
     if (typeof optionsOrCallback === 'function' && callback === undefined) {
       callback = optionsOrCallback;
       options = {};
-    }
-    else {
+    } else {
       options = optionsOrCallback as CallOptions;
     }
     options = options || {};
     options.otherArgs = options.otherArgs || {};
     options.otherArgs.headers = options.otherArgs.headers || {};
-    options.otherArgs.headers[
-      'x-goog-request-params'
-    ] = this._gaxModule.routingHeader.fromParams({
-      'project': request.project ?? '',
+    options.otherArgs.headers['x-goog-request-params'] =
+      this._gaxModule.routingHeader.fromParams({
+        project: request.project ?? '',
+      });
+    this.initialize().catch((err) => {
+      throw err;
     });
-    this.initialize().catch(err => {throw err});
     this._log.info('list request %j', request);
-    const wrappedCallback: Callback<
-        protos.google.cloud.sql.v1beta4.ITiersListResponse,
-        protos.google.cloud.sql.v1beta4.ISqlTiersListRequest|null|undefined,
-        {}|null|undefined>|undefined = callback
+    const wrappedCallback:
+      | Callback<
+          protos.google.cloud.sql.v1beta4.ITiersListResponse,
+          | protos.google.cloud.sql.v1beta4.ISqlTiersListRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >
+      | undefined = callback
       ? (error, response, options, rawResponse) => {
           this._log.info('list response %j', response);
           callback!(error, response, options, rawResponse); // We verified callback above.
         }
       : undefined;
-    return this.innerApiCalls.list(request, options, wrappedCallback)
-      ?.then(([response, options, rawResponse]: [
-        protos.google.cloud.sql.v1beta4.ITiersListResponse,
-        protos.google.cloud.sql.v1beta4.ISqlTiersListRequest|undefined,
-        {}|undefined
-      ]) => {
-        this._log.info('list response %j', response);
-        return [response, options, rawResponse];
-      }).catch((error: any) => {
-        if (error && 'statusDetails' in error && error.statusDetails instanceof Array) {
-          const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type;
-          error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos);
+    return this.innerApiCalls
+      .list(request, options, wrappedCallback)
+      ?.then(
+        ([response, options, rawResponse]: [
+          protos.google.cloud.sql.v1beta4.ITiersListResponse,
+          protos.google.cloud.sql.v1beta4.ISqlTiersListRequest | undefined,
+          {} | undefined,
+        ]) => {
+          this._log.info('list response %j', response);
+          return [response, options, rawResponse];
+        },
+      )
+      .catch((error: any) => {
+        if (
+          error &&
+          'statusDetails' in error &&
+          error.statusDetails instanceof Array
+        ) {
+          const protos = this._gaxModule.protobuf.Root.fromJSON(
+            jsonProtos,
+          ) as unknown as gax.protobuf.Type;
+          error.statusDetails = decodeAnyProtosInArray(
+            error.statusDetails,
+            protos,
+          );
         }
         throw error;
       });
   }
 
-/**
+  /**
    * Gets information about a location.
    *
    * @param {Object} request
@@ -465,12 +543,11 @@ export class SqlTiersServiceClient {
       | null
       | undefined,
       {} | null | undefined
-    >
+    >,
   ): Promise<LocationProtos.google.cloud.location.ILocation> {
     return this.locationsClient.getLocation(request, options, callback);
   }
-
-/**
+  /**
    * Lists information about the supported locations for this service. Returns an iterable object.
    *
    * `for`-`await`-`of` syntax is used with the iterable to get response elements on-demand.
@@ -503,7 +580,7 @@ export class SqlTiersServiceClient {
    */
   listLocationsAsync(
     request: LocationProtos.google.cloud.location.IListLocationsRequest,
-    options?: CallOptions
+    options?: CallOptions,
   ): AsyncIterable<LocationProtos.google.cloud.location.ILocation> {
     return this.locationsClient.listLocationsAsync(request, options);
   }
@@ -519,7 +596,7 @@ export class SqlTiersServiceClient {
    * @param {string} backup
    * @returns {string} Resource name string.
    */
-  backupPath(project:string,backup:string) {
+  backupPath(project: string, backup: string) {
     return this.pathTemplates.backupPathTemplate.render({
       project: project,
       backup: backup,
@@ -556,13 +633,15 @@ export class SqlTiersServiceClient {
    */
   close(): Promise<void> {
     if (this.sqlTiersServiceStub && !this._terminated) {
-      return this.sqlTiersServiceStub.then(stub => {
+      return this.sqlTiersServiceStub.then((stub) => {
         this._log.info('ending gRPC channel');
         this._terminated = true;
         stub.close();
-        this.locationsClient.close().catch(err => {throw err});
+        this.locationsClient.close().catch((err) => {
+          throw err;
+        });
       });
     }
     return Promise.resolve();
   }
-}
\ No newline at end of file
+}
diff --git a/packages/google-cloud-sql/src/v1beta4/sql_users_service_client.ts b/packages/google-cloud-sql/src/v1beta4/sql_users_service_client.ts
index 0f2b60605587..2f95c603fe50 100644
--- a/packages/google-cloud-sql/src/v1beta4/sql_users_service_client.ts
+++ b/packages/google-cloud-sql/src/v1beta4/sql_users_service_client.ts
@@ -18,11 +18,18 @@
 
 /* global window */
 import type * as gax from 'google-gax';
-import type {Callback, CallOptions, Descriptors, ClientOptions, LocationsClient, LocationProtos} from 'google-gax';
+import type {
+  Callback,
+  CallOptions,
+  Descriptors,
+  ClientOptions,
+  LocationsClient,
+  LocationProtos,
+} from 'google-gax';
 
 import * as protos from '../../protos/protos';
 import jsonProtos = require('../../protos/protos.json');
-import {loggingUtils as logging, decodeAnyProtosInArray} from 'google-gax';
+import { loggingUtils as logging, decodeAnyProtosInArray } from 'google-gax';
 
 /**
  * Client JSON configuration object, loaded from
@@ -43,7 +50,7 @@ export class SqlUsersServiceClient {
   private _gaxModule: typeof gax | typeof gax.fallback;
   private _gaxGrpc: gax.GrpcClient | gax.fallback.GrpcClient;
   private _protos: {};
-  private _defaults: {[method: string]: gax.CallSettings};
+  private _defaults: { [method: string]: gax.CallSettings };
   private _universeDomain: string;
   private _servicePath: string;
   private _log = logging.log('sql');
@@ -56,10 +63,10 @@ export class SqlUsersServiceClient {
     batching: {},
   };
   warn: (code: string, message: string, warnType?: string) => void;
-  innerApiCalls: {[name: string]: Function};
+  innerApiCalls: { [name: string]: Function };
   locationsClient: LocationsClient;
-  pathTemplates: {[name: string]: gax.PathTemplate};
-  sqlUsersServiceStub?: Promise<{[name: string]: Function}>;
+  pathTemplates: { [name: string]: gax.PathTemplate };
+  sqlUsersServiceStub?: Promise<{ [name: string]: Function }>;
 
   /**
    * Construct an instance of SqlUsersServiceClient.
@@ -100,21 +107,42 @@ export class SqlUsersServiceClient {
    *     const client = new SqlUsersServiceClient({fallback: true}, gax);
    *     ```
    */
-  constructor(opts?: ClientOptions, gaxInstance?: typeof gax | typeof gax.fallback) {
+  constructor(
+    opts?: ClientOptions,
+    gaxInstance?: typeof gax | typeof gax.fallback,
+  ) {
     // Ensure that options include all the required fields.
     const staticMembers = this.constructor as typeof SqlUsersServiceClient;
-    if (opts?.universe_domain && opts?.universeDomain && opts?.universe_domain !== opts?.universeDomain) {
-      throw new Error('Please set either universe_domain or universeDomain, but not both.');
+    if (
+      opts?.universe_domain &&
+      opts?.universeDomain &&
+      opts?.universe_domain !== opts?.universeDomain
+    ) {
+      throw new Error(
+        'Please set either universe_domain or universeDomain, but not both.',
+      );
     }
-    const universeDomainEnvVar = (typeof process === 'object' && typeof process.env === 'object') ? process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] : undefined;
-    this._universeDomain = opts?.universeDomain ?? opts?.universe_domain ?? universeDomainEnvVar ?? 'googleapis.com';
+    const universeDomainEnvVar =
+      typeof process === 'object' && typeof process.env === 'object'
+        ? process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN']
+        : undefined;
+    this._universeDomain =
+      opts?.universeDomain ??
+      opts?.universe_domain ??
+      universeDomainEnvVar ??
+      'googleapis.com';
     this._servicePath = 'sqladmin.' + this._universeDomain;
-    const servicePath = opts?.servicePath || opts?.apiEndpoint || this._servicePath;
-    this._providedCustomServicePath = !!(opts?.servicePath || opts?.apiEndpoint);
+    const servicePath =
+      opts?.servicePath || opts?.apiEndpoint || this._servicePath;
+    this._providedCustomServicePath = !!(
+      opts?.servicePath || opts?.apiEndpoint
+    );
     const port = opts?.port || staticMembers.port;
     const clientConfig = opts?.clientConfig ?? {};
-    const fallback = opts?.fallback ?? (typeof window !== 'undefined' && typeof window?.fetch === 'function');
-    opts = Object.assign({servicePath, port, clientConfig, fallback}, opts);
+    const fallback =
+      opts?.fallback ??
+      (typeof window !== 'undefined' && typeof window?.fetch === 'function');
+    opts = Object.assign({ servicePath, port, clientConfig, fallback }, opts);
 
     // Request numeric enum values if REST transport is used.
     opts.numericEnums = true;
@@ -139,7 +167,7 @@ export class SqlUsersServiceClient {
     this._opts = opts;
 
     // Save the auth object to the client, for use by other methods.
-    this.auth = (this._gaxGrpc.auth as gax.GoogleAuth);
+    this.auth = this._gaxGrpc.auth as gax.GoogleAuth;
 
     // Set useJWTAccessWithScope on the auth object.
     this.auth.useJWTAccessWithScope = true;
@@ -153,15 +181,11 @@ export class SqlUsersServiceClient {
     }
     this.locationsClient = new this._gaxModule.LocationsClient(
       this._gaxGrpc,
-      opts
+      opts,
     );
-  
 
     // Determine the client header string.
-    const clientHeader = [
-      `gax/${this._gaxModule.version}`,
-      `gapic/${version}`,
-    ];
+    const clientHeader = [`gax/${this._gaxModule.version}`, `gapic/${version}`];
     if (typeof process === 'object' && 'versions' in process) {
       clientHeader.push(`gl-node/${process.versions.node}`);
     } else {
@@ -183,14 +207,17 @@ export class SqlUsersServiceClient {
     // Create useful helper objects for these.
     this.pathTemplates = {
       backupPathTemplate: new this._gaxModule.PathTemplate(
-        'projects/{project}/backups/{backup}'
+        'projects/{project}/backups/{backup}',
       ),
     };
 
     // Put together the default options sent with requests.
     this._defaults = this._gaxGrpc.constructSettings(
-        'google.cloud.sql.v1beta4.SqlUsersService', gapicConfig as gax.ClientConfig,
-        opts.clientConfig || {}, {'x-goog-api-client': clientHeader.join(' ')});
+      'google.cloud.sql.v1beta4.SqlUsersService',
+      gapicConfig as gax.ClientConfig,
+      opts.clientConfig || {},
+      { 'x-goog-api-client': clientHeader.join(' ') },
+    );
 
     // Set up a dictionary of "inner API calls"; the core implementation
     // of calling the API is handled in `google-gax`, with this code
@@ -221,36 +248,46 @@ export class SqlUsersServiceClient {
     // Put together the "service stub" for
     // google.cloud.sql.v1beta4.SqlUsersService.
     this.sqlUsersServiceStub = this._gaxGrpc.createStub(
-        this._opts.fallback ?
-          (this._protos as protobuf.Root).lookupService('google.cloud.sql.v1beta4.SqlUsersService') :
-          // eslint-disable-next-line @typescript-eslint/no-explicit-any
+      this._opts.fallback
+        ? (this._protos as protobuf.Root).lookupService(
+            'google.cloud.sql.v1beta4.SqlUsersService',
+          )
+        : // eslint-disable-next-line @typescript-eslint/no-explicit-any
           (this._protos as any).google.cloud.sql.v1beta4.SqlUsersService,
-        this._opts, this._providedCustomServicePath) as Promise<{[method: string]: Function}>;
+      this._opts,
+      this._providedCustomServicePath,
+    ) as Promise<{ [method: string]: Function }>;
 
     // Iterate over each of the methods that the service provides
     // and create an API call method for each.
-    const sqlUsersServiceStubMethods =
-        ['delete', 'get', 'insert', 'list', 'update'];
+    const sqlUsersServiceStubMethods = [
+      'delete',
+      'get',
+      'insert',
+      'list',
+      'update',
+    ];
     for (const methodName of sqlUsersServiceStubMethods) {
       const callPromise = this.sqlUsersServiceStub.then(
-        stub => (...args: Array<{}>) => {
-          if (this._terminated) {
-            return Promise.reject('The client has already been closed.');
-          }
-          const func = stub[methodName];
-          return func.apply(stub, args);
-        },
-        (err: Error|null|undefined) => () => {
+        (stub) =>
+          (...args: Array<{}>) => {
+            if (this._terminated) {
+              return Promise.reject('The client has already been closed.');
+            }
+            const func = stub[methodName];
+            return func.apply(stub, args);
+          },
+        (err: Error | null | undefined) => () => {
           throw err;
-        });
+        },
+      );
 
-      const descriptor =
-        undefined;
+      const descriptor = undefined;
       const apiCall = this._gaxModule.createApiCall(
         callPromise,
         this._defaults[methodName],
         descriptor,
-        this._opts.fallback
+        this._opts.fallback,
       );
 
       this.innerApiCalls[methodName] = apiCall;
@@ -265,8 +302,14 @@ export class SqlUsersServiceClient {
    * @returns {string} The DNS address for this service.
    */
   static get servicePath() {
-    if (typeof process === 'object' && typeof process.emitWarning === 'function') {
-      process.emitWarning('Static servicePath is deprecated, please use the instance method instead.', 'DeprecationWarning');
+    if (
+      typeof process === 'object' &&
+      typeof process.emitWarning === 'function'
+    ) {
+      process.emitWarning(
+        'Static servicePath is deprecated, please use the instance method instead.',
+        'DeprecationWarning',
+      );
     }
     return 'sqladmin.googleapis.com';
   }
@@ -277,8 +320,14 @@ export class SqlUsersServiceClient {
    * @returns {string} The DNS address for this service.
    */
   static get apiEndpoint() {
-    if (typeof process === 'object' && typeof process.emitWarning === 'function') {
-      process.emitWarning('Static apiEndpoint is deprecated, please use the instance method instead.', 'DeprecationWarning');
+    if (
+      typeof process === 'object' &&
+      typeof process.emitWarning === 'function'
+    ) {
+      process.emitWarning(
+        'Static apiEndpoint is deprecated, please use the instance method instead.',
+        'DeprecationWarning',
+      );
     }
     return 'sqladmin.googleapis.com';
   }
@@ -311,7 +360,7 @@ export class SqlUsersServiceClient {
   static get scopes() {
     return [
       'https://www.googleapis.com/auth/cloud-platform',
-      'https://www.googleapis.com/auth/sqlservice.admin'
+      'https://www.googleapis.com/auth/sqlservice.admin',
     ];
   }
 
@@ -321,8 +370,9 @@ export class SqlUsersServiceClient {
    * Return the project ID used by this class.
    * @returns {Promise} A promise that resolves to string containing the project ID.
    */
-  getProjectId(callback?: Callback<string, undefined, undefined>):
-      Promise<string>|void {
+  getProjectId(
+    callback?: Callback<string, undefined, undefined>,
+  ): Promise<string> | void {
     if (callback) {
       this.auth.getProjectId(callback);
       return;
@@ -333,515 +383,685 @@ export class SqlUsersServiceClient {
   // -------------------
   // -- Service calls --
   // -------------------
-/**
- * Deletes a user from a Cloud SQL instance.
- *
- * @param {Object} request
- *   The request object that will be sent.
- * @param {string} request.host
- *   Host of the user in the instance.
- * @param {string} request.instance
- *   Database instance ID. This does not include the project ID.
- * @param {string} request.name
- *   Name of the user in the instance.
- * @param {string} request.project
- *   Project ID of the project that contains the instance.
- * @param {object} [options]
- *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
- * @returns {Promise} - The promise which resolves to an array.
- *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1beta4.Operation|Operation}.
- *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
- *   for more details and examples.
- * @example <caption>include:samples/generated/v1beta4/sql_users_service.delete.js</caption>
- * region_tag:sqladmin_v1beta4_generated_SqlUsersService_Delete_async
- */
+  /**
+   * Deletes a user from a Cloud SQL instance.
+   *
+   * @param {Object} request
+   *   The request object that will be sent.
+   * @param {string} request.host
+   *   Host of the user in the instance.
+   * @param {string} request.instance
+   *   Database instance ID. This does not include the project ID.
+   * @param {string} request.name
+   *   Name of the user in the instance.
+   * @param {string} request.project
+   *   Project ID of the project that contains the instance.
+   * @param {object} [options]
+   *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+   * @returns {Promise} - The promise which resolves to an array.
+   *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1beta4.Operation|Operation}.
+   *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
+   *   for more details and examples.
+   * @example <caption>include:samples/generated/v1beta4/sql_users_service.delete.js</caption>
+   * region_tag:sqladmin_v1beta4_generated_SqlUsersService_Delete_async
+   */
   delete(
-      request?: protos.google.cloud.sql.v1beta4.ISqlUsersDeleteRequest,
-      options?: CallOptions):
-      Promise<[
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlUsersDeleteRequest|undefined, {}|undefined
-      ]>;
+    request?: protos.google.cloud.sql.v1beta4.ISqlUsersDeleteRequest,
+    options?: CallOptions,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1beta4.IOperation,
+      protos.google.cloud.sql.v1beta4.ISqlUsersDeleteRequest | undefined,
+      {} | undefined,
+    ]
+  >;
   delete(
-      request: protos.google.cloud.sql.v1beta4.ISqlUsersDeleteRequest,
-      options: CallOptions,
-      callback: Callback<
-          protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlUsersDeleteRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1beta4.ISqlUsersDeleteRequest,
+    options: CallOptions,
+    callback: Callback<
+      protos.google.cloud.sql.v1beta4.IOperation,
+      protos.google.cloud.sql.v1beta4.ISqlUsersDeleteRequest | null | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   delete(
-      request: protos.google.cloud.sql.v1beta4.ISqlUsersDeleteRequest,
-      callback: Callback<
-          protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlUsersDeleteRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1beta4.ISqlUsersDeleteRequest,
+    callback: Callback<
+      protos.google.cloud.sql.v1beta4.IOperation,
+      protos.google.cloud.sql.v1beta4.ISqlUsersDeleteRequest | null | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   delete(
-      request?: protos.google.cloud.sql.v1beta4.ISqlUsersDeleteRequest,
-      optionsOrCallback?: CallOptions|Callback<
-          protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlUsersDeleteRequest|null|undefined,
-          {}|null|undefined>,
-      callback?: Callback<
+    request?: protos.google.cloud.sql.v1beta4.ISqlUsersDeleteRequest,
+    optionsOrCallback?:
+      | CallOptions
+      | Callback<
           protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlUsersDeleteRequest|null|undefined,
-          {}|null|undefined>):
-      Promise<[
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlUsersDeleteRequest|undefined, {}|undefined
-      ]>|void {
+          | protos.google.cloud.sql.v1beta4.ISqlUsersDeleteRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >,
+    callback?: Callback<
+      protos.google.cloud.sql.v1beta4.IOperation,
+      protos.google.cloud.sql.v1beta4.ISqlUsersDeleteRequest | null | undefined,
+      {} | null | undefined
+    >,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1beta4.IOperation,
+      protos.google.cloud.sql.v1beta4.ISqlUsersDeleteRequest | undefined,
+      {} | undefined,
+    ]
+  > | void {
     request = request || {};
     let options: CallOptions;
     if (typeof optionsOrCallback === 'function' && callback === undefined) {
       callback = optionsOrCallback;
       options = {};
-    }
-    else {
+    } else {
       options = optionsOrCallback as CallOptions;
     }
     options = options || {};
     options.otherArgs = options.otherArgs || {};
     options.otherArgs.headers = options.otherArgs.headers || {};
-    options.otherArgs.headers[
-      'x-goog-request-params'
-    ] = this._gaxModule.routingHeader.fromParams({
-      'project': request.project ?? '',
-      'instance': request.instance ?? '',
+    options.otherArgs.headers['x-goog-request-params'] =
+      this._gaxModule.routingHeader.fromParams({
+        project: request.project ?? '',
+        instance: request.instance ?? '',
+      });
+    this.initialize().catch((err) => {
+      throw err;
     });
-    this.initialize().catch(err => {throw err});
     this._log.info('delete request %j', request);
-    const wrappedCallback: Callback<
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlUsersDeleteRequest|null|undefined,
-        {}|null|undefined>|undefined = callback
+    const wrappedCallback:
+      | Callback<
+          protos.google.cloud.sql.v1beta4.IOperation,
+          | protos.google.cloud.sql.v1beta4.ISqlUsersDeleteRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >
+      | undefined = callback
       ? (error, response, options, rawResponse) => {
           this._log.info('delete response %j', response);
           callback!(error, response, options, rawResponse); // We verified callback above.
         }
       : undefined;
-    return this.innerApiCalls.delete(request, options, wrappedCallback)
-      ?.then(([response, options, rawResponse]: [
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlUsersDeleteRequest|undefined,
-        {}|undefined
-      ]) => {
-        this._log.info('delete response %j', response);
-        return [response, options, rawResponse];
-      }).catch((error: any) => {
-        if (error && 'statusDetails' in error && error.statusDetails instanceof Array) {
-          const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type;
-          error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos);
+    return this.innerApiCalls
+      .delete(request, options, wrappedCallback)
+      ?.then(
+        ([response, options, rawResponse]: [
+          protos.google.cloud.sql.v1beta4.IOperation,
+          protos.google.cloud.sql.v1beta4.ISqlUsersDeleteRequest | undefined,
+          {} | undefined,
+        ]) => {
+          this._log.info('delete response %j', response);
+          return [response, options, rawResponse];
+        },
+      )
+      .catch((error: any) => {
+        if (
+          error &&
+          'statusDetails' in error &&
+          error.statusDetails instanceof Array
+        ) {
+          const protos = this._gaxModule.protobuf.Root.fromJSON(
+            jsonProtos,
+          ) as unknown as gax.protobuf.Type;
+          error.statusDetails = decodeAnyProtosInArray(
+            error.statusDetails,
+            protos,
+          );
         }
         throw error;
       });
   }
-/**
- * Retrieves a resource containing information about a user.
- *
- * @param {Object} request
- *   The request object that will be sent.
- * @param {string} request.instance
- *   Database instance ID. This does not include the project ID.
- * @param {string} request.name
- *   User of the instance.
- * @param {string} request.project
- *   Project ID of the project that contains the instance.
- * @param {string} request.host
- *   Host of a user of the instance.
- * @param {object} [options]
- *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
- * @returns {Promise} - The promise which resolves to an array.
- *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1beta4.User|User}.
- *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
- *   for more details and examples.
- * @example <caption>include:samples/generated/v1beta4/sql_users_service.get.js</caption>
- * region_tag:sqladmin_v1beta4_generated_SqlUsersService_Get_async
- */
+  /**
+   * Retrieves a resource containing information about a user.
+   *
+   * @param {Object} request
+   *   The request object that will be sent.
+   * @param {string} request.instance
+   *   Database instance ID. This does not include the project ID.
+   * @param {string} request.name
+   *   User of the instance.
+   * @param {string} request.project
+   *   Project ID of the project that contains the instance.
+   * @param {string} request.host
+   *   Host of a user of the instance.
+   * @param {object} [options]
+   *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+   * @returns {Promise} - The promise which resolves to an array.
+   *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1beta4.User|User}.
+   *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
+   *   for more details and examples.
+   * @example <caption>include:samples/generated/v1beta4/sql_users_service.get.js</caption>
+   * region_tag:sqladmin_v1beta4_generated_SqlUsersService_Get_async
+   */
   get(
-      request?: protos.google.cloud.sql.v1beta4.ISqlUsersGetRequest,
-      options?: CallOptions):
-      Promise<[
-        protos.google.cloud.sql.v1beta4.IUser,
-        protos.google.cloud.sql.v1beta4.ISqlUsersGetRequest|undefined, {}|undefined
-      ]>;
+    request?: protos.google.cloud.sql.v1beta4.ISqlUsersGetRequest,
+    options?: CallOptions,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1beta4.IUser,
+      protos.google.cloud.sql.v1beta4.ISqlUsersGetRequest | undefined,
+      {} | undefined,
+    ]
+  >;
   get(
-      request: protos.google.cloud.sql.v1beta4.ISqlUsersGetRequest,
-      options: CallOptions,
-      callback: Callback<
-          protos.google.cloud.sql.v1beta4.IUser,
-          protos.google.cloud.sql.v1beta4.ISqlUsersGetRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1beta4.ISqlUsersGetRequest,
+    options: CallOptions,
+    callback: Callback<
+      protos.google.cloud.sql.v1beta4.IUser,
+      protos.google.cloud.sql.v1beta4.ISqlUsersGetRequest | null | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   get(
-      request: protos.google.cloud.sql.v1beta4.ISqlUsersGetRequest,
-      callback: Callback<
-          protos.google.cloud.sql.v1beta4.IUser,
-          protos.google.cloud.sql.v1beta4.ISqlUsersGetRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1beta4.ISqlUsersGetRequest,
+    callback: Callback<
+      protos.google.cloud.sql.v1beta4.IUser,
+      protos.google.cloud.sql.v1beta4.ISqlUsersGetRequest | null | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   get(
-      request?: protos.google.cloud.sql.v1beta4.ISqlUsersGetRequest,
-      optionsOrCallback?: CallOptions|Callback<
-          protos.google.cloud.sql.v1beta4.IUser,
-          protos.google.cloud.sql.v1beta4.ISqlUsersGetRequest|null|undefined,
-          {}|null|undefined>,
-      callback?: Callback<
+    request?: protos.google.cloud.sql.v1beta4.ISqlUsersGetRequest,
+    optionsOrCallback?:
+      | CallOptions
+      | Callback<
           protos.google.cloud.sql.v1beta4.IUser,
-          protos.google.cloud.sql.v1beta4.ISqlUsersGetRequest|null|undefined,
-          {}|null|undefined>):
-      Promise<[
-        protos.google.cloud.sql.v1beta4.IUser,
-        protos.google.cloud.sql.v1beta4.ISqlUsersGetRequest|undefined, {}|undefined
-      ]>|void {
+          | protos.google.cloud.sql.v1beta4.ISqlUsersGetRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >,
+    callback?: Callback<
+      protos.google.cloud.sql.v1beta4.IUser,
+      protos.google.cloud.sql.v1beta4.ISqlUsersGetRequest | null | undefined,
+      {} | null | undefined
+    >,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1beta4.IUser,
+      protos.google.cloud.sql.v1beta4.ISqlUsersGetRequest | undefined,
+      {} | undefined,
+    ]
+  > | void {
     request = request || {};
     let options: CallOptions;
     if (typeof optionsOrCallback === 'function' && callback === undefined) {
       callback = optionsOrCallback;
       options = {};
-    }
-    else {
+    } else {
       options = optionsOrCallback as CallOptions;
     }
     options = options || {};
     options.otherArgs = options.otherArgs || {};
     options.otherArgs.headers = options.otherArgs.headers || {};
-    options.otherArgs.headers[
-      'x-goog-request-params'
-    ] = this._gaxModule.routingHeader.fromParams({
-      'project': request.project ?? '',
-      'instance': request.instance ?? '',
-      'name': request.name ?? '',
+    options.otherArgs.headers['x-goog-request-params'] =
+      this._gaxModule.routingHeader.fromParams({
+        project: request.project ?? '',
+        instance: request.instance ?? '',
+        name: request.name ?? '',
+      });
+    this.initialize().catch((err) => {
+      throw err;
     });
-    this.initialize().catch(err => {throw err});
     this._log.info('get request %j', request);
-    const wrappedCallback: Callback<
-        protos.google.cloud.sql.v1beta4.IUser,
-        protos.google.cloud.sql.v1beta4.ISqlUsersGetRequest|null|undefined,
-        {}|null|undefined>|undefined = callback
+    const wrappedCallback:
+      | Callback<
+          protos.google.cloud.sql.v1beta4.IUser,
+          | protos.google.cloud.sql.v1beta4.ISqlUsersGetRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >
+      | undefined = callback
       ? (error, response, options, rawResponse) => {
           this._log.info('get response %j', response);
           callback!(error, response, options, rawResponse); // We verified callback above.
         }
       : undefined;
-    return this.innerApiCalls.get(request, options, wrappedCallback)
-      ?.then(([response, options, rawResponse]: [
-        protos.google.cloud.sql.v1beta4.IUser,
-        protos.google.cloud.sql.v1beta4.ISqlUsersGetRequest|undefined,
-        {}|undefined
-      ]) => {
-        this._log.info('get response %j', response);
-        return [response, options, rawResponse];
-      }).catch((error: any) => {
-        if (error && 'statusDetails' in error && error.statusDetails instanceof Array) {
-          const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type;
-          error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos);
+    return this.innerApiCalls
+      .get(request, options, wrappedCallback)
+      ?.then(
+        ([response, options, rawResponse]: [
+          protos.google.cloud.sql.v1beta4.IUser,
+          protos.google.cloud.sql.v1beta4.ISqlUsersGetRequest | undefined,
+          {} | undefined,
+        ]) => {
+          this._log.info('get response %j', response);
+          return [response, options, rawResponse];
+        },
+      )
+      .catch((error: any) => {
+        if (
+          error &&
+          'statusDetails' in error &&
+          error.statusDetails instanceof Array
+        ) {
+          const protos = this._gaxModule.protobuf.Root.fromJSON(
+            jsonProtos,
+          ) as unknown as gax.protobuf.Type;
+          error.statusDetails = decodeAnyProtosInArray(
+            error.statusDetails,
+            protos,
+          );
         }
         throw error;
       });
   }
-/**
- * Creates a new user in a Cloud SQL instance.
- *
- * @param {Object} request
- *   The request object that will be sent.
- * @param {string} request.instance
- *   Database instance ID. This does not include the project ID.
- * @param {string} request.project
- *   Project ID of the project that contains the instance.
- * @param {google.cloud.sql.v1beta4.User} request.body
- * @param {object} [options]
- *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
- * @returns {Promise} - The promise which resolves to an array.
- *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1beta4.Operation|Operation}.
- *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
- *   for more details and examples.
- * @example <caption>include:samples/generated/v1beta4/sql_users_service.insert.js</caption>
- * region_tag:sqladmin_v1beta4_generated_SqlUsersService_Insert_async
- */
+  /**
+   * Creates a new user in a Cloud SQL instance.
+   *
+   * @param {Object} request
+   *   The request object that will be sent.
+   * @param {string} request.instance
+   *   Database instance ID. This does not include the project ID.
+   * @param {string} request.project
+   *   Project ID of the project that contains the instance.
+   * @param {google.cloud.sql.v1beta4.User} request.body
+   * @param {object} [options]
+   *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+   * @returns {Promise} - The promise which resolves to an array.
+   *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1beta4.Operation|Operation}.
+   *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
+   *   for more details and examples.
+   * @example <caption>include:samples/generated/v1beta4/sql_users_service.insert.js</caption>
+   * region_tag:sqladmin_v1beta4_generated_SqlUsersService_Insert_async
+   */
   insert(
-      request?: protos.google.cloud.sql.v1beta4.ISqlUsersInsertRequest,
-      options?: CallOptions):
-      Promise<[
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlUsersInsertRequest|undefined, {}|undefined
-      ]>;
+    request?: protos.google.cloud.sql.v1beta4.ISqlUsersInsertRequest,
+    options?: CallOptions,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1beta4.IOperation,
+      protos.google.cloud.sql.v1beta4.ISqlUsersInsertRequest | undefined,
+      {} | undefined,
+    ]
+  >;
   insert(
-      request: protos.google.cloud.sql.v1beta4.ISqlUsersInsertRequest,
-      options: CallOptions,
-      callback: Callback<
-          protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlUsersInsertRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1beta4.ISqlUsersInsertRequest,
+    options: CallOptions,
+    callback: Callback<
+      protos.google.cloud.sql.v1beta4.IOperation,
+      protos.google.cloud.sql.v1beta4.ISqlUsersInsertRequest | null | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   insert(
-      request: protos.google.cloud.sql.v1beta4.ISqlUsersInsertRequest,
-      callback: Callback<
-          protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlUsersInsertRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1beta4.ISqlUsersInsertRequest,
+    callback: Callback<
+      protos.google.cloud.sql.v1beta4.IOperation,
+      protos.google.cloud.sql.v1beta4.ISqlUsersInsertRequest | null | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   insert(
-      request?: protos.google.cloud.sql.v1beta4.ISqlUsersInsertRequest,
-      optionsOrCallback?: CallOptions|Callback<
-          protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlUsersInsertRequest|null|undefined,
-          {}|null|undefined>,
-      callback?: Callback<
+    request?: protos.google.cloud.sql.v1beta4.ISqlUsersInsertRequest,
+    optionsOrCallback?:
+      | CallOptions
+      | Callback<
           protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlUsersInsertRequest|null|undefined,
-          {}|null|undefined>):
-      Promise<[
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlUsersInsertRequest|undefined, {}|undefined
-      ]>|void {
+          | protos.google.cloud.sql.v1beta4.ISqlUsersInsertRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >,
+    callback?: Callback<
+      protos.google.cloud.sql.v1beta4.IOperation,
+      protos.google.cloud.sql.v1beta4.ISqlUsersInsertRequest | null | undefined,
+      {} | null | undefined
+    >,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1beta4.IOperation,
+      protos.google.cloud.sql.v1beta4.ISqlUsersInsertRequest | undefined,
+      {} | undefined,
+    ]
+  > | void {
     request = request || {};
     let options: CallOptions;
     if (typeof optionsOrCallback === 'function' && callback === undefined) {
       callback = optionsOrCallback;
       options = {};
-    }
-    else {
+    } else {
       options = optionsOrCallback as CallOptions;
     }
     options = options || {};
     options.otherArgs = options.otherArgs || {};
     options.otherArgs.headers = options.otherArgs.headers || {};
-    options.otherArgs.headers[
-      'x-goog-request-params'
-    ] = this._gaxModule.routingHeader.fromParams({
-      'project': request.project ?? '',
-      'instance': request.instance ?? '',
+    options.otherArgs.headers['x-goog-request-params'] =
+      this._gaxModule.routingHeader.fromParams({
+        project: request.project ?? '',
+        instance: request.instance ?? '',
+      });
+    this.initialize().catch((err) => {
+      throw err;
     });
-    this.initialize().catch(err => {throw err});
     this._log.info('insert request %j', request);
-    const wrappedCallback: Callback<
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlUsersInsertRequest|null|undefined,
-        {}|null|undefined>|undefined = callback
+    const wrappedCallback:
+      | Callback<
+          protos.google.cloud.sql.v1beta4.IOperation,
+          | protos.google.cloud.sql.v1beta4.ISqlUsersInsertRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >
+      | undefined = callback
       ? (error, response, options, rawResponse) => {
           this._log.info('insert response %j', response);
           callback!(error, response, options, rawResponse); // We verified callback above.
         }
       : undefined;
-    return this.innerApiCalls.insert(request, options, wrappedCallback)
-      ?.then(([response, options, rawResponse]: [
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlUsersInsertRequest|undefined,
-        {}|undefined
-      ]) => {
-        this._log.info('insert response %j', response);
-        return [response, options, rawResponse];
-      }).catch((error: any) => {
-        if (error && 'statusDetails' in error && error.statusDetails instanceof Array) {
-          const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type;
-          error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos);
+    return this.innerApiCalls
+      .insert(request, options, wrappedCallback)
+      ?.then(
+        ([response, options, rawResponse]: [
+          protos.google.cloud.sql.v1beta4.IOperation,
+          protos.google.cloud.sql.v1beta4.ISqlUsersInsertRequest | undefined,
+          {} | undefined,
+        ]) => {
+          this._log.info('insert response %j', response);
+          return [response, options, rawResponse];
+        },
+      )
+      .catch((error: any) => {
+        if (
+          error &&
+          'statusDetails' in error &&
+          error.statusDetails instanceof Array
+        ) {
+          const protos = this._gaxModule.protobuf.Root.fromJSON(
+            jsonProtos,
+          ) as unknown as gax.protobuf.Type;
+          error.statusDetails = decodeAnyProtosInArray(
+            error.statusDetails,
+            protos,
+          );
         }
         throw error;
       });
   }
-/**
- * Lists users in the specified Cloud SQL instance.
- *
- * @param {Object} request
- *   The request object that will be sent.
- * @param {string} request.instance
- *   Database instance ID. This does not include the project ID.
- * @param {string} request.project
- *   Project ID of the project that contains the instance.
- * @param {object} [options]
- *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
- * @returns {Promise} - The promise which resolves to an array.
- *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1beta4.UsersListResponse|UsersListResponse}.
- *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
- *   for more details and examples.
- * @example <caption>include:samples/generated/v1beta4/sql_users_service.list.js</caption>
- * region_tag:sqladmin_v1beta4_generated_SqlUsersService_List_async
- */
+  /**
+   * Lists users in the specified Cloud SQL instance.
+   *
+   * @param {Object} request
+   *   The request object that will be sent.
+   * @param {string} request.instance
+   *   Database instance ID. This does not include the project ID.
+   * @param {string} request.project
+   *   Project ID of the project that contains the instance.
+   * @param {object} [options]
+   *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+   * @returns {Promise} - The promise which resolves to an array.
+   *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1beta4.UsersListResponse|UsersListResponse}.
+   *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
+   *   for more details and examples.
+   * @example <caption>include:samples/generated/v1beta4/sql_users_service.list.js</caption>
+   * region_tag:sqladmin_v1beta4_generated_SqlUsersService_List_async
+   */
   list(
-      request?: protos.google.cloud.sql.v1beta4.ISqlUsersListRequest,
-      options?: CallOptions):
-      Promise<[
-        protos.google.cloud.sql.v1beta4.IUsersListResponse,
-        protos.google.cloud.sql.v1beta4.ISqlUsersListRequest|undefined, {}|undefined
-      ]>;
+    request?: protos.google.cloud.sql.v1beta4.ISqlUsersListRequest,
+    options?: CallOptions,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1beta4.IUsersListResponse,
+      protos.google.cloud.sql.v1beta4.ISqlUsersListRequest | undefined,
+      {} | undefined,
+    ]
+  >;
   list(
-      request: protos.google.cloud.sql.v1beta4.ISqlUsersListRequest,
-      options: CallOptions,
-      callback: Callback<
-          protos.google.cloud.sql.v1beta4.IUsersListResponse,
-          protos.google.cloud.sql.v1beta4.ISqlUsersListRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1beta4.ISqlUsersListRequest,
+    options: CallOptions,
+    callback: Callback<
+      protos.google.cloud.sql.v1beta4.IUsersListResponse,
+      protos.google.cloud.sql.v1beta4.ISqlUsersListRequest | null | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   list(
-      request: protos.google.cloud.sql.v1beta4.ISqlUsersListRequest,
-      callback: Callback<
-          protos.google.cloud.sql.v1beta4.IUsersListResponse,
-          protos.google.cloud.sql.v1beta4.ISqlUsersListRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1beta4.ISqlUsersListRequest,
+    callback: Callback<
+      protos.google.cloud.sql.v1beta4.IUsersListResponse,
+      protos.google.cloud.sql.v1beta4.ISqlUsersListRequest | null | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   list(
-      request?: protos.google.cloud.sql.v1beta4.ISqlUsersListRequest,
-      optionsOrCallback?: CallOptions|Callback<
-          protos.google.cloud.sql.v1beta4.IUsersListResponse,
-          protos.google.cloud.sql.v1beta4.ISqlUsersListRequest|null|undefined,
-          {}|null|undefined>,
-      callback?: Callback<
+    request?: protos.google.cloud.sql.v1beta4.ISqlUsersListRequest,
+    optionsOrCallback?:
+      | CallOptions
+      | Callback<
           protos.google.cloud.sql.v1beta4.IUsersListResponse,
-          protos.google.cloud.sql.v1beta4.ISqlUsersListRequest|null|undefined,
-          {}|null|undefined>):
-      Promise<[
-        protos.google.cloud.sql.v1beta4.IUsersListResponse,
-        protos.google.cloud.sql.v1beta4.ISqlUsersListRequest|undefined, {}|undefined
-      ]>|void {
+          | protos.google.cloud.sql.v1beta4.ISqlUsersListRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >,
+    callback?: Callback<
+      protos.google.cloud.sql.v1beta4.IUsersListResponse,
+      protos.google.cloud.sql.v1beta4.ISqlUsersListRequest | null | undefined,
+      {} | null | undefined
+    >,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1beta4.IUsersListResponse,
+      protos.google.cloud.sql.v1beta4.ISqlUsersListRequest | undefined,
+      {} | undefined,
+    ]
+  > | void {
     request = request || {};
     let options: CallOptions;
     if (typeof optionsOrCallback === 'function' && callback === undefined) {
       callback = optionsOrCallback;
       options = {};
-    }
-    else {
+    } else {
       options = optionsOrCallback as CallOptions;
     }
     options = options || {};
     options.otherArgs = options.otherArgs || {};
     options.otherArgs.headers = options.otherArgs.headers || {};
-    options.otherArgs.headers[
-      'x-goog-request-params'
-    ] = this._gaxModule.routingHeader.fromParams({
-      'project': request.project ?? '',
-      'instance': request.instance ?? '',
+    options.otherArgs.headers['x-goog-request-params'] =
+      this._gaxModule.routingHeader.fromParams({
+        project: request.project ?? '',
+        instance: request.instance ?? '',
+      });
+    this.initialize().catch((err) => {
+      throw err;
     });
-    this.initialize().catch(err => {throw err});
     this._log.info('list request %j', request);
-    const wrappedCallback: Callback<
-        protos.google.cloud.sql.v1beta4.IUsersListResponse,
-        protos.google.cloud.sql.v1beta4.ISqlUsersListRequest|null|undefined,
-        {}|null|undefined>|undefined = callback
+    const wrappedCallback:
+      | Callback<
+          protos.google.cloud.sql.v1beta4.IUsersListResponse,
+          | protos.google.cloud.sql.v1beta4.ISqlUsersListRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >
+      | undefined = callback
       ? (error, response, options, rawResponse) => {
           this._log.info('list response %j', response);
           callback!(error, response, options, rawResponse); // We verified callback above.
         }
       : undefined;
-    return this.innerApiCalls.list(request, options, wrappedCallback)
-      ?.then(([response, options, rawResponse]: [
-        protos.google.cloud.sql.v1beta4.IUsersListResponse,
-        protos.google.cloud.sql.v1beta4.ISqlUsersListRequest|undefined,
-        {}|undefined
-      ]) => {
-        this._log.info('list response %j', response);
-        return [response, options, rawResponse];
-      }).catch((error: any) => {
-        if (error && 'statusDetails' in error && error.statusDetails instanceof Array) {
-          const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type;
-          error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos);
+    return this.innerApiCalls
+      .list(request, options, wrappedCallback)
+      ?.then(
+        ([response, options, rawResponse]: [
+          protos.google.cloud.sql.v1beta4.IUsersListResponse,
+          protos.google.cloud.sql.v1beta4.ISqlUsersListRequest | undefined,
+          {} | undefined,
+        ]) => {
+          this._log.info('list response %j', response);
+          return [response, options, rawResponse];
+        },
+      )
+      .catch((error: any) => {
+        if (
+          error &&
+          'statusDetails' in error &&
+          error.statusDetails instanceof Array
+        ) {
+          const protos = this._gaxModule.protobuf.Root.fromJSON(
+            jsonProtos,
+          ) as unknown as gax.protobuf.Type;
+          error.statusDetails = decodeAnyProtosInArray(
+            error.statusDetails,
+            protos,
+          );
         }
         throw error;
       });
   }
-/**
- * Updates an existing user in a Cloud SQL instance.
- *
- * @param {Object} request
- *   The request object that will be sent.
- * @param {string} [request.host]
- *   Optional. Host of the user in the instance.
- * @param {string} request.instance
- *   Database instance ID. This does not include the project ID.
- * @param {string} request.name
- *   Name of the user in the instance.
- * @param {string} request.project
- *   Project ID of the project that contains the instance.
- * @param {string[]} [request.databaseRoles]
- *   Optional. List of database roles to grant to the user. body.database_roles
- *   will be ignored for update request.
- * @param {boolean} [request.revokeExistingRoles]
- *   Optional. Specifies whether to revoke existing roles that are not present
- *   in the `database_roles` field. If `false` or unset, the database roles
- *   specified in `database_roles` are added to the user's existing roles.
- * @param {google.cloud.sql.v1beta4.User} request.body
- * @param {object} [options]
- *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
- * @returns {Promise} - The promise which resolves to an array.
- *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1beta4.Operation|Operation}.
- *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
- *   for more details and examples.
- * @example <caption>include:samples/generated/v1beta4/sql_users_service.update.js</caption>
- * region_tag:sqladmin_v1beta4_generated_SqlUsersService_Update_async
- */
+  /**
+   * Updates an existing user in a Cloud SQL instance.
+   *
+   * @param {Object} request
+   *   The request object that will be sent.
+   * @param {string} [request.host]
+   *   Optional. Host of the user in the instance.
+   * @param {string} request.instance
+   *   Database instance ID. This does not include the project ID.
+   * @param {string} request.name
+   *   Name of the user in the instance.
+   * @param {string} request.project
+   *   Project ID of the project that contains the instance.
+   * @param {string[]} [request.databaseRoles]
+   *   Optional. List of database roles to grant to the user. body.database_roles
+   *   will be ignored for update request.
+   * @param {boolean} [request.revokeExistingRoles]
+   *   Optional. Specifies whether to revoke existing roles that are not present
+   *   in the `database_roles` field. If `false` or unset, the database roles
+   *   specified in `database_roles` are added to the user's existing roles.
+   * @param {google.cloud.sql.v1beta4.User} request.body
+   * @param {object} [options]
+   *   Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
+   * @returns {Promise} - The promise which resolves to an array.
+   *   The first element of the array is an object representing {@link protos.google.cloud.sql.v1beta4.Operation|Operation}.
+   *   Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
+   *   for more details and examples.
+   * @example <caption>include:samples/generated/v1beta4/sql_users_service.update.js</caption>
+   * region_tag:sqladmin_v1beta4_generated_SqlUsersService_Update_async
+   */
   update(
-      request?: protos.google.cloud.sql.v1beta4.ISqlUsersUpdateRequest,
-      options?: CallOptions):
-      Promise<[
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlUsersUpdateRequest|undefined, {}|undefined
-      ]>;
+    request?: protos.google.cloud.sql.v1beta4.ISqlUsersUpdateRequest,
+    options?: CallOptions,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1beta4.IOperation,
+      protos.google.cloud.sql.v1beta4.ISqlUsersUpdateRequest | undefined,
+      {} | undefined,
+    ]
+  >;
   update(
-      request: protos.google.cloud.sql.v1beta4.ISqlUsersUpdateRequest,
-      options: CallOptions,
-      callback: Callback<
-          protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlUsersUpdateRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1beta4.ISqlUsersUpdateRequest,
+    options: CallOptions,
+    callback: Callback<
+      protos.google.cloud.sql.v1beta4.IOperation,
+      protos.google.cloud.sql.v1beta4.ISqlUsersUpdateRequest | null | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   update(
-      request: protos.google.cloud.sql.v1beta4.ISqlUsersUpdateRequest,
-      callback: Callback<
-          protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlUsersUpdateRequest|null|undefined,
-          {}|null|undefined>): void;
+    request: protos.google.cloud.sql.v1beta4.ISqlUsersUpdateRequest,
+    callback: Callback<
+      protos.google.cloud.sql.v1beta4.IOperation,
+      protos.google.cloud.sql.v1beta4.ISqlUsersUpdateRequest | null | undefined,
+      {} | null | undefined
+    >,
+  ): void;
   update(
-      request?: protos.google.cloud.sql.v1beta4.ISqlUsersUpdateRequest,
-      optionsOrCallback?: CallOptions|Callback<
-          protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlUsersUpdateRequest|null|undefined,
-          {}|null|undefined>,
-      callback?: Callback<
+    request?: protos.google.cloud.sql.v1beta4.ISqlUsersUpdateRequest,
+    optionsOrCallback?:
+      | CallOptions
+      | Callback<
           protos.google.cloud.sql.v1beta4.IOperation,
-          protos.google.cloud.sql.v1beta4.ISqlUsersUpdateRequest|null|undefined,
-          {}|null|undefined>):
-      Promise<[
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlUsersUpdateRequest|undefined, {}|undefined
-      ]>|void {
+          | protos.google.cloud.sql.v1beta4.ISqlUsersUpdateRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >,
+    callback?: Callback<
+      protos.google.cloud.sql.v1beta4.IOperation,
+      protos.google.cloud.sql.v1beta4.ISqlUsersUpdateRequest | null | undefined,
+      {} | null | undefined
+    >,
+  ): Promise<
+    [
+      protos.google.cloud.sql.v1beta4.IOperation,
+      protos.google.cloud.sql.v1beta4.ISqlUsersUpdateRequest | undefined,
+      {} | undefined,
+    ]
+  > | void {
     request = request || {};
     let options: CallOptions;
     if (typeof optionsOrCallback === 'function' && callback === undefined) {
       callback = optionsOrCallback;
       options = {};
-    }
-    else {
+    } else {
       options = optionsOrCallback as CallOptions;
     }
     options = options || {};
     options.otherArgs = options.otherArgs || {};
     options.otherArgs.headers = options.otherArgs.headers || {};
-    options.otherArgs.headers[
-      'x-goog-request-params'
-    ] = this._gaxModule.routingHeader.fromParams({
-      'project': request.project ?? '',
-      'instance': request.instance ?? '',
+    options.otherArgs.headers['x-goog-request-params'] =
+      this._gaxModule.routingHeader.fromParams({
+        project: request.project ?? '',
+        instance: request.instance ?? '',
+      });
+    this.initialize().catch((err) => {
+      throw err;
     });
-    this.initialize().catch(err => {throw err});
     this._log.info('update request %j', request);
-    const wrappedCallback: Callback<
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlUsersUpdateRequest|null|undefined,
-        {}|null|undefined>|undefined = callback
+    const wrappedCallback:
+      | Callback<
+          protos.google.cloud.sql.v1beta4.IOperation,
+          | protos.google.cloud.sql.v1beta4.ISqlUsersUpdateRequest
+          | null
+          | undefined,
+          {} | null | undefined
+        >
+      | undefined = callback
       ? (error, response, options, rawResponse) => {
           this._log.info('update response %j', response);
           callback!(error, response, options, rawResponse); // We verified callback above.
         }
       : undefined;
-    return this.innerApiCalls.update(request, options, wrappedCallback)
-      ?.then(([response, options, rawResponse]: [
-        protos.google.cloud.sql.v1beta4.IOperation,
-        protos.google.cloud.sql.v1beta4.ISqlUsersUpdateRequest|undefined,
-        {}|undefined
-      ]) => {
-        this._log.info('update response %j', response);
-        return [response, options, rawResponse];
-      }).catch((error: any) => {
-        if (error && 'statusDetails' in error && error.statusDetails instanceof Array) {
-          const protos = this._gaxModule.protobuf.Root.fromJSON(jsonProtos) as unknown as gax.protobuf.Type;
-          error.statusDetails = decodeAnyProtosInArray(error.statusDetails, protos);
+    return this.innerApiCalls
+      .update(request, options, wrappedCallback)
+      ?.then(
+        ([response, options, rawResponse]: [
+          protos.google.cloud.sql.v1beta4.IOperation,
+          protos.google.cloud.sql.v1beta4.ISqlUsersUpdateRequest | undefined,
+          {} | undefined,
+        ]) => {
+          this._log.info('update response %j', response);
+          return [response, options, rawResponse];
+        },
+      )
+      .catch((error: any) => {
+        if (
+          error &&
+          'statusDetails' in error &&
+          error.statusDetails instanceof Array
+        ) {
+          const protos = this._gaxModule.protobuf.Root.fromJSON(
+            jsonProtos,
+          ) as unknown as gax.protobuf.Type;
+          error.statusDetails = decodeAnyProtosInArray(
+            error.statusDetails,
+            protos,
+          );
         }
         throw error;
       });
   }
 
-/**
+  /**
    * Gets information about a location.
    *
    * @param {Object} request
@@ -876,12 +1096,11 @@ export class SqlUsersServiceClient {
       | null
       | undefined,
       {} | null | undefined
-    >
+    >,
   ): Promise<LocationProtos.google.cloud.location.ILocation> {
     return this.locationsClient.getLocation(request, options, callback);
   }
-
-/**
+  /**
    * Lists information about the supported locations for this service. Returns an iterable object.
    *
    * `for`-`await`-`of` syntax is used with the iterable to get response elements on-demand.
@@ -914,7 +1133,7 @@ export class SqlUsersServiceClient {
    */
   listLocationsAsync(
     request: LocationProtos.google.cloud.location.IListLocationsRequest,
-    options?: CallOptions
+    options?: CallOptions,
   ): AsyncIterable<LocationProtos.google.cloud.location.ILocation> {
     return this.locationsClient.listLocationsAsync(request, options);
   }
@@ -930,7 +1149,7 @@ export class SqlUsersServiceClient {
    * @param {string} backup
    * @returns {string} Resource name string.
    */
-  backupPath(project:string,backup:string) {
+  backupPath(project: string, backup: string) {
     return this.pathTemplates.backupPathTemplate.render({
       project: project,
       backup: backup,
@@ -967,13 +1186,15 @@ export class SqlUsersServiceClient {
    */
   close(): Promise<void> {
     if (this.sqlUsersServiceStub && !this._terminated) {
-      return this.sqlUsersServiceStub.then(stub => {
+      return this.sqlUsersServiceStub.then((stub) => {
         this._log.info('ending gRPC channel');
         this._terminated = true;
         stub.close();
-        this.locationsClient.close().catch(err => {throw err});
+        this.locationsClient.close().catch((err) => {
+          throw err;
+        });
       });
     }
     return Promise.resolve();
   }
-}
\ No newline at end of file
+}
diff --git a/packages/google-cloud-sql/system-test/install.ts b/packages/google-cloud-sql/system-test/install.ts
index f66069aa3940..ccf167042d2e 100644
--- a/packages/google-cloud-sql/system-test/install.ts
+++ b/packages/google-cloud-sql/system-test/install.ts
@@ -16,34 +16,36 @@
 // ** https://github.com/googleapis/gapic-generator-typescript **
 // ** All changes to this file may be overwritten. **
 
-import {packNTest} from 'pack-n-play';
-import {readFileSync} from 'fs';
-import {describe, it} from 'mocha';
+import { packNTest } from 'pack-n-play';
+import { readFileSync } from 'fs';
+import { describe, it } from 'mocha';
 
 describe('📦 pack-n-play test', () => {
-
-  it('TypeScript code', async function() {
+  it('TypeScript code', async function () {
     this.timeout(300000);
     const options = {
       packageDir: process.cwd(),
       sample: {
         description: 'TypeScript user can use the type definitions',
-        ts: readFileSync('./system-test/fixtures/sample/src/index.ts').toString()
-      }
+        ts: readFileSync(
+          './system-test/fixtures/sample/src/index.ts',
+        ).toString(),
+      },
     };
     await packNTest(options);
   });
 
-  it('JavaScript code', async function() {
+  it('JavaScript code', async function () {
     this.timeout(300000);
     const options = {
       packageDir: process.cwd(),
       sample: {
         description: 'JavaScript user can use the library',
-        cjs: readFileSync('./system-test/fixtures/sample/src/index.js').toString()
-      }
+        cjs: readFileSync(
+          './system-test/fixtures/sample/src/index.js',
+        ).toString(),
+      },
     };
     await packNTest(options);
   });
-
 });
diff --git a/packages/google-cloud-sql/test/gapic_sql_backup_runs_service_v1.ts b/packages/google-cloud-sql/test/gapic_sql_backup_runs_service_v1.ts
index ef97c1615c76..39a4cbb474bb 100644
--- a/packages/google-cloud-sql/test/gapic_sql_backup_runs_service_v1.ts
+++ b/packages/google-cloud-sql/test/gapic_sql_backup_runs_service_v1.ts
@@ -19,927 +19,1174 @@
 import * as protos from '../protos/protos';
 import * as assert from 'assert';
 import * as sinon from 'sinon';
-import {SinonStub} from 'sinon';
-import {describe, it} from 'mocha';
+import { SinonStub } from 'sinon';
+import { describe, it } from 'mocha';
 import * as sqlbackuprunsserviceModule from '../src';
 
-import {protobuf, LocationProtos} from 'google-gax';
+import { protobuf, LocationProtos } from 'google-gax';
 
 // Dynamically loaded proto JSON is needed to get the type information
 // to fill in default values for request objects
-const root = protobuf.Root.fromJSON(require('../protos/protos.json')).resolveAll();
+const root = protobuf.Root.fromJSON(
+  require('../protos/protos.json'),
+).resolveAll();
 
 // eslint-disable-next-line @typescript-eslint/no-unused-vars
 function getTypeDefaultValue(typeName: string, fields: string[]) {
-    let type = root.lookupType(typeName) as protobuf.Type;
-    for (const field of fields.slice(0, -1)) {
-        type = type.fields[field]?.resolvedType as protobuf.Type;
-    }
-    return type.fields[fields[fields.length - 1]]?.defaultValue;
+  let type = root.lookupType(typeName) as protobuf.Type;
+  for (const field of fields.slice(0, -1)) {
+    type = type.fields[field]?.resolvedType as protobuf.Type;
+  }
+  return type.fields[fields[fields.length - 1]]?.defaultValue;
 }
 
 function generateSampleMessage<T extends object>(instance: T) {
-    const filledObject = (instance.constructor as typeof protobuf.Message)
-        .toObject(instance as protobuf.Message<T>, {defaults: true});
-    return (instance.constructor as typeof protobuf.Message).fromObject(filledObject) as T;
+  const filledObject = (
+    instance.constructor as typeof protobuf.Message
+  ).toObject(instance as protobuf.Message<T>, { defaults: true });
+  return (instance.constructor as typeof protobuf.Message).fromObject(
+    filledObject,
+  ) as T;
 }
 
 function stubSimpleCall<ResponseType>(response?: ResponseType, error?: Error) {
-    return error ? sinon.stub().rejects(error) : sinon.stub().resolves([response]);
+  return error
+    ? sinon.stub().rejects(error)
+    : sinon.stub().resolves([response]);
 }
 
-function stubSimpleCallWithCallback<ResponseType>(response?: ResponseType, error?: Error) {
-    return error ? sinon.stub().callsArgWith(2, error) : sinon.stub().callsArgWith(2, null, response);
+function stubSimpleCallWithCallback<ResponseType>(
+  response?: ResponseType,
+  error?: Error,
+) {
+  return error
+    ? sinon.stub().callsArgWith(2, error)
+    : sinon.stub().callsArgWith(2, null, response);
 }
 
-function stubAsyncIterationCall<ResponseType>(responses?: ResponseType[], error?: Error) {
-    let counter = 0;
-    const asyncIterable = {
-        [Symbol.asyncIterator]() {
-            return {
-                async next() {
-                    if (error) {
-                        return Promise.reject(error);
-                    }
-                    if (counter >= responses!.length) {
-                        return Promise.resolve({done: true, value: undefined});
-                    }
-                    return Promise.resolve({done: false, value: responses![counter++]});
-                }
-            };
-        }
-    };
-    return sinon.stub().returns(asyncIterable);
+function stubAsyncIterationCall<ResponseType>(
+  responses?: ResponseType[],
+  error?: Error,
+) {
+  let counter = 0;
+  const asyncIterable = {
+    [Symbol.asyncIterator]() {
+      return {
+        async next() {
+          if (error) {
+            return Promise.reject(error);
+          }
+          if (counter >= responses!.length) {
+            return Promise.resolve({ done: true, value: undefined });
+          }
+          return Promise.resolve({ done: false, value: responses![counter++] });
+        },
+      };
+    },
+  };
+  return sinon.stub().returns(asyncIterable);
 }
 
 describe('v1.SqlBackupRunsServiceClient', () => {
-    describe('Common methods', () => {
-        it('has apiEndpoint', () => {
-            const client = new sqlbackuprunsserviceModule.v1.SqlBackupRunsServiceClient();
-            const apiEndpoint = client.apiEndpoint;
-            assert.strictEqual(apiEndpoint, 'sqladmin.googleapis.com');
-        });
-
-        it('has universeDomain', () => {
-            const client = new sqlbackuprunsserviceModule.v1.SqlBackupRunsServiceClient();
-            const universeDomain = client.universeDomain;
-            assert.strictEqual(universeDomain, "googleapis.com");
-        });
-
-        if (typeof process === 'object' && typeof process.emitWarning === 'function') {
-            it('throws DeprecationWarning if static servicePath is used', () => {
-                const stub = sinon.stub(process, 'emitWarning');
-                const servicePath = sqlbackuprunsserviceModule.v1.SqlBackupRunsServiceClient.servicePath;
-                assert.strictEqual(servicePath, 'sqladmin.googleapis.com');
-                assert(stub.called);
-                stub.restore();
-            });
+  describe('Common methods', () => {
+    it('has apiEndpoint', () => {
+      const client =
+        new sqlbackuprunsserviceModule.v1.SqlBackupRunsServiceClient();
+      const apiEndpoint = client.apiEndpoint;
+      assert.strictEqual(apiEndpoint, 'sqladmin.googleapis.com');
+    });
 
-            it('throws DeprecationWarning if static apiEndpoint is used', () => {
-                const stub = sinon.stub(process, 'emitWarning');
-                const apiEndpoint = sqlbackuprunsserviceModule.v1.SqlBackupRunsServiceClient.apiEndpoint;
-                assert.strictEqual(apiEndpoint, 'sqladmin.googleapis.com');
-                assert(stub.called);
-                stub.restore();
-            });
-        }
-        it('sets apiEndpoint according to universe domain camelCase', () => {
-            const client = new sqlbackuprunsserviceModule.v1.SqlBackupRunsServiceClient({universeDomain: 'example.com'});
-            const servicePath = client.apiEndpoint;
-            assert.strictEqual(servicePath, 'sqladmin.example.com');
-        });
-
-        it('sets apiEndpoint according to universe domain snakeCase', () => {
-            const client = new sqlbackuprunsserviceModule.v1.SqlBackupRunsServiceClient({universe_domain: 'example.com'});
-            const servicePath = client.apiEndpoint;
-            assert.strictEqual(servicePath, 'sqladmin.example.com');
-        });
-
-        if (typeof process === 'object' && 'env' in process) {
-            describe('GOOGLE_CLOUD_UNIVERSE_DOMAIN environment variable', () => {
-                it('sets apiEndpoint from environment variable', () => {
-                    const saved = process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
-                    process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = 'example.com';
-                    const client = new sqlbackuprunsserviceModule.v1.SqlBackupRunsServiceClient();
-                    const servicePath = client.apiEndpoint;
-                    assert.strictEqual(servicePath, 'sqladmin.example.com');
-                    if (saved) {
-                        process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = saved;
-                    } else {
-                        delete process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
-                    }
-                });
-
-                it('value configured in code has priority over environment variable', () => {
-                    const saved = process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
-                    process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = 'example.com';
-                    const client = new sqlbackuprunsserviceModule.v1.SqlBackupRunsServiceClient({universeDomain: 'configured.example.com'});
-                    const servicePath = client.apiEndpoint;
-                    assert.strictEqual(servicePath, 'sqladmin.configured.example.com');
-                    if (saved) {
-                        process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = saved;
-                    } else {
-                        delete process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
-                    }
-                });
-            });
-        }
-        it('does not allow setting both universeDomain and universe_domain', () => {
-            assert.throws(() => { new sqlbackuprunsserviceModule.v1.SqlBackupRunsServiceClient({universe_domain: 'example.com', universeDomain: 'example.net'}); });
+    it('has universeDomain', () => {
+      const client =
+        new sqlbackuprunsserviceModule.v1.SqlBackupRunsServiceClient();
+      const universeDomain = client.universeDomain;
+      assert.strictEqual(universeDomain, 'googleapis.com');
+    });
+
+    if (
+      typeof process === 'object' &&
+      typeof process.emitWarning === 'function'
+    ) {
+      it('throws DeprecationWarning if static servicePath is used', () => {
+        const stub = sinon.stub(process, 'emitWarning');
+        const servicePath =
+          sqlbackuprunsserviceModule.v1.SqlBackupRunsServiceClient.servicePath;
+        assert.strictEqual(servicePath, 'sqladmin.googleapis.com');
+        assert(stub.called);
+        stub.restore();
+      });
+
+      it('throws DeprecationWarning if static apiEndpoint is used', () => {
+        const stub = sinon.stub(process, 'emitWarning');
+        const apiEndpoint =
+          sqlbackuprunsserviceModule.v1.SqlBackupRunsServiceClient.apiEndpoint;
+        assert.strictEqual(apiEndpoint, 'sqladmin.googleapis.com');
+        assert(stub.called);
+        stub.restore();
+      });
+    }
+    it('sets apiEndpoint according to universe domain camelCase', () => {
+      const client =
+        new sqlbackuprunsserviceModule.v1.SqlBackupRunsServiceClient({
+          universeDomain: 'example.com',
         });
+      const servicePath = client.apiEndpoint;
+      assert.strictEqual(servicePath, 'sqladmin.example.com');
+    });
 
-        it('has port', () => {
-            const port = sqlbackuprunsserviceModule.v1.SqlBackupRunsServiceClient.port;
-            assert(port);
-            assert(typeof port === 'number');
+    it('sets apiEndpoint according to universe domain snakeCase', () => {
+      const client =
+        new sqlbackuprunsserviceModule.v1.SqlBackupRunsServiceClient({
+          universe_domain: 'example.com',
         });
+      const servicePath = client.apiEndpoint;
+      assert.strictEqual(servicePath, 'sqladmin.example.com');
+    });
 
-        it('should create a client with no option', () => {
-            const client = new sqlbackuprunsserviceModule.v1.SqlBackupRunsServiceClient();
-            assert(client);
+    if (typeof process === 'object' && 'env' in process) {
+      describe('GOOGLE_CLOUD_UNIVERSE_DOMAIN environment variable', () => {
+        it('sets apiEndpoint from environment variable', () => {
+          const saved = process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
+          process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = 'example.com';
+          const client =
+            new sqlbackuprunsserviceModule.v1.SqlBackupRunsServiceClient();
+          const servicePath = client.apiEndpoint;
+          assert.strictEqual(servicePath, 'sqladmin.example.com');
+          if (saved) {
+            process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = saved;
+          } else {
+            delete process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
+          }
         });
 
-        it('should create a client with gRPC fallback', () => {
-            const client = new sqlbackuprunsserviceModule.v1.SqlBackupRunsServiceClient({
-                fallback: true,
+        it('value configured in code has priority over environment variable', () => {
+          const saved = process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
+          process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = 'example.com';
+          const client =
+            new sqlbackuprunsserviceModule.v1.SqlBackupRunsServiceClient({
+              universeDomain: 'configured.example.com',
             });
-            assert(client);
+          const servicePath = client.apiEndpoint;
+          assert.strictEqual(servicePath, 'sqladmin.configured.example.com');
+          if (saved) {
+            process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = saved;
+          } else {
+            delete process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
+          }
+        });
+      });
+    }
+    it('does not allow setting both universeDomain and universe_domain', () => {
+      assert.throws(() => {
+        new sqlbackuprunsserviceModule.v1.SqlBackupRunsServiceClient({
+          universe_domain: 'example.com',
+          universeDomain: 'example.net',
         });
+      });
+    });
 
-        it('has initialize method and supports deferred initialization', async () => {
-            const client = new sqlbackuprunsserviceModule.v1.SqlBackupRunsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            assert.strictEqual(client.sqlBackupRunsServiceStub, undefined);
-            await client.initialize();
-            assert(client.sqlBackupRunsServiceStub);
+    it('has port', () => {
+      const port =
+        sqlbackuprunsserviceModule.v1.SqlBackupRunsServiceClient.port;
+      assert(port);
+      assert(typeof port === 'number');
+    });
+
+    it('should create a client with no option', () => {
+      const client =
+        new sqlbackuprunsserviceModule.v1.SqlBackupRunsServiceClient();
+      assert(client);
+    });
+
+    it('should create a client with gRPC fallback', () => {
+      const client =
+        new sqlbackuprunsserviceModule.v1.SqlBackupRunsServiceClient({
+          fallback: true,
         });
+      assert(client);
+    });
 
-        it('has close method for the initialized client', done => {
-            const client = new sqlbackuprunsserviceModule.v1.SqlBackupRunsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            client.initialize().catch(err => {throw err});
-            assert(client.sqlBackupRunsServiceStub);
-            client.close().then(() => {
-                done();
-            }).catch(err => {throw err});
+    it('has initialize method and supports deferred initialization', async () => {
+      const client =
+        new sqlbackuprunsserviceModule.v1.SqlBackupRunsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
         });
+      assert.strictEqual(client.sqlBackupRunsServiceStub, undefined);
+      await client.initialize();
+      assert(client.sqlBackupRunsServiceStub);
+    });
 
-        it('has close method for the non-initialized client', done => {
-            const client = new sqlbackuprunsserviceModule.v1.SqlBackupRunsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            assert.strictEqual(client.sqlBackupRunsServiceStub, undefined);
-            client.close().then(() => {
-                done();
-            }).catch(err => {throw err});
+    it('has close method for the initialized client', (done) => {
+      const client =
+        new sqlbackuprunsserviceModule.v1.SqlBackupRunsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      client.initialize().catch((err) => {
+        throw err;
+      });
+      assert(client.sqlBackupRunsServiceStub);
+      client
+        .close()
+        .then(() => {
+          done();
+        })
+        .catch((err) => {
+          throw err;
         });
+    });
 
-        it('has getProjectId method', async () => {
-            const fakeProjectId = 'fake-project-id';
-            const client = new sqlbackuprunsserviceModule.v1.SqlBackupRunsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            client.auth.getProjectId = sinon.stub().resolves(fakeProjectId);
-            const result = await client.getProjectId();
-            assert.strictEqual(result, fakeProjectId);
-            assert((client.auth.getProjectId as SinonStub).calledWithExactly());
+    it('has close method for the non-initialized client', (done) => {
+      const client =
+        new sqlbackuprunsserviceModule.v1.SqlBackupRunsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
         });
+      assert.strictEqual(client.sqlBackupRunsServiceStub, undefined);
+      client
+        .close()
+        .then(() => {
+          done();
+        })
+        .catch((err) => {
+          throw err;
+        });
+    });
 
-        it('has getProjectId method with callback', async () => {
-            const fakeProjectId = 'fake-project-id';
-            const client = new sqlbackuprunsserviceModule.v1.SqlBackupRunsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            client.auth.getProjectId = sinon.stub().callsArgWith(0, null, fakeProjectId);
-            const promise = new Promise((resolve, reject) => {
-                client.getProjectId((err?: Error|null, projectId?: string|null) => {
-                    if (err) {
-                        reject(err);
-                    } else {
-                        resolve(projectId);
-                    }
-                });
-            });
-            const result = await promise;
-            assert.strictEqual(result, fakeProjectId);
+    it('has getProjectId method', async () => {
+      const fakeProjectId = 'fake-project-id';
+      const client =
+        new sqlbackuprunsserviceModule.v1.SqlBackupRunsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
         });
+      client.auth.getProjectId = sinon.stub().resolves(fakeProjectId);
+      const result = await client.getProjectId();
+      assert.strictEqual(result, fakeProjectId);
+      assert((client.auth.getProjectId as SinonStub).calledWithExactly());
     });
 
-    describe('delete', () => {
-        it('invokes delete without error', async () => {
-            const client = new sqlbackuprunsserviceModule.v1.SqlBackupRunsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlBackupRunsDeleteRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlBackupRunsDeleteRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlBackupRunsDeleteRequest', ['instance']);
-            request.instance = defaultValue2;
-            const defaultValue3 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlBackupRunsDeleteRequest', ['id']);
-            request.id = defaultValue3;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }&id=${defaultValue3 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1.Operation()
-            );
-            client.innerApiCalls.delete = stubSimpleCall(expectedResponse);
-            const [response] = await client.delete(request);
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.delete as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.delete as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes delete without error using callback', async () => {
-            const client = new sqlbackuprunsserviceModule.v1.SqlBackupRunsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlBackupRunsDeleteRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlBackupRunsDeleteRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlBackupRunsDeleteRequest', ['instance']);
-            request.instance = defaultValue2;
-            const defaultValue3 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlBackupRunsDeleteRequest', ['id']);
-            request.id = defaultValue3;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }&id=${defaultValue3 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1.Operation()
-            );
-            client.innerApiCalls.delete = stubSimpleCallWithCallback(expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.delete(
-                    request,
-                    (err?: Error|null, result?: protos.google.cloud.sql.v1.IOperation|null) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.delete as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.delete as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes delete with error', async () => {
-            const client = new sqlbackuprunsserviceModule.v1.SqlBackupRunsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlBackupRunsDeleteRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlBackupRunsDeleteRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlBackupRunsDeleteRequest', ['instance']);
-            request.instance = defaultValue2;
-            const defaultValue3 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlBackupRunsDeleteRequest', ['id']);
-            request.id = defaultValue3;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }&id=${defaultValue3 ?? '' }`;
-            const expectedError = new Error('expected');
-            client.innerApiCalls.delete = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.delete(request), expectedError);
-            const actualRequest = (client.innerApiCalls.delete as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.delete as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes delete with closed client', async () => {
-            const client = new sqlbackuprunsserviceModule.v1.SqlBackupRunsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlBackupRunsDeleteRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlBackupRunsDeleteRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlBackupRunsDeleteRequest', ['instance']);
-            request.instance = defaultValue2;
-            const defaultValue3 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlBackupRunsDeleteRequest', ['id']);
-            request.id = defaultValue3;
-            const expectedError = new Error('The client has already been closed.');
-            client.close().catch(err => {throw err});
-            await assert.rejects(client.delete(request), expectedError);
-        });
-    });
-
-    describe('get', () => {
-        it('invokes get without error', async () => {
-            const client = new sqlbackuprunsserviceModule.v1.SqlBackupRunsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlBackupRunsGetRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlBackupRunsGetRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlBackupRunsGetRequest', ['instance']);
-            request.instance = defaultValue2;
-            const defaultValue3 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlBackupRunsGetRequest', ['id']);
-            request.id = defaultValue3;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }&id=${defaultValue3 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1.BackupRun()
-            );
-            client.innerApiCalls.get = stubSimpleCall(expectedResponse);
-            const [response] = await client.get(request);
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.get as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.get as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes get without error using callback', async () => {
-            const client = new sqlbackuprunsserviceModule.v1.SqlBackupRunsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlBackupRunsGetRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlBackupRunsGetRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlBackupRunsGetRequest', ['instance']);
-            request.instance = defaultValue2;
-            const defaultValue3 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlBackupRunsGetRequest', ['id']);
-            request.id = defaultValue3;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }&id=${defaultValue3 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1.BackupRun()
-            );
-            client.innerApiCalls.get = stubSimpleCallWithCallback(expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.get(
-                    request,
-                    (err?: Error|null, result?: protos.google.cloud.sql.v1.IBackupRun|null) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.get as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.get as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes get with error', async () => {
-            const client = new sqlbackuprunsserviceModule.v1.SqlBackupRunsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlBackupRunsGetRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlBackupRunsGetRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlBackupRunsGetRequest', ['instance']);
-            request.instance = defaultValue2;
-            const defaultValue3 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlBackupRunsGetRequest', ['id']);
-            request.id = defaultValue3;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }&id=${defaultValue3 ?? '' }`;
-            const expectedError = new Error('expected');
-            client.innerApiCalls.get = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.get(request), expectedError);
-            const actualRequest = (client.innerApiCalls.get as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.get as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes get with closed client', async () => {
-            const client = new sqlbackuprunsserviceModule.v1.SqlBackupRunsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlBackupRunsGetRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlBackupRunsGetRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlBackupRunsGetRequest', ['instance']);
-            request.instance = defaultValue2;
-            const defaultValue3 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlBackupRunsGetRequest', ['id']);
-            request.id = defaultValue3;
-            const expectedError = new Error('The client has already been closed.');
-            client.close().catch(err => {throw err});
-            await assert.rejects(client.get(request), expectedError);
-        });
-    });
-
-    describe('insert', () => {
-        it('invokes insert without error', async () => {
-            const client = new sqlbackuprunsserviceModule.v1.SqlBackupRunsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlBackupRunsInsertRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlBackupRunsInsertRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlBackupRunsInsertRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1.Operation()
-            );
-            client.innerApiCalls.insert = stubSimpleCall(expectedResponse);
-            const [response] = await client.insert(request);
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.insert as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.insert as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes insert without error using callback', async () => {
-            const client = new sqlbackuprunsserviceModule.v1.SqlBackupRunsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlBackupRunsInsertRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlBackupRunsInsertRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlBackupRunsInsertRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1.Operation()
-            );
-            client.innerApiCalls.insert = stubSimpleCallWithCallback(expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.insert(
-                    request,
-                    (err?: Error|null, result?: protos.google.cloud.sql.v1.IOperation|null) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.insert as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.insert as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes insert with error', async () => {
-            const client = new sqlbackuprunsserviceModule.v1.SqlBackupRunsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlBackupRunsInsertRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlBackupRunsInsertRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlBackupRunsInsertRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedError = new Error('expected');
-            client.innerApiCalls.insert = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.insert(request), expectedError);
-            const actualRequest = (client.innerApiCalls.insert as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.insert as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes insert with closed client', async () => {
-            const client = new sqlbackuprunsserviceModule.v1.SqlBackupRunsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlBackupRunsInsertRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlBackupRunsInsertRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlBackupRunsInsertRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedError = new Error('The client has already been closed.');
-            client.close().catch(err => {throw err});
-            await assert.rejects(client.insert(request), expectedError);
-        });
-    });
-
-    describe('list', () => {
-        it('invokes list without error', async () => {
-            const client = new sqlbackuprunsserviceModule.v1.SqlBackupRunsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlBackupRunsListRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlBackupRunsListRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlBackupRunsListRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1.BackupRunsListResponse()
-            );
-            client.innerApiCalls.list = stubSimpleCall(expectedResponse);
-            const [response] = await client.list(request);
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.list as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.list as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes list without error using callback', async () => {
-            const client = new sqlbackuprunsserviceModule.v1.SqlBackupRunsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlBackupRunsListRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlBackupRunsListRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlBackupRunsListRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1.BackupRunsListResponse()
-            );
-            client.innerApiCalls.list = stubSimpleCallWithCallback(expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.list(
-                    request,
-                    (err?: Error|null, result?: protos.google.cloud.sql.v1.IBackupRunsListResponse|null) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.list as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.list as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes list with error', async () => {
-            const client = new sqlbackuprunsserviceModule.v1.SqlBackupRunsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlBackupRunsListRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlBackupRunsListRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlBackupRunsListRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedError = new Error('expected');
-            client.innerApiCalls.list = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.list(request), expectedError);
-            const actualRequest = (client.innerApiCalls.list as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.list as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes list with closed client', async () => {
-            const client = new sqlbackuprunsserviceModule.v1.SqlBackupRunsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlBackupRunsListRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlBackupRunsListRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlBackupRunsListRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedError = new Error('The client has already been closed.');
-            client.close().catch(err => {throw err});
-            await assert.rejects(client.list(request), expectedError);
-        });
-    });
-    describe('getLocation', () => {
-        it('invokes getLocation without error', async () => {
-            const client = new sqlbackuprunsserviceModule.v1.SqlBackupRunsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new LocationProtos.google.cloud.location.GetLocationRequest()
-            );
-            request.name = '';
-            const expectedHeaderRequestParams = 'name=';
-            const expectedOptions = {
-                otherArgs: {
-                    headers: {
-                        'x-goog-request-params': expectedHeaderRequestParams,
-                    },
-                },
-            };
-            const expectedResponse = generateSampleMessage(
-              new LocationProtos.google.cloud.location.Location()
-            );
-            client.locationsClient.getLocation = stubSimpleCall(expectedResponse);
-            const response = await client.getLocation(request, expectedOptions);
-            assert.deepStrictEqual(response, [expectedResponse]);
-            assert((client.locationsClient.getLocation as SinonStub)
-                .getCall(0).calledWith(request, expectedOptions, undefined));
-        });
-        it('invokes getLocation without error using callback', async () => {
-            const client = new sqlbackuprunsserviceModule.v1.SqlBackupRunsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new LocationProtos.google.cloud.location.GetLocationRequest()
-            );
-            request.name = '';
-            const expectedHeaderRequestParams = 'name=';
-            const expectedOptions = {
-                otherArgs: {
-                    headers: {
-                        'x-goog-request-params': expectedHeaderRequestParams,
-                    },
-                },
-            };
-            const expectedResponse = generateSampleMessage(
-              new LocationProtos.google.cloud.location.Location()
-            );
-            client.locationsClient.getLocation = sinon.stub().callsArgWith(2, null, expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.getLocation(
-                    request,
-                    expectedOptions,
-                    (
-                        err?: Error | null,
-                        result?: LocationProtos.google.cloud.location.ILocation | null
-                    ) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            assert((client.locationsClient.getLocation as SinonStub)
-                .getCall(0));
-        });
-        it('invokes getLocation with error', async () => {
-            const client = new sqlbackuprunsserviceModule.v1.SqlBackupRunsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new LocationProtos.google.cloud.location.GetLocationRequest()
-            );
-            request.name = '';
-            const expectedHeaderRequestParams = 'name=';
-            const expectedOptions = {
-                otherArgs: {
-                    headers: {
-                        'x-goog-request-params': expectedHeaderRequestParams,
-                    },
-                },
-            };
-            const expectedError = new Error('expected');
-            client.locationsClient.getLocation = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.getLocation(request, expectedOptions), expectedError);
-            assert((client.locationsClient.getLocation as SinonStub)
-                .getCall(0).calledWith(request, expectedOptions, undefined));
-        });
-    });
-    describe('listLocationsAsync', () => {
-        it('uses async iteration with listLocations without error', async () => {
-            const client = new sqlbackuprunsserviceModule.v1.SqlBackupRunsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-                new LocationProtos.google.cloud.location.ListLocationsRequest()
-            );
-            request.name = '';
-            const expectedHeaderRequestParams = 'name=';
-            const expectedResponse = [
-                generateSampleMessage(
-                    new LocationProtos.google.cloud.location.Location()
-                ),
-                generateSampleMessage(
-                    new LocationProtos.google.cloud.location.Location()
-                ),
-                generateSampleMessage(
-                    new LocationProtos.google.cloud.location.Location()
-                ),
-            ];
-            client.locationsClient.descriptors.page.listLocations.asyncIterate = stubAsyncIterationCall(expectedResponse);
-            const responses: LocationProtos.google.cloud.location.ILocation[] = [];
-            const iterable = client.listLocationsAsync(request);
-            for await (const resource of iterable) {
-                responses.push(resource!);
+    it('has getProjectId method with callback', async () => {
+      const fakeProjectId = 'fake-project-id';
+      const client =
+        new sqlbackuprunsserviceModule.v1.SqlBackupRunsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      client.auth.getProjectId = sinon
+        .stub()
+        .callsArgWith(0, null, fakeProjectId);
+      const promise = new Promise((resolve, reject) => {
+        client.getProjectId((err?: Error | null, projectId?: string | null) => {
+          if (err) {
+            reject(err);
+          } else {
+            resolve(projectId);
+          }
+        });
+      });
+      const result = await promise;
+      assert.strictEqual(result, fakeProjectId);
+    });
+  });
+
+  describe('delete', () => {
+    it('invokes delete without error', async () => {
+      const client =
+        new sqlbackuprunsserviceModule.v1.SqlBackupRunsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlBackupRunsDeleteRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlBackupRunsDeleteRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlBackupRunsDeleteRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const defaultValue3 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlBackupRunsDeleteRequest',
+        ['id'],
+      );
+      request.id = defaultValue3;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}&id=${defaultValue3 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1.Operation(),
+      );
+      client.innerApiCalls.delete = stubSimpleCall(expectedResponse);
+      const [response] = await client.delete(request);
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (client.innerApiCalls.delete as SinonStub).getCall(
+        0,
+      ).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.delete as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes delete without error using callback', async () => {
+      const client =
+        new sqlbackuprunsserviceModule.v1.SqlBackupRunsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlBackupRunsDeleteRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlBackupRunsDeleteRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlBackupRunsDeleteRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const defaultValue3 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlBackupRunsDeleteRequest',
+        ['id'],
+      );
+      request.id = defaultValue3;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}&id=${defaultValue3 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1.Operation(),
+      );
+      client.innerApiCalls.delete =
+        stubSimpleCallWithCallback(expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.delete(
+          request,
+          (
+            err?: Error | null,
+            result?: protos.google.cloud.sql.v1.IOperation | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
             }
-            assert.deepStrictEqual(responses, expectedResponse);
-            assert.deepStrictEqual(
-                (client.locationsClient.descriptors.page.listLocations.asyncIterate as SinonStub)
-                    .getCall(0).args[1], request);
-            assert(
-                (client.locationsClient.descriptors.page.listLocations.asyncIterate as SinonStub)
-                    .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes(
-                        expectedHeaderRequestParams
-                    )
-            );
-        });
-        it('uses async iteration with listLocations with error', async () => {
-            const client = new sqlbackuprunsserviceModule.v1.SqlBackupRunsServiceClient({
-                credentials: {client_email: 'bogus', private_key: 'bogus'},
-                projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new LocationProtos.google.cloud.location.ListLocationsRequest()
-            );
-            request.name = '';
-            const expectedHeaderRequestParams = 'name=';
-            const expectedError = new Error('expected');
-            client.locationsClient.descriptors.page.listLocations.asyncIterate = stubAsyncIterationCall(undefined, expectedError);
-            const iterable = client.listLocationsAsync(request);
-            await assert.rejects(async () => {
-                const responses: LocationProtos.google.cloud.location.ILocation[] = [];
-                for await (const resource of iterable) {
-                    responses.push(resource!);
-                }
-            });
-            assert.deepStrictEqual(
-                (client.locationsClient.descriptors.page.listLocations.asyncIterate as SinonStub)
-                    .getCall(0).args[1], request);
-            assert(
-                (client.locationsClient.descriptors.page.listLocations.asyncIterate as SinonStub)
-                    .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes(
-                        expectedHeaderRequestParams
-                    )
-            );
-        });
-    });
-
-    describe('Path templates', () => {
-
-        describe('backup', async () => {
-            const fakePath = "/rendered/path/backup";
-            const expectedParameters = {
-                project: "projectValue",
-                backup: "backupValue",
-            };
-            const client = new sqlbackuprunsserviceModule.v1.SqlBackupRunsServiceClient({
-                credentials: {client_email: 'bogus', private_key: 'bogus'},
-                projectId: 'bogus',
-            });
-            await client.initialize();
-            client.pathTemplates.backupPathTemplate.render =
-                sinon.stub().returns(fakePath);
-            client.pathTemplates.backupPathTemplate.match =
-                sinon.stub().returns(expectedParameters);
-
-            it('backupPath', () => {
-                const result = client.backupPath("projectValue", "backupValue");
-                assert.strictEqual(result, fakePath);
-                assert((client.pathTemplates.backupPathTemplate.render as SinonStub)
-                    .getCall(-1).calledWith(expectedParameters));
-            });
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (client.innerApiCalls.delete as SinonStub).getCall(
+        0,
+      ).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.delete as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-            it('matchProjectFromBackupName', () => {
-                const result = client.matchProjectFromBackupName(fakePath);
-                assert.strictEqual(result, "projectValue");
-                assert((client.pathTemplates.backupPathTemplate.match as SinonStub)
-                    .getCall(-1).calledWith(fakePath));
-            });
+    it('invokes delete with error', async () => {
+      const client =
+        new sqlbackuprunsserviceModule.v1.SqlBackupRunsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlBackupRunsDeleteRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlBackupRunsDeleteRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlBackupRunsDeleteRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const defaultValue3 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlBackupRunsDeleteRequest',
+        ['id'],
+      );
+      request.id = defaultValue3;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}&id=${defaultValue3 ?? ''}`;
+      const expectedError = new Error('expected');
+      client.innerApiCalls.delete = stubSimpleCall(undefined, expectedError);
+      await assert.rejects(client.delete(request), expectedError);
+      const actualRequest = (client.innerApiCalls.delete as SinonStub).getCall(
+        0,
+      ).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.delete as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-            it('matchBackupFromBackupName', () => {
-                const result = client.matchBackupFromBackupName(fakePath);
-                assert.strictEqual(result, "backupValue");
-                assert((client.pathTemplates.backupPathTemplate.match as SinonStub)
-                    .getCall(-1).calledWith(fakePath));
-            });
+    it('invokes delete with closed client', async () => {
+      const client =
+        new sqlbackuprunsserviceModule.v1.SqlBackupRunsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlBackupRunsDeleteRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlBackupRunsDeleteRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlBackupRunsDeleteRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const defaultValue3 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlBackupRunsDeleteRequest',
+        ['id'],
+      );
+      request.id = defaultValue3;
+      const expectedError = new Error('The client has already been closed.');
+      client.close().catch((err) => {
+        throw err;
+      });
+      await assert.rejects(client.delete(request), expectedError);
+    });
+  });
+
+  describe('get', () => {
+    it('invokes get without error', async () => {
+      const client =
+        new sqlbackuprunsserviceModule.v1.SqlBackupRunsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlBackupRunsGetRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlBackupRunsGetRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlBackupRunsGetRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const defaultValue3 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlBackupRunsGetRequest',
+        ['id'],
+      );
+      request.id = defaultValue3;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}&id=${defaultValue3 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1.BackupRun(),
+      );
+      client.innerApiCalls.get = stubSimpleCall(expectedResponse);
+      const [response] = await client.get(request);
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (client.innerApiCalls.get as SinonStub).getCall(0)
+        .args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.get as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes get without error using callback', async () => {
+      const client =
+        new sqlbackuprunsserviceModule.v1.SqlBackupRunsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlBackupRunsGetRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlBackupRunsGetRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlBackupRunsGetRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const defaultValue3 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlBackupRunsGetRequest',
+        ['id'],
+      );
+      request.id = defaultValue3;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}&id=${defaultValue3 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1.BackupRun(),
+      );
+      client.innerApiCalls.get = stubSimpleCallWithCallback(expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.get(
+          request,
+          (
+            err?: Error | null,
+            result?: protos.google.cloud.sql.v1.IBackupRun | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
+            }
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (client.innerApiCalls.get as SinonStub).getCall(0)
+        .args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.get as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes get with error', async () => {
+      const client =
+        new sqlbackuprunsserviceModule.v1.SqlBackupRunsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlBackupRunsGetRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlBackupRunsGetRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlBackupRunsGetRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const defaultValue3 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlBackupRunsGetRequest',
+        ['id'],
+      );
+      request.id = defaultValue3;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}&id=${defaultValue3 ?? ''}`;
+      const expectedError = new Error('expected');
+      client.innerApiCalls.get = stubSimpleCall(undefined, expectedError);
+      await assert.rejects(client.get(request), expectedError);
+      const actualRequest = (client.innerApiCalls.get as SinonStub).getCall(0)
+        .args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.get as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes get with closed client', async () => {
+      const client =
+        new sqlbackuprunsserviceModule.v1.SqlBackupRunsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlBackupRunsGetRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlBackupRunsGetRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlBackupRunsGetRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const defaultValue3 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlBackupRunsGetRequest',
+        ['id'],
+      );
+      request.id = defaultValue3;
+      const expectedError = new Error('The client has already been closed.');
+      client.close().catch((err) => {
+        throw err;
+      });
+      await assert.rejects(client.get(request), expectedError);
+    });
+  });
+
+  describe('insert', () => {
+    it('invokes insert without error', async () => {
+      const client =
+        new sqlbackuprunsserviceModule.v1.SqlBackupRunsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlBackupRunsInsertRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlBackupRunsInsertRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlBackupRunsInsertRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1.Operation(),
+      );
+      client.innerApiCalls.insert = stubSimpleCall(expectedResponse);
+      const [response] = await client.insert(request);
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (client.innerApiCalls.insert as SinonStub).getCall(
+        0,
+      ).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.insert as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes insert without error using callback', async () => {
+      const client =
+        new sqlbackuprunsserviceModule.v1.SqlBackupRunsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlBackupRunsInsertRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlBackupRunsInsertRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlBackupRunsInsertRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1.Operation(),
+      );
+      client.innerApiCalls.insert =
+        stubSimpleCallWithCallback(expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.insert(
+          request,
+          (
+            err?: Error | null,
+            result?: protos.google.cloud.sql.v1.IOperation | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
+            }
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (client.innerApiCalls.insert as SinonStub).getCall(
+        0,
+      ).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.insert as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes insert with error', async () => {
+      const client =
+        new sqlbackuprunsserviceModule.v1.SqlBackupRunsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlBackupRunsInsertRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlBackupRunsInsertRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlBackupRunsInsertRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedError = new Error('expected');
+      client.innerApiCalls.insert = stubSimpleCall(undefined, expectedError);
+      await assert.rejects(client.insert(request), expectedError);
+      const actualRequest = (client.innerApiCalls.insert as SinonStub).getCall(
+        0,
+      ).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.insert as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes insert with closed client', async () => {
+      const client =
+        new sqlbackuprunsserviceModule.v1.SqlBackupRunsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlBackupRunsInsertRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlBackupRunsInsertRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlBackupRunsInsertRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedError = new Error('The client has already been closed.');
+      client.close().catch((err) => {
+        throw err;
+      });
+      await assert.rejects(client.insert(request), expectedError);
+    });
+  });
+
+  describe('list', () => {
+    it('invokes list without error', async () => {
+      const client =
+        new sqlbackuprunsserviceModule.v1.SqlBackupRunsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlBackupRunsListRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlBackupRunsListRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlBackupRunsListRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1.BackupRunsListResponse(),
+      );
+      client.innerApiCalls.list = stubSimpleCall(expectedResponse);
+      const [response] = await client.list(request);
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (client.innerApiCalls.list as SinonStub).getCall(0)
+        .args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.list as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes list without error using callback', async () => {
+      const client =
+        new sqlbackuprunsserviceModule.v1.SqlBackupRunsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlBackupRunsListRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlBackupRunsListRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlBackupRunsListRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1.BackupRunsListResponse(),
+      );
+      client.innerApiCalls.list = stubSimpleCallWithCallback(expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.list(
+          request,
+          (
+            err?: Error | null,
+            result?: protos.google.cloud.sql.v1.IBackupRunsListResponse | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
+            }
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (client.innerApiCalls.list as SinonStub).getCall(0)
+        .args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.list as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes list with error', async () => {
+      const client =
+        new sqlbackuprunsserviceModule.v1.SqlBackupRunsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlBackupRunsListRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlBackupRunsListRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlBackupRunsListRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedError = new Error('expected');
+      client.innerApiCalls.list = stubSimpleCall(undefined, expectedError);
+      await assert.rejects(client.list(request), expectedError);
+      const actualRequest = (client.innerApiCalls.list as SinonStub).getCall(0)
+        .args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.list as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes list with closed client', async () => {
+      const client =
+        new sqlbackuprunsserviceModule.v1.SqlBackupRunsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlBackupRunsListRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlBackupRunsListRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlBackupRunsListRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedError = new Error('The client has already been closed.');
+      client.close().catch((err) => {
+        throw err;
+      });
+      await assert.rejects(client.list(request), expectedError);
+    });
+  });
+  describe('getLocation', () => {
+    it('invokes getLocation without error', async () => {
+      const client =
+        new sqlbackuprunsserviceModule.v1.SqlBackupRunsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
         });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new LocationProtos.google.cloud.location.GetLocationRequest(),
+      );
+      request.name = '';
+      const expectedHeaderRequestParams = 'name=';
+      const expectedOptions = {
+        otherArgs: {
+          headers: {
+            'x-goog-request-params': expectedHeaderRequestParams,
+          },
+        },
+      };
+      const expectedResponse = generateSampleMessage(
+        new LocationProtos.google.cloud.location.Location(),
+      );
+      client.locationsClient.getLocation = stubSimpleCall(expectedResponse);
+      const response = await client.getLocation(request, expectedOptions);
+      assert.deepStrictEqual(response, [expectedResponse]);
+      assert(
+        (client.locationsClient.getLocation as SinonStub)
+          .getCall(0)
+          .calledWith(request, expectedOptions, undefined),
+      );
+    });
+    it('invokes getLocation without error using callback', async () => {
+      const client =
+        new sqlbackuprunsserviceModule.v1.SqlBackupRunsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new LocationProtos.google.cloud.location.GetLocationRequest(),
+      );
+      request.name = '';
+      const expectedHeaderRequestParams = 'name=';
+      const expectedOptions = {
+        otherArgs: {
+          headers: {
+            'x-goog-request-params': expectedHeaderRequestParams,
+          },
+        },
+      };
+      const expectedResponse = generateSampleMessage(
+        new LocationProtos.google.cloud.location.Location(),
+      );
+      client.locationsClient.getLocation = sinon
+        .stub()
+        .callsArgWith(2, null, expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.getLocation(
+          request,
+          expectedOptions,
+          (
+            err?: Error | null,
+            result?: LocationProtos.google.cloud.location.ILocation | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
+            }
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      assert((client.locationsClient.getLocation as SinonStub).getCall(0));
+    });
+    it('invokes getLocation with error', async () => {
+      const client =
+        new sqlbackuprunsserviceModule.v1.SqlBackupRunsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new LocationProtos.google.cloud.location.GetLocationRequest(),
+      );
+      request.name = '';
+      const expectedHeaderRequestParams = 'name=';
+      const expectedOptions = {
+        otherArgs: {
+          headers: {
+            'x-goog-request-params': expectedHeaderRequestParams,
+          },
+        },
+      };
+      const expectedError = new Error('expected');
+      client.locationsClient.getLocation = stubSimpleCall(
+        undefined,
+        expectedError,
+      );
+      await assert.rejects(
+        client.getLocation(request, expectedOptions),
+        expectedError,
+      );
+      assert(
+        (client.locationsClient.getLocation as SinonStub)
+          .getCall(0)
+          .calledWith(request, expectedOptions, undefined),
+      );
+    });
+  });
+  describe('listLocationsAsync', () => {
+    it('uses async iteration with listLocations without error', async () => {
+      const client =
+        new sqlbackuprunsserviceModule.v1.SqlBackupRunsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new LocationProtos.google.cloud.location.ListLocationsRequest(),
+      );
+      request.name = '';
+      const expectedHeaderRequestParams = 'name=';
+      const expectedResponse = [
+        generateSampleMessage(
+          new LocationProtos.google.cloud.location.Location(),
+        ),
+        generateSampleMessage(
+          new LocationProtos.google.cloud.location.Location(),
+        ),
+        generateSampleMessage(
+          new LocationProtos.google.cloud.location.Location(),
+        ),
+      ];
+      client.locationsClient.descriptors.page.listLocations.asyncIterate =
+        stubAsyncIterationCall(expectedResponse);
+      const responses: LocationProtos.google.cloud.location.ILocation[] = [];
+      const iterable = client.listLocationsAsync(request);
+      for await (const resource of iterable) {
+        responses.push(resource!);
+      }
+      assert.deepStrictEqual(responses, expectedResponse);
+      assert.deepStrictEqual(
+        (
+          client.locationsClient.descriptors.page.listLocations
+            .asyncIterate as SinonStub
+        ).getCall(0).args[1],
+        request,
+      );
+      assert(
+        (
+          client.locationsClient.descriptors.page.listLocations
+            .asyncIterate as SinonStub
+        )
+          .getCall(0)
+          .args[2].otherArgs.headers['x-goog-request-params'].includes(
+            expectedHeaderRequestParams,
+          ),
+      );
+    });
+    it('uses async iteration with listLocations with error', async () => {
+      const client =
+        new sqlbackuprunsserviceModule.v1.SqlBackupRunsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new LocationProtos.google.cloud.location.ListLocationsRequest(),
+      );
+      request.name = '';
+      const expectedHeaderRequestParams = 'name=';
+      const expectedError = new Error('expected');
+      client.locationsClient.descriptors.page.listLocations.asyncIterate =
+        stubAsyncIterationCall(undefined, expectedError);
+      const iterable = client.listLocationsAsync(request);
+      await assert.rejects(async () => {
+        const responses: LocationProtos.google.cloud.location.ILocation[] = [];
+        for await (const resource of iterable) {
+          responses.push(resource!);
+        }
+      });
+      assert.deepStrictEqual(
+        (
+          client.locationsClient.descriptors.page.listLocations
+            .asyncIterate as SinonStub
+        ).getCall(0).args[1],
+        request,
+      );
+      assert(
+        (
+          client.locationsClient.descriptors.page.listLocations
+            .asyncIterate as SinonStub
+        )
+          .getCall(0)
+          .args[2].otherArgs.headers['x-goog-request-params'].includes(
+            expectedHeaderRequestParams,
+          ),
+      );
+    });
+  });
+
+  describe('Path templates', () => {
+    describe('backup', async () => {
+      const fakePath = '/rendered/path/backup';
+      const expectedParameters = {
+        project: 'projectValue',
+        backup: 'backupValue',
+      };
+      const client =
+        new sqlbackuprunsserviceModule.v1.SqlBackupRunsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      client.pathTemplates.backupPathTemplate.render = sinon
+        .stub()
+        .returns(fakePath);
+      client.pathTemplates.backupPathTemplate.match = sinon
+        .stub()
+        .returns(expectedParameters);
+
+      it('backupPath', () => {
+        const result = client.backupPath('projectValue', 'backupValue');
+        assert.strictEqual(result, fakePath);
+        assert(
+          (client.pathTemplates.backupPathTemplate.render as SinonStub)
+            .getCall(-1)
+            .calledWith(expectedParameters),
+        );
+      });
+
+      it('matchProjectFromBackupName', () => {
+        const result = client.matchProjectFromBackupName(fakePath);
+        assert.strictEqual(result, 'projectValue');
+        assert(
+          (client.pathTemplates.backupPathTemplate.match as SinonStub)
+            .getCall(-1)
+            .calledWith(fakePath),
+        );
+      });
+
+      it('matchBackupFromBackupName', () => {
+        const result = client.matchBackupFromBackupName(fakePath);
+        assert.strictEqual(result, 'backupValue');
+        assert(
+          (client.pathTemplates.backupPathTemplate.match as SinonStub)
+            .getCall(-1)
+            .calledWith(fakePath),
+        );
+      });
     });
+  });
 });
diff --git a/packages/google-cloud-sql/test/gapic_sql_backup_runs_service_v1beta4.ts b/packages/google-cloud-sql/test/gapic_sql_backup_runs_service_v1beta4.ts
index e6f331aed7d4..31018716d40f 100644
--- a/packages/google-cloud-sql/test/gapic_sql_backup_runs_service_v1beta4.ts
+++ b/packages/google-cloud-sql/test/gapic_sql_backup_runs_service_v1beta4.ts
@@ -19,957 +19,1215 @@
 import * as protos from '../protos/protos';
 import * as assert from 'assert';
 import * as sinon from 'sinon';
-import {SinonStub} from 'sinon';
-import {describe, it} from 'mocha';
+import { SinonStub } from 'sinon';
+import { describe, it } from 'mocha';
 import * as sqlbackuprunsserviceModule from '../src';
 
-import {protobuf, LocationProtos} from 'google-gax';
+import { protobuf, LocationProtos } from 'google-gax';
 
 // Dynamically loaded proto JSON is needed to get the type information
 // to fill in default values for request objects
-const root = protobuf.Root.fromJSON(require('../protos/protos.json')).resolveAll();
+const root = protobuf.Root.fromJSON(
+  require('../protos/protos.json'),
+).resolveAll();
 
 // eslint-disable-next-line @typescript-eslint/no-unused-vars
 function getTypeDefaultValue(typeName: string, fields: string[]) {
-    let type = root.lookupType(typeName) as protobuf.Type;
-    for (const field of fields.slice(0, -1)) {
-        type = type.fields[field]?.resolvedType as protobuf.Type;
-    }
-    return type.fields[fields[fields.length - 1]]?.defaultValue;
+  let type = root.lookupType(typeName) as protobuf.Type;
+  for (const field of fields.slice(0, -1)) {
+    type = type.fields[field]?.resolvedType as protobuf.Type;
+  }
+  return type.fields[fields[fields.length - 1]]?.defaultValue;
 }
 
 function generateSampleMessage<T extends object>(instance: T) {
-    const filledObject = (instance.constructor as typeof protobuf.Message)
-        .toObject(instance as protobuf.Message<T>, {defaults: true});
-    return (instance.constructor as typeof protobuf.Message).fromObject(filledObject) as T;
+  const filledObject = (
+    instance.constructor as typeof protobuf.Message
+  ).toObject(instance as protobuf.Message<T>, { defaults: true });
+  return (instance.constructor as typeof protobuf.Message).fromObject(
+    filledObject,
+  ) as T;
 }
 
 function stubSimpleCall<ResponseType>(response?: ResponseType, error?: Error) {
-    return error ? sinon.stub().rejects(error) : sinon.stub().resolves([response]);
+  return error
+    ? sinon.stub().rejects(error)
+    : sinon.stub().resolves([response]);
 }
 
-function stubSimpleCallWithCallback<ResponseType>(response?: ResponseType, error?: Error) {
-    return error ? sinon.stub().callsArgWith(2, error) : sinon.stub().callsArgWith(2, null, response);
+function stubSimpleCallWithCallback<ResponseType>(
+  response?: ResponseType,
+  error?: Error,
+) {
+  return error
+    ? sinon.stub().callsArgWith(2, error)
+    : sinon.stub().callsArgWith(2, null, response);
 }
 
-function stubAsyncIterationCall<ResponseType>(responses?: ResponseType[], error?: Error) {
-    let counter = 0;
-    const asyncIterable = {
-        [Symbol.asyncIterator]() {
-            return {
-                async next() {
-                    if (error) {
-                        return Promise.reject(error);
-                    }
-                    if (counter >= responses!.length) {
-                        return Promise.resolve({done: true, value: undefined});
-                    }
-                    return Promise.resolve({done: false, value: responses![counter++]});
-                }
-            };
-        }
-    };
-    return sinon.stub().returns(asyncIterable);
+function stubAsyncIterationCall<ResponseType>(
+  responses?: ResponseType[],
+  error?: Error,
+) {
+  let counter = 0;
+  const asyncIterable = {
+    [Symbol.asyncIterator]() {
+      return {
+        async next() {
+          if (error) {
+            return Promise.reject(error);
+          }
+          if (counter >= responses!.length) {
+            return Promise.resolve({ done: true, value: undefined });
+          }
+          return Promise.resolve({ done: false, value: responses![counter++] });
+        },
+      };
+    },
+  };
+  return sinon.stub().returns(asyncIterable);
 }
 
 describe('v1beta4.SqlBackupRunsServiceClient', () => {
-    describe('Common methods', () => {
-        it('has apiEndpoint', () => {
-            const client = new sqlbackuprunsserviceModule.v1beta4.SqlBackupRunsServiceClient();
-            const apiEndpoint = client.apiEndpoint;
-            assert.strictEqual(apiEndpoint, 'sqladmin.googleapis.com');
-        });
-
-        it('has universeDomain', () => {
-            const client = new sqlbackuprunsserviceModule.v1beta4.SqlBackupRunsServiceClient();
-            const universeDomain = client.universeDomain;
-            assert.strictEqual(universeDomain, "googleapis.com");
-        });
-
-        if (typeof process === 'object' && typeof process.emitWarning === 'function') {
-            it('throws DeprecationWarning if static servicePath is used', () => {
-                const stub = sinon.stub(process, 'emitWarning');
-                const servicePath = sqlbackuprunsserviceModule.v1beta4.SqlBackupRunsServiceClient.servicePath;
-                assert.strictEqual(servicePath, 'sqladmin.googleapis.com');
-                assert(stub.called);
-                stub.restore();
-            });
+  describe('Common methods', () => {
+    it('has apiEndpoint', () => {
+      const client =
+        new sqlbackuprunsserviceModule.v1beta4.SqlBackupRunsServiceClient();
+      const apiEndpoint = client.apiEndpoint;
+      assert.strictEqual(apiEndpoint, 'sqladmin.googleapis.com');
+    });
 
-            it('throws DeprecationWarning if static apiEndpoint is used', () => {
-                const stub = sinon.stub(process, 'emitWarning');
-                const apiEndpoint = sqlbackuprunsserviceModule.v1beta4.SqlBackupRunsServiceClient.apiEndpoint;
-                assert.strictEqual(apiEndpoint, 'sqladmin.googleapis.com');
-                assert(stub.called);
-                stub.restore();
-            });
-        }
-        it('sets apiEndpoint according to universe domain camelCase', () => {
-            const client = new sqlbackuprunsserviceModule.v1beta4.SqlBackupRunsServiceClient({universeDomain: 'example.com'});
-            const servicePath = client.apiEndpoint;
-            assert.strictEqual(servicePath, 'sqladmin.example.com');
-        });
-
-        it('sets apiEndpoint according to universe domain snakeCase', () => {
-            const client = new sqlbackuprunsserviceModule.v1beta4.SqlBackupRunsServiceClient({universe_domain: 'example.com'});
-            const servicePath = client.apiEndpoint;
-            assert.strictEqual(servicePath, 'sqladmin.example.com');
-        });
-
-        if (typeof process === 'object' && 'env' in process) {
-            describe('GOOGLE_CLOUD_UNIVERSE_DOMAIN environment variable', () => {
-                it('sets apiEndpoint from environment variable', () => {
-                    const saved = process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
-                    process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = 'example.com';
-                    const client = new sqlbackuprunsserviceModule.v1beta4.SqlBackupRunsServiceClient();
-                    const servicePath = client.apiEndpoint;
-                    assert.strictEqual(servicePath, 'sqladmin.example.com');
-                    if (saved) {
-                        process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = saved;
-                    } else {
-                        delete process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
-                    }
-                });
-
-                it('value configured in code has priority over environment variable', () => {
-                    const saved = process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
-                    process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = 'example.com';
-                    const client = new sqlbackuprunsserviceModule.v1beta4.SqlBackupRunsServiceClient({universeDomain: 'configured.example.com'});
-                    const servicePath = client.apiEndpoint;
-                    assert.strictEqual(servicePath, 'sqladmin.configured.example.com');
-                    if (saved) {
-                        process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = saved;
-                    } else {
-                        delete process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
-                    }
-                });
-            });
-        }
-        it('does not allow setting both universeDomain and universe_domain', () => {
-            assert.throws(() => { new sqlbackuprunsserviceModule.v1beta4.SqlBackupRunsServiceClient({universe_domain: 'example.com', universeDomain: 'example.net'}); });
+    it('has universeDomain', () => {
+      const client =
+        new sqlbackuprunsserviceModule.v1beta4.SqlBackupRunsServiceClient();
+      const universeDomain = client.universeDomain;
+      assert.strictEqual(universeDomain, 'googleapis.com');
+    });
+
+    if (
+      typeof process === 'object' &&
+      typeof process.emitWarning === 'function'
+    ) {
+      it('throws DeprecationWarning if static servicePath is used', () => {
+        const stub = sinon.stub(process, 'emitWarning');
+        const servicePath =
+          sqlbackuprunsserviceModule.v1beta4.SqlBackupRunsServiceClient
+            .servicePath;
+        assert.strictEqual(servicePath, 'sqladmin.googleapis.com');
+        assert(stub.called);
+        stub.restore();
+      });
+
+      it('throws DeprecationWarning if static apiEndpoint is used', () => {
+        const stub = sinon.stub(process, 'emitWarning');
+        const apiEndpoint =
+          sqlbackuprunsserviceModule.v1beta4.SqlBackupRunsServiceClient
+            .apiEndpoint;
+        assert.strictEqual(apiEndpoint, 'sqladmin.googleapis.com');
+        assert(stub.called);
+        stub.restore();
+      });
+    }
+    it('sets apiEndpoint according to universe domain camelCase', () => {
+      const client =
+        new sqlbackuprunsserviceModule.v1beta4.SqlBackupRunsServiceClient({
+          universeDomain: 'example.com',
         });
+      const servicePath = client.apiEndpoint;
+      assert.strictEqual(servicePath, 'sqladmin.example.com');
+    });
 
-        it('has port', () => {
-            const port = sqlbackuprunsserviceModule.v1beta4.SqlBackupRunsServiceClient.port;
-            assert(port);
-            assert(typeof port === 'number');
+    it('sets apiEndpoint according to universe domain snakeCase', () => {
+      const client =
+        new sqlbackuprunsserviceModule.v1beta4.SqlBackupRunsServiceClient({
+          universe_domain: 'example.com',
         });
+      const servicePath = client.apiEndpoint;
+      assert.strictEqual(servicePath, 'sqladmin.example.com');
+    });
 
-        it('should create a client with no option', () => {
-            const client = new sqlbackuprunsserviceModule.v1beta4.SqlBackupRunsServiceClient();
-            assert(client);
+    if (typeof process === 'object' && 'env' in process) {
+      describe('GOOGLE_CLOUD_UNIVERSE_DOMAIN environment variable', () => {
+        it('sets apiEndpoint from environment variable', () => {
+          const saved = process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
+          process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = 'example.com';
+          const client =
+            new sqlbackuprunsserviceModule.v1beta4.SqlBackupRunsServiceClient();
+          const servicePath = client.apiEndpoint;
+          assert.strictEqual(servicePath, 'sqladmin.example.com');
+          if (saved) {
+            process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = saved;
+          } else {
+            delete process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
+          }
         });
 
-        it('should create a client with gRPC fallback', () => {
-            const client = new sqlbackuprunsserviceModule.v1beta4.SqlBackupRunsServiceClient({
-                fallback: true,
+        it('value configured in code has priority over environment variable', () => {
+          const saved = process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
+          process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = 'example.com';
+          const client =
+            new sqlbackuprunsserviceModule.v1beta4.SqlBackupRunsServiceClient({
+              universeDomain: 'configured.example.com',
             });
-            assert(client);
+          const servicePath = client.apiEndpoint;
+          assert.strictEqual(servicePath, 'sqladmin.configured.example.com');
+          if (saved) {
+            process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = saved;
+          } else {
+            delete process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
+          }
         });
+      });
+    }
+    it('does not allow setting both universeDomain and universe_domain', () => {
+      assert.throws(() => {
+        new sqlbackuprunsserviceModule.v1beta4.SqlBackupRunsServiceClient({
+          universe_domain: 'example.com',
+          universeDomain: 'example.net',
+        });
+      });
+    });
 
-        it('has initialize method and supports deferred initialization', async () => {
-            const client = new sqlbackuprunsserviceModule.v1beta4.SqlBackupRunsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            assert.strictEqual(client.sqlBackupRunsServiceStub, undefined);
-            await client.initialize();
-            assert(client.sqlBackupRunsServiceStub);
+    it('has port', () => {
+      const port =
+        sqlbackuprunsserviceModule.v1beta4.SqlBackupRunsServiceClient.port;
+      assert(port);
+      assert(typeof port === 'number');
+    });
+
+    it('should create a client with no option', () => {
+      const client =
+        new sqlbackuprunsserviceModule.v1beta4.SqlBackupRunsServiceClient();
+      assert(client);
+    });
+
+    it('should create a client with gRPC fallback', () => {
+      const client =
+        new sqlbackuprunsserviceModule.v1beta4.SqlBackupRunsServiceClient({
+          fallback: true,
         });
+      assert(client);
+    });
 
-        it('has close method for the initialized client', done => {
-            const client = new sqlbackuprunsserviceModule.v1beta4.SqlBackupRunsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            client.initialize().catch(err => {throw err});
-            assert(client.sqlBackupRunsServiceStub);
-            client.close().then(() => {
-                done();
-            }).catch(err => {throw err});
+    it('has initialize method and supports deferred initialization', async () => {
+      const client =
+        new sqlbackuprunsserviceModule.v1beta4.SqlBackupRunsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
         });
+      assert.strictEqual(client.sqlBackupRunsServiceStub, undefined);
+      await client.initialize();
+      assert(client.sqlBackupRunsServiceStub);
+    });
 
-        it('has close method for the non-initialized client', done => {
-            const client = new sqlbackuprunsserviceModule.v1beta4.SqlBackupRunsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            assert.strictEqual(client.sqlBackupRunsServiceStub, undefined);
-            client.close().then(() => {
-                done();
-            }).catch(err => {throw err});
+    it('has close method for the initialized client', (done) => {
+      const client =
+        new sqlbackuprunsserviceModule.v1beta4.SqlBackupRunsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      client.initialize().catch((err) => {
+        throw err;
+      });
+      assert(client.sqlBackupRunsServiceStub);
+      client
+        .close()
+        .then(() => {
+          done();
+        })
+        .catch((err) => {
+          throw err;
         });
+    });
 
-        it('has getProjectId method', async () => {
-            const fakeProjectId = 'fake-project-id';
-            const client = new sqlbackuprunsserviceModule.v1beta4.SqlBackupRunsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            client.auth.getProjectId = sinon.stub().resolves(fakeProjectId);
-            const result = await client.getProjectId();
-            assert.strictEqual(result, fakeProjectId);
-            assert((client.auth.getProjectId as SinonStub).calledWithExactly());
+    it('has close method for the non-initialized client', (done) => {
+      const client =
+        new sqlbackuprunsserviceModule.v1beta4.SqlBackupRunsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
         });
+      assert.strictEqual(client.sqlBackupRunsServiceStub, undefined);
+      client
+        .close()
+        .then(() => {
+          done();
+        })
+        .catch((err) => {
+          throw err;
+        });
+    });
 
-        it('has getProjectId method with callback', async () => {
-            const fakeProjectId = 'fake-project-id';
-            const client = new sqlbackuprunsserviceModule.v1beta4.SqlBackupRunsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            client.auth.getProjectId = sinon.stub().callsArgWith(0, null, fakeProjectId);
-            const promise = new Promise((resolve, reject) => {
-                client.getProjectId((err?: Error|null, projectId?: string|null) => {
-                    if (err) {
-                        reject(err);
-                    } else {
-                        resolve(projectId);
-                    }
-                });
-            });
-            const result = await promise;
-            assert.strictEqual(result, fakeProjectId);
+    it('has getProjectId method', async () => {
+      const fakeProjectId = 'fake-project-id';
+      const client =
+        new sqlbackuprunsserviceModule.v1beta4.SqlBackupRunsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
         });
+      client.auth.getProjectId = sinon.stub().resolves(fakeProjectId);
+      const result = await client.getProjectId();
+      assert.strictEqual(result, fakeProjectId);
+      assert((client.auth.getProjectId as SinonStub).calledWithExactly());
     });
 
-    describe('delete', () => {
-        it('invokes delete without error', async () => {
-            const client = new sqlbackuprunsserviceModule.v1beta4.SqlBackupRunsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlBackupRunsDeleteRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlBackupRunsDeleteRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlBackupRunsDeleteRequest', ['instance']);
-            request.instance = defaultValue2;
-            const defaultValue3 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlBackupRunsDeleteRequest', ['id']);
-            request.id = defaultValue3;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }&id=${defaultValue3 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.Operation()
-            );
-            client.innerApiCalls.delete = stubSimpleCall(expectedResponse);
-            const [response] = await client.delete(request);
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.delete as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.delete as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes delete without error using callback', async () => {
-            const client = new sqlbackuprunsserviceModule.v1beta4.SqlBackupRunsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlBackupRunsDeleteRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlBackupRunsDeleteRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlBackupRunsDeleteRequest', ['instance']);
-            request.instance = defaultValue2;
-            const defaultValue3 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlBackupRunsDeleteRequest', ['id']);
-            request.id = defaultValue3;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }&id=${defaultValue3 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.Operation()
-            );
-            client.innerApiCalls.delete = stubSimpleCallWithCallback(expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.delete(
-                    request,
-                    (err?: Error|null, result?: protos.google.cloud.sql.v1beta4.IOperation|null) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.delete as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.delete as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes delete with error', async () => {
-            const client = new sqlbackuprunsserviceModule.v1beta4.SqlBackupRunsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlBackupRunsDeleteRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlBackupRunsDeleteRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlBackupRunsDeleteRequest', ['instance']);
-            request.instance = defaultValue2;
-            const defaultValue3 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlBackupRunsDeleteRequest', ['id']);
-            request.id = defaultValue3;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }&id=${defaultValue3 ?? '' }`;
-            const expectedError = new Error('expected');
-            client.innerApiCalls.delete = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.delete(request), expectedError);
-            const actualRequest = (client.innerApiCalls.delete as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.delete as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes delete with closed client', async () => {
-            const client = new sqlbackuprunsserviceModule.v1beta4.SqlBackupRunsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlBackupRunsDeleteRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlBackupRunsDeleteRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlBackupRunsDeleteRequest', ['instance']);
-            request.instance = defaultValue2;
-            const defaultValue3 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlBackupRunsDeleteRequest', ['id']);
-            request.id = defaultValue3;
-            const expectedError = new Error('The client has already been closed.');
-            client.close().catch(err => {throw err});
-            await assert.rejects(client.delete(request), expectedError);
-        });
-    });
-
-    describe('get', () => {
-        it('invokes get without error', async () => {
-            const client = new sqlbackuprunsserviceModule.v1beta4.SqlBackupRunsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlBackupRunsGetRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlBackupRunsGetRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlBackupRunsGetRequest', ['instance']);
-            request.instance = defaultValue2;
-            const defaultValue3 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlBackupRunsGetRequest', ['id']);
-            request.id = defaultValue3;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }&id=${defaultValue3 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.BackupRun()
-            );
-            client.innerApiCalls.get = stubSimpleCall(expectedResponse);
-            const [response] = await client.get(request);
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.get as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.get as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes get without error using callback', async () => {
-            const client = new sqlbackuprunsserviceModule.v1beta4.SqlBackupRunsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlBackupRunsGetRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlBackupRunsGetRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlBackupRunsGetRequest', ['instance']);
-            request.instance = defaultValue2;
-            const defaultValue3 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlBackupRunsGetRequest', ['id']);
-            request.id = defaultValue3;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }&id=${defaultValue3 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.BackupRun()
-            );
-            client.innerApiCalls.get = stubSimpleCallWithCallback(expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.get(
-                    request,
-                    (err?: Error|null, result?: protos.google.cloud.sql.v1beta4.IBackupRun|null) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.get as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.get as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes get with error', async () => {
-            const client = new sqlbackuprunsserviceModule.v1beta4.SqlBackupRunsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlBackupRunsGetRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlBackupRunsGetRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlBackupRunsGetRequest', ['instance']);
-            request.instance = defaultValue2;
-            const defaultValue3 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlBackupRunsGetRequest', ['id']);
-            request.id = defaultValue3;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }&id=${defaultValue3 ?? '' }`;
-            const expectedError = new Error('expected');
-            client.innerApiCalls.get = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.get(request), expectedError);
-            const actualRequest = (client.innerApiCalls.get as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.get as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes get with closed client', async () => {
-            const client = new sqlbackuprunsserviceModule.v1beta4.SqlBackupRunsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlBackupRunsGetRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlBackupRunsGetRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlBackupRunsGetRequest', ['instance']);
-            request.instance = defaultValue2;
-            const defaultValue3 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlBackupRunsGetRequest', ['id']);
-            request.id = defaultValue3;
-            const expectedError = new Error('The client has already been closed.');
-            client.close().catch(err => {throw err});
-            await assert.rejects(client.get(request), expectedError);
-        });
-    });
-
-    describe('insert', () => {
-        it('invokes insert without error', async () => {
-            const client = new sqlbackuprunsserviceModule.v1beta4.SqlBackupRunsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlBackupRunsInsertRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlBackupRunsInsertRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlBackupRunsInsertRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.Operation()
-            );
-            client.innerApiCalls.insert = stubSimpleCall(expectedResponse);
-            const [response] = await client.insert(request);
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.insert as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.insert as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes insert without error using callback', async () => {
-            const client = new sqlbackuprunsserviceModule.v1beta4.SqlBackupRunsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlBackupRunsInsertRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlBackupRunsInsertRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlBackupRunsInsertRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.Operation()
-            );
-            client.innerApiCalls.insert = stubSimpleCallWithCallback(expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.insert(
-                    request,
-                    (err?: Error|null, result?: protos.google.cloud.sql.v1beta4.IOperation|null) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.insert as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.insert as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes insert with error', async () => {
-            const client = new sqlbackuprunsserviceModule.v1beta4.SqlBackupRunsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlBackupRunsInsertRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlBackupRunsInsertRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlBackupRunsInsertRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedError = new Error('expected');
-            client.innerApiCalls.insert = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.insert(request), expectedError);
-            const actualRequest = (client.innerApiCalls.insert as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.insert as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes insert with closed client', async () => {
-            const client = new sqlbackuprunsserviceModule.v1beta4.SqlBackupRunsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlBackupRunsInsertRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlBackupRunsInsertRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlBackupRunsInsertRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedError = new Error('The client has already been closed.');
-            client.close().catch(err => {throw err});
-            await assert.rejects(client.insert(request), expectedError);
-        });
-    });
-
-    describe('list', () => {
-        it('invokes list without error', async () => {
-            const client = new sqlbackuprunsserviceModule.v1beta4.SqlBackupRunsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlBackupRunsListRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlBackupRunsListRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlBackupRunsListRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.BackupRunsListResponse()
-            );
-            client.innerApiCalls.list = stubSimpleCall(expectedResponse);
-            const [response] = await client.list(request);
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.list as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.list as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes list without error using callback', async () => {
-            const client = new sqlbackuprunsserviceModule.v1beta4.SqlBackupRunsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlBackupRunsListRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlBackupRunsListRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlBackupRunsListRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.BackupRunsListResponse()
-            );
-            client.innerApiCalls.list = stubSimpleCallWithCallback(expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.list(
-                    request,
-                    (err?: Error|null, result?: protos.google.cloud.sql.v1beta4.IBackupRunsListResponse|null) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.list as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.list as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes list with error', async () => {
-            const client = new sqlbackuprunsserviceModule.v1beta4.SqlBackupRunsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlBackupRunsListRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlBackupRunsListRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlBackupRunsListRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedError = new Error('expected');
-            client.innerApiCalls.list = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.list(request), expectedError);
-            const actualRequest = (client.innerApiCalls.list as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.list as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes list with closed client', async () => {
-            const client = new sqlbackuprunsserviceModule.v1beta4.SqlBackupRunsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlBackupRunsListRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlBackupRunsListRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlBackupRunsListRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedError = new Error('The client has already been closed.');
-            client.close().catch(err => {throw err});
-            await assert.rejects(client.list(request), expectedError);
-        });
-    });
-    describe('getLocation', () => {
-        it('invokes getLocation without error', async () => {
-            const client = new sqlbackuprunsserviceModule.v1beta4.SqlBackupRunsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new LocationProtos.google.cloud.location.GetLocationRequest()
-            );
-            request.name = '';
-            const expectedHeaderRequestParams = 'name=';
-            const expectedOptions = {
-                otherArgs: {
-                    headers: {
-                        'x-goog-request-params': expectedHeaderRequestParams,
-                    },
-                },
-            };
-            const expectedResponse = generateSampleMessage(
-              new LocationProtos.google.cloud.location.Location()
-            );
-            client.locationsClient.getLocation = stubSimpleCall(expectedResponse);
-            const response = await client.getLocation(request, expectedOptions);
-            assert.deepStrictEqual(response, [expectedResponse]);
-            assert((client.locationsClient.getLocation as SinonStub)
-                .getCall(0).calledWith(request, expectedOptions, undefined));
-        });
-        it('invokes getLocation without error using callback', async () => {
-            const client = new sqlbackuprunsserviceModule.v1beta4.SqlBackupRunsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new LocationProtos.google.cloud.location.GetLocationRequest()
-            );
-            request.name = '';
-            const expectedHeaderRequestParams = 'name=';
-            const expectedOptions = {
-                otherArgs: {
-                    headers: {
-                        'x-goog-request-params': expectedHeaderRequestParams,
-                    },
-                },
-            };
-            const expectedResponse = generateSampleMessage(
-              new LocationProtos.google.cloud.location.Location()
-            );
-            client.locationsClient.getLocation = sinon.stub().callsArgWith(2, null, expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.getLocation(
-                    request,
-                    expectedOptions,
-                    (
-                        err?: Error | null,
-                        result?: LocationProtos.google.cloud.location.ILocation | null
-                    ) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            assert((client.locationsClient.getLocation as SinonStub)
-                .getCall(0));
-        });
-        it('invokes getLocation with error', async () => {
-            const client = new sqlbackuprunsserviceModule.v1beta4.SqlBackupRunsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new LocationProtos.google.cloud.location.GetLocationRequest()
-            );
-            request.name = '';
-            const expectedHeaderRequestParams = 'name=';
-            const expectedOptions = {
-                otherArgs: {
-                    headers: {
-                        'x-goog-request-params': expectedHeaderRequestParams,
-                    },
-                },
-            };
-            const expectedError = new Error('expected');
-            client.locationsClient.getLocation = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.getLocation(request, expectedOptions), expectedError);
-            assert((client.locationsClient.getLocation as SinonStub)
-                .getCall(0).calledWith(request, expectedOptions, undefined));
-        });
-    });
-    describe('listLocationsAsync', () => {
-        it('uses async iteration with listLocations without error', async () => {
-            const client = new sqlbackuprunsserviceModule.v1beta4.SqlBackupRunsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-                new LocationProtos.google.cloud.location.ListLocationsRequest()
-            );
-            request.name = '';
-            const expectedHeaderRequestParams = 'name=';
-            const expectedResponse = [
-                generateSampleMessage(
-                    new LocationProtos.google.cloud.location.Location()
-                ),
-                generateSampleMessage(
-                    new LocationProtos.google.cloud.location.Location()
-                ),
-                generateSampleMessage(
-                    new LocationProtos.google.cloud.location.Location()
-                ),
-            ];
-            client.locationsClient.descriptors.page.listLocations.asyncIterate = stubAsyncIterationCall(expectedResponse);
-            const responses: LocationProtos.google.cloud.location.ILocation[] = [];
-            const iterable = client.listLocationsAsync(request);
-            for await (const resource of iterable) {
-                responses.push(resource!);
+    it('has getProjectId method with callback', async () => {
+      const fakeProjectId = 'fake-project-id';
+      const client =
+        new sqlbackuprunsserviceModule.v1beta4.SqlBackupRunsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      client.auth.getProjectId = sinon
+        .stub()
+        .callsArgWith(0, null, fakeProjectId);
+      const promise = new Promise((resolve, reject) => {
+        client.getProjectId((err?: Error | null, projectId?: string | null) => {
+          if (err) {
+            reject(err);
+          } else {
+            resolve(projectId);
+          }
+        });
+      });
+      const result = await promise;
+      assert.strictEqual(result, fakeProjectId);
+    });
+  });
+
+  describe('delete', () => {
+    it('invokes delete without error', async () => {
+      const client =
+        new sqlbackuprunsserviceModule.v1beta4.SqlBackupRunsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlBackupRunsDeleteRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlBackupRunsDeleteRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlBackupRunsDeleteRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const defaultValue3 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlBackupRunsDeleteRequest',
+        ['id'],
+      );
+      request.id = defaultValue3;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}&id=${defaultValue3 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.Operation(),
+      );
+      client.innerApiCalls.delete = stubSimpleCall(expectedResponse);
+      const [response] = await client.delete(request);
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (client.innerApiCalls.delete as SinonStub).getCall(
+        0,
+      ).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.delete as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes delete without error using callback', async () => {
+      const client =
+        new sqlbackuprunsserviceModule.v1beta4.SqlBackupRunsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlBackupRunsDeleteRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlBackupRunsDeleteRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlBackupRunsDeleteRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const defaultValue3 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlBackupRunsDeleteRequest',
+        ['id'],
+      );
+      request.id = defaultValue3;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}&id=${defaultValue3 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.Operation(),
+      );
+      client.innerApiCalls.delete =
+        stubSimpleCallWithCallback(expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.delete(
+          request,
+          (
+            err?: Error | null,
+            result?: protos.google.cloud.sql.v1beta4.IOperation | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
             }
-            assert.deepStrictEqual(responses, expectedResponse);
-            assert.deepStrictEqual(
-                (client.locationsClient.descriptors.page.listLocations.asyncIterate as SinonStub)
-                    .getCall(0).args[1], request);
-            assert(
-                (client.locationsClient.descriptors.page.listLocations.asyncIterate as SinonStub)
-                    .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes(
-                        expectedHeaderRequestParams
-                    )
-            );
-        });
-        it('uses async iteration with listLocations with error', async () => {
-            const client = new sqlbackuprunsserviceModule.v1beta4.SqlBackupRunsServiceClient({
-                credentials: {client_email: 'bogus', private_key: 'bogus'},
-                projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new LocationProtos.google.cloud.location.ListLocationsRequest()
-            );
-            request.name = '';
-            const expectedHeaderRequestParams = 'name=';
-            const expectedError = new Error('expected');
-            client.locationsClient.descriptors.page.listLocations.asyncIterate = stubAsyncIterationCall(undefined, expectedError);
-            const iterable = client.listLocationsAsync(request);
-            await assert.rejects(async () => {
-                const responses: LocationProtos.google.cloud.location.ILocation[] = [];
-                for await (const resource of iterable) {
-                    responses.push(resource!);
-                }
-            });
-            assert.deepStrictEqual(
-                (client.locationsClient.descriptors.page.listLocations.asyncIterate as SinonStub)
-                    .getCall(0).args[1], request);
-            assert(
-                (client.locationsClient.descriptors.page.listLocations.asyncIterate as SinonStub)
-                    .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes(
-                        expectedHeaderRequestParams
-                    )
-            );
-        });
-    });
-
-    describe('Path templates', () => {
-
-        describe('backup', async () => {
-            const fakePath = "/rendered/path/backup";
-            const expectedParameters = {
-                project: "projectValue",
-                backup: "backupValue",
-            };
-            const client = new sqlbackuprunsserviceModule.v1beta4.SqlBackupRunsServiceClient({
-                credentials: {client_email: 'bogus', private_key: 'bogus'},
-                projectId: 'bogus',
-            });
-            await client.initialize();
-            client.pathTemplates.backupPathTemplate.render =
-                sinon.stub().returns(fakePath);
-            client.pathTemplates.backupPathTemplate.match =
-                sinon.stub().returns(expectedParameters);
-
-            it('backupPath', () => {
-                const result = client.backupPath("projectValue", "backupValue");
-                assert.strictEqual(result, fakePath);
-                assert((client.pathTemplates.backupPathTemplate.render as SinonStub)
-                    .getCall(-1).calledWith(expectedParameters));
-            });
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (client.innerApiCalls.delete as SinonStub).getCall(
+        0,
+      ).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.delete as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-            it('matchProjectFromBackupName', () => {
-                const result = client.matchProjectFromBackupName(fakePath);
-                assert.strictEqual(result, "projectValue");
-                assert((client.pathTemplates.backupPathTemplate.match as SinonStub)
-                    .getCall(-1).calledWith(fakePath));
-            });
+    it('invokes delete with error', async () => {
+      const client =
+        new sqlbackuprunsserviceModule.v1beta4.SqlBackupRunsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlBackupRunsDeleteRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlBackupRunsDeleteRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlBackupRunsDeleteRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const defaultValue3 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlBackupRunsDeleteRequest',
+        ['id'],
+      );
+      request.id = defaultValue3;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}&id=${defaultValue3 ?? ''}`;
+      const expectedError = new Error('expected');
+      client.innerApiCalls.delete = stubSimpleCall(undefined, expectedError);
+      await assert.rejects(client.delete(request), expectedError);
+      const actualRequest = (client.innerApiCalls.delete as SinonStub).getCall(
+        0,
+      ).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.delete as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-            it('matchBackupFromBackupName', () => {
-                const result = client.matchBackupFromBackupName(fakePath);
-                assert.strictEqual(result, "backupValue");
-                assert((client.pathTemplates.backupPathTemplate.match as SinonStub)
-                    .getCall(-1).calledWith(fakePath));
-            });
+    it('invokes delete with closed client', async () => {
+      const client =
+        new sqlbackuprunsserviceModule.v1beta4.SqlBackupRunsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
         });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlBackupRunsDeleteRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlBackupRunsDeleteRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlBackupRunsDeleteRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const defaultValue3 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlBackupRunsDeleteRequest',
+        ['id'],
+      );
+      request.id = defaultValue3;
+      const expectedError = new Error('The client has already been closed.');
+      client.close().catch((err) => {
+        throw err;
+      });
+      await assert.rejects(client.delete(request), expectedError);
+    });
+  });
 
-        describe('project', async () => {
-            const fakePath = "/rendered/path/project";
-            const expectedParameters = {
-                project: "projectValue",
-            };
-            const client = new sqlbackuprunsserviceModule.v1beta4.SqlBackupRunsServiceClient({
-                credentials: {client_email: 'bogus', private_key: 'bogus'},
-                projectId: 'bogus',
-            });
-            await client.initialize();
-            client.pathTemplates.projectPathTemplate.render =
-                sinon.stub().returns(fakePath);
-            client.pathTemplates.projectPathTemplate.match =
-                sinon.stub().returns(expectedParameters);
-
-            it('projectPath', () => {
-                const result = client.projectPath("projectValue");
-                assert.strictEqual(result, fakePath);
-                assert((client.pathTemplates.projectPathTemplate.render as SinonStub)
-                    .getCall(-1).calledWith(expectedParameters));
-            });
+  describe('get', () => {
+    it('invokes get without error', async () => {
+      const client =
+        new sqlbackuprunsserviceModule.v1beta4.SqlBackupRunsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlBackupRunsGetRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlBackupRunsGetRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlBackupRunsGetRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const defaultValue3 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlBackupRunsGetRequest',
+        ['id'],
+      );
+      request.id = defaultValue3;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}&id=${defaultValue3 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.BackupRun(),
+      );
+      client.innerApiCalls.get = stubSimpleCall(expectedResponse);
+      const [response] = await client.get(request);
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (client.innerApiCalls.get as SinonStub).getCall(0)
+        .args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.get as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-            it('matchProjectFromProjectName', () => {
-                const result = client.matchProjectFromProjectName(fakePath);
-                assert.strictEqual(result, "projectValue");
-                assert((client.pathTemplates.projectPathTemplate.match as SinonStub)
-                    .getCall(-1).calledWith(fakePath));
-            });
+    it('invokes get without error using callback', async () => {
+      const client =
+        new sqlbackuprunsserviceModule.v1beta4.SqlBackupRunsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlBackupRunsGetRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlBackupRunsGetRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlBackupRunsGetRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const defaultValue3 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlBackupRunsGetRequest',
+        ['id'],
+      );
+      request.id = defaultValue3;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}&id=${defaultValue3 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.BackupRun(),
+      );
+      client.innerApiCalls.get = stubSimpleCallWithCallback(expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.get(
+          request,
+          (
+            err?: Error | null,
+            result?: protos.google.cloud.sql.v1beta4.IBackupRun | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
+            }
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (client.innerApiCalls.get as SinonStub).getCall(0)
+        .args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.get as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes get with error', async () => {
+      const client =
+        new sqlbackuprunsserviceModule.v1beta4.SqlBackupRunsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlBackupRunsGetRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlBackupRunsGetRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlBackupRunsGetRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const defaultValue3 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlBackupRunsGetRequest',
+        ['id'],
+      );
+      request.id = defaultValue3;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}&id=${defaultValue3 ?? ''}`;
+      const expectedError = new Error('expected');
+      client.innerApiCalls.get = stubSimpleCall(undefined, expectedError);
+      await assert.rejects(client.get(request), expectedError);
+      const actualRequest = (client.innerApiCalls.get as SinonStub).getCall(0)
+        .args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.get as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes get with closed client', async () => {
+      const client =
+        new sqlbackuprunsserviceModule.v1beta4.SqlBackupRunsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlBackupRunsGetRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlBackupRunsGetRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlBackupRunsGetRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const defaultValue3 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlBackupRunsGetRequest',
+        ['id'],
+      );
+      request.id = defaultValue3;
+      const expectedError = new Error('The client has already been closed.');
+      client.close().catch((err) => {
+        throw err;
+      });
+      await assert.rejects(client.get(request), expectedError);
+    });
+  });
+
+  describe('insert', () => {
+    it('invokes insert without error', async () => {
+      const client =
+        new sqlbackuprunsserviceModule.v1beta4.SqlBackupRunsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlBackupRunsInsertRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlBackupRunsInsertRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlBackupRunsInsertRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.Operation(),
+      );
+      client.innerApiCalls.insert = stubSimpleCall(expectedResponse);
+      const [response] = await client.insert(request);
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (client.innerApiCalls.insert as SinonStub).getCall(
+        0,
+      ).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.insert as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes insert without error using callback', async () => {
+      const client =
+        new sqlbackuprunsserviceModule.v1beta4.SqlBackupRunsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlBackupRunsInsertRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlBackupRunsInsertRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlBackupRunsInsertRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.Operation(),
+      );
+      client.innerApiCalls.insert =
+        stubSimpleCallWithCallback(expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.insert(
+          request,
+          (
+            err?: Error | null,
+            result?: protos.google.cloud.sql.v1beta4.IOperation | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
+            }
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (client.innerApiCalls.insert as SinonStub).getCall(
+        0,
+      ).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.insert as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes insert with error', async () => {
+      const client =
+        new sqlbackuprunsserviceModule.v1beta4.SqlBackupRunsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlBackupRunsInsertRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlBackupRunsInsertRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlBackupRunsInsertRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedError = new Error('expected');
+      client.innerApiCalls.insert = stubSimpleCall(undefined, expectedError);
+      await assert.rejects(client.insert(request), expectedError);
+      const actualRequest = (client.innerApiCalls.insert as SinonStub).getCall(
+        0,
+      ).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.insert as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes insert with closed client', async () => {
+      const client =
+        new sqlbackuprunsserviceModule.v1beta4.SqlBackupRunsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlBackupRunsInsertRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlBackupRunsInsertRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlBackupRunsInsertRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedError = new Error('The client has already been closed.');
+      client.close().catch((err) => {
+        throw err;
+      });
+      await assert.rejects(client.insert(request), expectedError);
+    });
+  });
+
+  describe('list', () => {
+    it('invokes list without error', async () => {
+      const client =
+        new sqlbackuprunsserviceModule.v1beta4.SqlBackupRunsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlBackupRunsListRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlBackupRunsListRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlBackupRunsListRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.BackupRunsListResponse(),
+      );
+      client.innerApiCalls.list = stubSimpleCall(expectedResponse);
+      const [response] = await client.list(request);
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (client.innerApiCalls.list as SinonStub).getCall(0)
+        .args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.list as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes list without error using callback', async () => {
+      const client =
+        new sqlbackuprunsserviceModule.v1beta4.SqlBackupRunsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlBackupRunsListRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlBackupRunsListRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlBackupRunsListRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.BackupRunsListResponse(),
+      );
+      client.innerApiCalls.list = stubSimpleCallWithCallback(expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.list(
+          request,
+          (
+            err?: Error | null,
+            result?: protos.google.cloud.sql.v1beta4.IBackupRunsListResponse | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
+            }
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (client.innerApiCalls.list as SinonStub).getCall(0)
+        .args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.list as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes list with error', async () => {
+      const client =
+        new sqlbackuprunsserviceModule.v1beta4.SqlBackupRunsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlBackupRunsListRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlBackupRunsListRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlBackupRunsListRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedError = new Error('expected');
+      client.innerApiCalls.list = stubSimpleCall(undefined, expectedError);
+      await assert.rejects(client.list(request), expectedError);
+      const actualRequest = (client.innerApiCalls.list as SinonStub).getCall(0)
+        .args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.list as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes list with closed client', async () => {
+      const client =
+        new sqlbackuprunsserviceModule.v1beta4.SqlBackupRunsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlBackupRunsListRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlBackupRunsListRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlBackupRunsListRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedError = new Error('The client has already been closed.');
+      client.close().catch((err) => {
+        throw err;
+      });
+      await assert.rejects(client.list(request), expectedError);
+    });
+  });
+  describe('getLocation', () => {
+    it('invokes getLocation without error', async () => {
+      const client =
+        new sqlbackuprunsserviceModule.v1beta4.SqlBackupRunsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new LocationProtos.google.cloud.location.GetLocationRequest(),
+      );
+      request.name = '';
+      const expectedHeaderRequestParams = 'name=';
+      const expectedOptions = {
+        otherArgs: {
+          headers: {
+            'x-goog-request-params': expectedHeaderRequestParams,
+          },
+        },
+      };
+      const expectedResponse = generateSampleMessage(
+        new LocationProtos.google.cloud.location.Location(),
+      );
+      client.locationsClient.getLocation = stubSimpleCall(expectedResponse);
+      const response = await client.getLocation(request, expectedOptions);
+      assert.deepStrictEqual(response, [expectedResponse]);
+      assert(
+        (client.locationsClient.getLocation as SinonStub)
+          .getCall(0)
+          .calledWith(request, expectedOptions, undefined),
+      );
+    });
+    it('invokes getLocation without error using callback', async () => {
+      const client =
+        new sqlbackuprunsserviceModule.v1beta4.SqlBackupRunsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new LocationProtos.google.cloud.location.GetLocationRequest(),
+      );
+      request.name = '';
+      const expectedHeaderRequestParams = 'name=';
+      const expectedOptions = {
+        otherArgs: {
+          headers: {
+            'x-goog-request-params': expectedHeaderRequestParams,
+          },
+        },
+      };
+      const expectedResponse = generateSampleMessage(
+        new LocationProtos.google.cloud.location.Location(),
+      );
+      client.locationsClient.getLocation = sinon
+        .stub()
+        .callsArgWith(2, null, expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.getLocation(
+          request,
+          expectedOptions,
+          (
+            err?: Error | null,
+            result?: LocationProtos.google.cloud.location.ILocation | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
+            }
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      assert((client.locationsClient.getLocation as SinonStub).getCall(0));
+    });
+    it('invokes getLocation with error', async () => {
+      const client =
+        new sqlbackuprunsserviceModule.v1beta4.SqlBackupRunsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new LocationProtos.google.cloud.location.GetLocationRequest(),
+      );
+      request.name = '';
+      const expectedHeaderRequestParams = 'name=';
+      const expectedOptions = {
+        otherArgs: {
+          headers: {
+            'x-goog-request-params': expectedHeaderRequestParams,
+          },
+        },
+      };
+      const expectedError = new Error('expected');
+      client.locationsClient.getLocation = stubSimpleCall(
+        undefined,
+        expectedError,
+      );
+      await assert.rejects(
+        client.getLocation(request, expectedOptions),
+        expectedError,
+      );
+      assert(
+        (client.locationsClient.getLocation as SinonStub)
+          .getCall(0)
+          .calledWith(request, expectedOptions, undefined),
+      );
+    });
+  });
+  describe('listLocationsAsync', () => {
+    it('uses async iteration with listLocations without error', async () => {
+      const client =
+        new sqlbackuprunsserviceModule.v1beta4.SqlBackupRunsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new LocationProtos.google.cloud.location.ListLocationsRequest(),
+      );
+      request.name = '';
+      const expectedHeaderRequestParams = 'name=';
+      const expectedResponse = [
+        generateSampleMessage(
+          new LocationProtos.google.cloud.location.Location(),
+        ),
+        generateSampleMessage(
+          new LocationProtos.google.cloud.location.Location(),
+        ),
+        generateSampleMessage(
+          new LocationProtos.google.cloud.location.Location(),
+        ),
+      ];
+      client.locationsClient.descriptors.page.listLocations.asyncIterate =
+        stubAsyncIterationCall(expectedResponse);
+      const responses: LocationProtos.google.cloud.location.ILocation[] = [];
+      const iterable = client.listLocationsAsync(request);
+      for await (const resource of iterable) {
+        responses.push(resource!);
+      }
+      assert.deepStrictEqual(responses, expectedResponse);
+      assert.deepStrictEqual(
+        (
+          client.locationsClient.descriptors.page.listLocations
+            .asyncIterate as SinonStub
+        ).getCall(0).args[1],
+        request,
+      );
+      assert(
+        (
+          client.locationsClient.descriptors.page.listLocations
+            .asyncIterate as SinonStub
+        )
+          .getCall(0)
+          .args[2].otherArgs.headers['x-goog-request-params'].includes(
+            expectedHeaderRequestParams,
+          ),
+      );
+    });
+    it('uses async iteration with listLocations with error', async () => {
+      const client =
+        new sqlbackuprunsserviceModule.v1beta4.SqlBackupRunsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new LocationProtos.google.cloud.location.ListLocationsRequest(),
+      );
+      request.name = '';
+      const expectedHeaderRequestParams = 'name=';
+      const expectedError = new Error('expected');
+      client.locationsClient.descriptors.page.listLocations.asyncIterate =
+        stubAsyncIterationCall(undefined, expectedError);
+      const iterable = client.listLocationsAsync(request);
+      await assert.rejects(async () => {
+        const responses: LocationProtos.google.cloud.location.ILocation[] = [];
+        for await (const resource of iterable) {
+          responses.push(resource!);
+        }
+      });
+      assert.deepStrictEqual(
+        (
+          client.locationsClient.descriptors.page.listLocations
+            .asyncIterate as SinonStub
+        ).getCall(0).args[1],
+        request,
+      );
+      assert(
+        (
+          client.locationsClient.descriptors.page.listLocations
+            .asyncIterate as SinonStub
+        )
+          .getCall(0)
+          .args[2].otherArgs.headers['x-goog-request-params'].includes(
+            expectedHeaderRequestParams,
+          ),
+      );
+    });
+  });
+
+  describe('Path templates', () => {
+    describe('backup', async () => {
+      const fakePath = '/rendered/path/backup';
+      const expectedParameters = {
+        project: 'projectValue',
+        backup: 'backupValue',
+      };
+      const client =
+        new sqlbackuprunsserviceModule.v1beta4.SqlBackupRunsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
         });
+      await client.initialize();
+      client.pathTemplates.backupPathTemplate.render = sinon
+        .stub()
+        .returns(fakePath);
+      client.pathTemplates.backupPathTemplate.match = sinon
+        .stub()
+        .returns(expectedParameters);
+
+      it('backupPath', () => {
+        const result = client.backupPath('projectValue', 'backupValue');
+        assert.strictEqual(result, fakePath);
+        assert(
+          (client.pathTemplates.backupPathTemplate.render as SinonStub)
+            .getCall(-1)
+            .calledWith(expectedParameters),
+        );
+      });
+
+      it('matchProjectFromBackupName', () => {
+        const result = client.matchProjectFromBackupName(fakePath);
+        assert.strictEqual(result, 'projectValue');
+        assert(
+          (client.pathTemplates.backupPathTemplate.match as SinonStub)
+            .getCall(-1)
+            .calledWith(fakePath),
+        );
+      });
+
+      it('matchBackupFromBackupName', () => {
+        const result = client.matchBackupFromBackupName(fakePath);
+        assert.strictEqual(result, 'backupValue');
+        assert(
+          (client.pathTemplates.backupPathTemplate.match as SinonStub)
+            .getCall(-1)
+            .calledWith(fakePath),
+        );
+      });
+    });
+
+    describe('project', async () => {
+      const fakePath = '/rendered/path/project';
+      const expectedParameters = {
+        project: 'projectValue',
+      };
+      const client =
+        new sqlbackuprunsserviceModule.v1beta4.SqlBackupRunsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      client.pathTemplates.projectPathTemplate.render = sinon
+        .stub()
+        .returns(fakePath);
+      client.pathTemplates.projectPathTemplate.match = sinon
+        .stub()
+        .returns(expectedParameters);
+
+      it('projectPath', () => {
+        const result = client.projectPath('projectValue');
+        assert.strictEqual(result, fakePath);
+        assert(
+          (client.pathTemplates.projectPathTemplate.render as SinonStub)
+            .getCall(-1)
+            .calledWith(expectedParameters),
+        );
+      });
+
+      it('matchProjectFromProjectName', () => {
+        const result = client.matchProjectFromProjectName(fakePath);
+        assert.strictEqual(result, 'projectValue');
+        assert(
+          (client.pathTemplates.projectPathTemplate.match as SinonStub)
+            .getCall(-1)
+            .calledWith(fakePath),
+        );
+      });
     });
+  });
 });
diff --git a/packages/google-cloud-sql/test/gapic_sql_backups_service_v1.ts b/packages/google-cloud-sql/test/gapic_sql_backups_service_v1.ts
index 7cd5fd683143..e0e3601d826c 100644
--- a/packages/google-cloud-sql/test/gapic_sql_backups_service_v1.ts
+++ b/packages/google-cloud-sql/test/gapic_sql_backups_service_v1.ts
@@ -19,1161 +19,1417 @@
 import * as protos from '../protos/protos';
 import * as assert from 'assert';
 import * as sinon from 'sinon';
-import {SinonStub} from 'sinon';
-import {describe, it} from 'mocha';
+import { SinonStub } from 'sinon';
+import { describe, it } from 'mocha';
 import * as sqlbackupsserviceModule from '../src';
 
-import {PassThrough} from 'stream';
+import { PassThrough } from 'stream';
 
-import {protobuf, LocationProtos} from 'google-gax';
+import { protobuf, LocationProtos } from 'google-gax';
 
 // Dynamically loaded proto JSON is needed to get the type information
 // to fill in default values for request objects
-const root = protobuf.Root.fromJSON(require('../protos/protos.json')).resolveAll();
+const root = protobuf.Root.fromJSON(
+  require('../protos/protos.json'),
+).resolveAll();
 
 // eslint-disable-next-line @typescript-eslint/no-unused-vars
 function getTypeDefaultValue(typeName: string, fields: string[]) {
-    let type = root.lookupType(typeName) as protobuf.Type;
-    for (const field of fields.slice(0, -1)) {
-        type = type.fields[field]?.resolvedType as protobuf.Type;
-    }
-    return type.fields[fields[fields.length - 1]]?.defaultValue;
+  let type = root.lookupType(typeName) as protobuf.Type;
+  for (const field of fields.slice(0, -1)) {
+    type = type.fields[field]?.resolvedType as protobuf.Type;
+  }
+  return type.fields[fields[fields.length - 1]]?.defaultValue;
 }
 
 function generateSampleMessage<T extends object>(instance: T) {
-    const filledObject = (instance.constructor as typeof protobuf.Message)
-        .toObject(instance as protobuf.Message<T>, {defaults: true});
-    return (instance.constructor as typeof protobuf.Message).fromObject(filledObject) as T;
+  const filledObject = (
+    instance.constructor as typeof protobuf.Message
+  ).toObject(instance as protobuf.Message<T>, { defaults: true });
+  return (instance.constructor as typeof protobuf.Message).fromObject(
+    filledObject,
+  ) as T;
 }
 
 function stubSimpleCall<ResponseType>(response?: ResponseType, error?: Error) {
-    return error ? sinon.stub().rejects(error) : sinon.stub().resolves([response]);
+  return error
+    ? sinon.stub().rejects(error)
+    : sinon.stub().resolves([response]);
 }
 
-function stubSimpleCallWithCallback<ResponseType>(response?: ResponseType, error?: Error) {
-    return error ? sinon.stub().callsArgWith(2, error) : sinon.stub().callsArgWith(2, null, response);
+function stubSimpleCallWithCallback<ResponseType>(
+  response?: ResponseType,
+  error?: Error,
+) {
+  return error
+    ? sinon.stub().callsArgWith(2, error)
+    : sinon.stub().callsArgWith(2, null, response);
 }
 
-function stubPageStreamingCall<ResponseType>(responses?: ResponseType[], error?: Error) {
-    const pagingStub = sinon.stub();
-    if (responses) {
-        for (let i = 0; i < responses.length; ++i) {
-            pagingStub.onCall(i).callsArgWith(2, null, responses[i]);
-        }
+function stubPageStreamingCall<ResponseType>(
+  responses?: ResponseType[],
+  error?: Error,
+) {
+  const pagingStub = sinon.stub();
+  if (responses) {
+    for (let i = 0; i < responses.length; ++i) {
+      pagingStub.onCall(i).callsArgWith(2, null, responses[i]);
     }
-    const transformStub = error ? sinon.stub().callsArgWith(2, error) : pagingStub;
-    const mockStream = new PassThrough({
-        objectMode: true,
-        transform: transformStub,
-    });
-    // trigger as many responses as needed
-    if (responses) {
-        for (let i = 0; i < responses.length; ++i) {
-            setImmediate(() => { mockStream.write({}); });
-        }
-        setImmediate(() => { mockStream.end(); });
-    } else {
-        setImmediate(() => { mockStream.write({}); });
-        setImmediate(() => { mockStream.end(); });
+  }
+  const transformStub = error
+    ? sinon.stub().callsArgWith(2, error)
+    : pagingStub;
+  const mockStream = new PassThrough({
+    objectMode: true,
+    transform: transformStub,
+  });
+  // trigger as many responses as needed
+  if (responses) {
+    for (let i = 0; i < responses.length; ++i) {
+      setImmediate(() => {
+        mockStream.write({});
+      });
     }
-    return sinon.stub().returns(mockStream);
+    setImmediate(() => {
+      mockStream.end();
+    });
+  } else {
+    setImmediate(() => {
+      mockStream.write({});
+    });
+    setImmediate(() => {
+      mockStream.end();
+    });
+  }
+  return sinon.stub().returns(mockStream);
 }
 
-function stubAsyncIterationCall<ResponseType>(responses?: ResponseType[], error?: Error) {
-    let counter = 0;
-    const asyncIterable = {
-        [Symbol.asyncIterator]() {
-            return {
-                async next() {
-                    if (error) {
-                        return Promise.reject(error);
-                    }
-                    if (counter >= responses!.length) {
-                        return Promise.resolve({done: true, value: undefined});
-                    }
-                    return Promise.resolve({done: false, value: responses![counter++]});
-                }
-            };
-        }
-    };
-    return sinon.stub().returns(asyncIterable);
+function stubAsyncIterationCall<ResponseType>(
+  responses?: ResponseType[],
+  error?: Error,
+) {
+  let counter = 0;
+  const asyncIterable = {
+    [Symbol.asyncIterator]() {
+      return {
+        async next() {
+          if (error) {
+            return Promise.reject(error);
+          }
+          if (counter >= responses!.length) {
+            return Promise.resolve({ done: true, value: undefined });
+          }
+          return Promise.resolve({ done: false, value: responses![counter++] });
+        },
+      };
+    },
+  };
+  return sinon.stub().returns(asyncIterable);
 }
 
 describe('v1.SqlBackupsServiceClient', () => {
-    describe('Common methods', () => {
-        it('has apiEndpoint', () => {
-            const client = new sqlbackupsserviceModule.v1.SqlBackupsServiceClient();
-            const apiEndpoint = client.apiEndpoint;
-            assert.strictEqual(apiEndpoint, 'sqladmin.googleapis.com');
-        });
-
-        it('has universeDomain', () => {
-            const client = new sqlbackupsserviceModule.v1.SqlBackupsServiceClient();
-            const universeDomain = client.universeDomain;
-            assert.strictEqual(universeDomain, "googleapis.com");
-        });
-
-        if (typeof process === 'object' && typeof process.emitWarning === 'function') {
-            it('throws DeprecationWarning if static servicePath is used', () => {
-                const stub = sinon.stub(process, 'emitWarning');
-                const servicePath = sqlbackupsserviceModule.v1.SqlBackupsServiceClient.servicePath;
-                assert.strictEqual(servicePath, 'sqladmin.googleapis.com');
-                assert(stub.called);
-                stub.restore();
-            });
-
-            it('throws DeprecationWarning if static apiEndpoint is used', () => {
-                const stub = sinon.stub(process, 'emitWarning');
-                const apiEndpoint = sqlbackupsserviceModule.v1.SqlBackupsServiceClient.apiEndpoint;
-                assert.strictEqual(apiEndpoint, 'sqladmin.googleapis.com');
-                assert(stub.called);
-                stub.restore();
-            });
-        }
-        it('sets apiEndpoint according to universe domain camelCase', () => {
-            const client = new sqlbackupsserviceModule.v1.SqlBackupsServiceClient({universeDomain: 'example.com'});
-            const servicePath = client.apiEndpoint;
-            assert.strictEqual(servicePath, 'sqladmin.example.com');
-        });
+  describe('Common methods', () => {
+    it('has apiEndpoint', () => {
+      const client = new sqlbackupsserviceModule.v1.SqlBackupsServiceClient();
+      const apiEndpoint = client.apiEndpoint;
+      assert.strictEqual(apiEndpoint, 'sqladmin.googleapis.com');
+    });
 
-        it('sets apiEndpoint according to universe domain snakeCase', () => {
-            const client = new sqlbackupsserviceModule.v1.SqlBackupsServiceClient({universe_domain: 'example.com'});
-            const servicePath = client.apiEndpoint;
-            assert.strictEqual(servicePath, 'sqladmin.example.com');
-        });
+    it('has universeDomain', () => {
+      const client = new sqlbackupsserviceModule.v1.SqlBackupsServiceClient();
+      const universeDomain = client.universeDomain;
+      assert.strictEqual(universeDomain, 'googleapis.com');
+    });
 
-        if (typeof process === 'object' && 'env' in process) {
-            describe('GOOGLE_CLOUD_UNIVERSE_DOMAIN environment variable', () => {
-                it('sets apiEndpoint from environment variable', () => {
-                    const saved = process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
-                    process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = 'example.com';
-                    const client = new sqlbackupsserviceModule.v1.SqlBackupsServiceClient();
-                    const servicePath = client.apiEndpoint;
-                    assert.strictEqual(servicePath, 'sqladmin.example.com');
-                    if (saved) {
-                        process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = saved;
-                    } else {
-                        delete process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
-                    }
-                });
+    if (
+      typeof process === 'object' &&
+      typeof process.emitWarning === 'function'
+    ) {
+      it('throws DeprecationWarning if static servicePath is used', () => {
+        const stub = sinon.stub(process, 'emitWarning');
+        const servicePath =
+          sqlbackupsserviceModule.v1.SqlBackupsServiceClient.servicePath;
+        assert.strictEqual(servicePath, 'sqladmin.googleapis.com');
+        assert(stub.called);
+        stub.restore();
+      });
 
-                it('value configured in code has priority over environment variable', () => {
-                    const saved = process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
-                    process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = 'example.com';
-                    const client = new sqlbackupsserviceModule.v1.SqlBackupsServiceClient({universeDomain: 'configured.example.com'});
-                    const servicePath = client.apiEndpoint;
-                    assert.strictEqual(servicePath, 'sqladmin.configured.example.com');
-                    if (saved) {
-                        process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = saved;
-                    } else {
-                        delete process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
-                    }
-                });
-            });
-        }
-        it('does not allow setting both universeDomain and universe_domain', () => {
-            assert.throws(() => { new sqlbackupsserviceModule.v1.SqlBackupsServiceClient({universe_domain: 'example.com', universeDomain: 'example.net'}); });
-        });
+      it('throws DeprecationWarning if static apiEndpoint is used', () => {
+        const stub = sinon.stub(process, 'emitWarning');
+        const apiEndpoint =
+          sqlbackupsserviceModule.v1.SqlBackupsServiceClient.apiEndpoint;
+        assert.strictEqual(apiEndpoint, 'sqladmin.googleapis.com');
+        assert(stub.called);
+        stub.restore();
+      });
+    }
+    it('sets apiEndpoint according to universe domain camelCase', () => {
+      const client = new sqlbackupsserviceModule.v1.SqlBackupsServiceClient({
+        universeDomain: 'example.com',
+      });
+      const servicePath = client.apiEndpoint;
+      assert.strictEqual(servicePath, 'sqladmin.example.com');
+    });
 
-        it('has port', () => {
-            const port = sqlbackupsserviceModule.v1.SqlBackupsServiceClient.port;
-            assert(port);
-            assert(typeof port === 'number');
-        });
+    it('sets apiEndpoint according to universe domain snakeCase', () => {
+      const client = new sqlbackupsserviceModule.v1.SqlBackupsServiceClient({
+        universe_domain: 'example.com',
+      });
+      const servicePath = client.apiEndpoint;
+      assert.strictEqual(servicePath, 'sqladmin.example.com');
+    });
 
-        it('should create a client with no option', () => {
-            const client = new sqlbackupsserviceModule.v1.SqlBackupsServiceClient();
-            assert(client);
+    if (typeof process === 'object' && 'env' in process) {
+      describe('GOOGLE_CLOUD_UNIVERSE_DOMAIN environment variable', () => {
+        it('sets apiEndpoint from environment variable', () => {
+          const saved = process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
+          process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = 'example.com';
+          const client =
+            new sqlbackupsserviceModule.v1.SqlBackupsServiceClient();
+          const servicePath = client.apiEndpoint;
+          assert.strictEqual(servicePath, 'sqladmin.example.com');
+          if (saved) {
+            process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = saved;
+          } else {
+            delete process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
+          }
         });
 
-        it('should create a client with gRPC fallback', () => {
-            const client = new sqlbackupsserviceModule.v1.SqlBackupsServiceClient({
-                fallback: true,
-            });
-            assert(client);
+        it('value configured in code has priority over environment variable', () => {
+          const saved = process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
+          process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = 'example.com';
+          const client = new sqlbackupsserviceModule.v1.SqlBackupsServiceClient(
+            { universeDomain: 'configured.example.com' },
+          );
+          const servicePath = client.apiEndpoint;
+          assert.strictEqual(servicePath, 'sqladmin.configured.example.com');
+          if (saved) {
+            process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = saved;
+          } else {
+            delete process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
+          }
         });
-
-        it('has initialize method and supports deferred initialization', async () => {
-            const client = new sqlbackupsserviceModule.v1.SqlBackupsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            assert.strictEqual(client.sqlBackupsServiceStub, undefined);
-            await client.initialize();
-            assert(client.sqlBackupsServiceStub);
+      });
+    }
+    it('does not allow setting both universeDomain and universe_domain', () => {
+      assert.throws(() => {
+        new sqlbackupsserviceModule.v1.SqlBackupsServiceClient({
+          universe_domain: 'example.com',
+          universeDomain: 'example.net',
         });
+      });
+    });
 
-        it('has close method for the initialized client', done => {
-            const client = new sqlbackupsserviceModule.v1.SqlBackupsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            client.initialize().catch(err => {throw err});
-            assert(client.sqlBackupsServiceStub);
-            client.close().then(() => {
-                done();
-            }).catch(err => {throw err});
-        });
+    it('has port', () => {
+      const port = sqlbackupsserviceModule.v1.SqlBackupsServiceClient.port;
+      assert(port);
+      assert(typeof port === 'number');
+    });
 
-        it('has close method for the non-initialized client', done => {
-            const client = new sqlbackupsserviceModule.v1.SqlBackupsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            assert.strictEqual(client.sqlBackupsServiceStub, undefined);
-            client.close().then(() => {
-                done();
-            }).catch(err => {throw err});
-        });
+    it('should create a client with no option', () => {
+      const client = new sqlbackupsserviceModule.v1.SqlBackupsServiceClient();
+      assert(client);
+    });
 
-        it('has getProjectId method', async () => {
-            const fakeProjectId = 'fake-project-id';
-            const client = new sqlbackupsserviceModule.v1.SqlBackupsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            client.auth.getProjectId = sinon.stub().resolves(fakeProjectId);
-            const result = await client.getProjectId();
-            assert.strictEqual(result, fakeProjectId);
-            assert((client.auth.getProjectId as SinonStub).calledWithExactly());
-        });
+    it('should create a client with gRPC fallback', () => {
+      const client = new sqlbackupsserviceModule.v1.SqlBackupsServiceClient({
+        fallback: true,
+      });
+      assert(client);
+    });
 
-        it('has getProjectId method with callback', async () => {
-            const fakeProjectId = 'fake-project-id';
-            const client = new sqlbackupsserviceModule.v1.SqlBackupsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            client.auth.getProjectId = sinon.stub().callsArgWith(0, null, fakeProjectId);
-            const promise = new Promise((resolve, reject) => {
-                client.getProjectId((err?: Error|null, projectId?: string|null) => {
-                    if (err) {
-                        reject(err);
-                    } else {
-                        resolve(projectId);
-                    }
-                });
-            });
-            const result = await promise;
-            assert.strictEqual(result, fakeProjectId);
-        });
+    it('has initialize method and supports deferred initialization', async () => {
+      const client = new sqlbackupsserviceModule.v1.SqlBackupsServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      assert.strictEqual(client.sqlBackupsServiceStub, undefined);
+      await client.initialize();
+      assert(client.sqlBackupsServiceStub);
     });
 
-    describe('createBackup', () => {
-        it('invokes createBackup without error', async () => {
-            const client = new sqlbackupsserviceModule.v1.SqlBackupsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.CreateBackupRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.CreateBackupRequest', ['parent']);
-            request.parent = defaultValue1;
-            const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1.Operation()
-            );
-            client.innerApiCalls.createBackup = stubSimpleCall(expectedResponse);
-            const [response] = await client.createBackup(request);
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.createBackup as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.createBackup as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    it('has close method for the initialized client', (done) => {
+      const client = new sqlbackupsserviceModule.v1.SqlBackupsServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      client.initialize().catch((err) => {
+        throw err;
+      });
+      assert(client.sqlBackupsServiceStub);
+      client
+        .close()
+        .then(() => {
+          done();
+        })
+        .catch((err) => {
+          throw err;
         });
+    });
 
-        it('invokes createBackup without error using callback', async () => {
-            const client = new sqlbackupsserviceModule.v1.SqlBackupsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.CreateBackupRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.CreateBackupRequest', ['parent']);
-            request.parent = defaultValue1;
-            const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1.Operation()
-            );
-            client.innerApiCalls.createBackup = stubSimpleCallWithCallback(expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.createBackup(
-                    request,
-                    (err?: Error|null, result?: protos.google.cloud.sql.v1.IOperation|null) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.createBackup as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.createBackup as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    it('has close method for the non-initialized client', (done) => {
+      const client = new sqlbackupsserviceModule.v1.SqlBackupsServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      assert.strictEqual(client.sqlBackupsServiceStub, undefined);
+      client
+        .close()
+        .then(() => {
+          done();
+        })
+        .catch((err) => {
+          throw err;
         });
+    });
 
-        it('invokes createBackup with error', async () => {
-            const client = new sqlbackupsserviceModule.v1.SqlBackupsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.CreateBackupRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.CreateBackupRequest', ['parent']);
-            request.parent = defaultValue1;
-            const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`;
-            const expectedError = new Error('expected');
-            client.innerApiCalls.createBackup = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.createBackup(request), expectedError);
-            const actualRequest = (client.innerApiCalls.createBackup as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.createBackup as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+    it('has getProjectId method', async () => {
+      const fakeProjectId = 'fake-project-id';
+      const client = new sqlbackupsserviceModule.v1.SqlBackupsServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      client.auth.getProjectId = sinon.stub().resolves(fakeProjectId);
+      const result = await client.getProjectId();
+      assert.strictEqual(result, fakeProjectId);
+      assert((client.auth.getProjectId as SinonStub).calledWithExactly());
+    });
 
-        it('invokes createBackup with closed client', async () => {
-            const client = new sqlbackupsserviceModule.v1.SqlBackupsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.CreateBackupRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.CreateBackupRequest', ['parent']);
-            request.parent = defaultValue1;
-            const expectedError = new Error('The client has already been closed.');
-            client.close().catch(err => {throw err});
-            await assert.rejects(client.createBackup(request), expectedError);
+    it('has getProjectId method with callback', async () => {
+      const fakeProjectId = 'fake-project-id';
+      const client = new sqlbackupsserviceModule.v1.SqlBackupsServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      client.auth.getProjectId = sinon
+        .stub()
+        .callsArgWith(0, null, fakeProjectId);
+      const promise = new Promise((resolve, reject) => {
+        client.getProjectId((err?: Error | null, projectId?: string | null) => {
+          if (err) {
+            reject(err);
+          } else {
+            resolve(projectId);
+          }
         });
+      });
+      const result = await promise;
+      assert.strictEqual(result, fakeProjectId);
     });
+  });
 
-    describe('getBackup', () => {
-        it('invokes getBackup without error', async () => {
-            const client = new sqlbackupsserviceModule.v1.SqlBackupsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.GetBackupRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.GetBackupRequest', ['name']);
-            request.name = defaultValue1;
-            const expectedHeaderRequestParams = `name=${defaultValue1 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1.Backup()
-            );
-            client.innerApiCalls.getBackup = stubSimpleCall(expectedResponse);
-            const [response] = await client.getBackup(request);
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.getBackup as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.getBackup as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+  describe('createBackup', () => {
+    it('invokes createBackup without error', async () => {
+      const client = new sqlbackupsserviceModule.v1.SqlBackupsServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.CreateBackupRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.CreateBackupRequest',
+        ['parent'],
+      );
+      request.parent = defaultValue1;
+      const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1.Operation(),
+      );
+      client.innerApiCalls.createBackup = stubSimpleCall(expectedResponse);
+      const [response] = await client.createBackup(request);
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (
+        client.innerApiCalls.createBackup as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.createBackup as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes getBackup without error using callback', async () => {
-            const client = new sqlbackupsserviceModule.v1.SqlBackupsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.GetBackupRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.GetBackupRequest', ['name']);
-            request.name = defaultValue1;
-            const expectedHeaderRequestParams = `name=${defaultValue1 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1.Backup()
-            );
-            client.innerApiCalls.getBackup = stubSimpleCallWithCallback(expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.getBackup(
-                    request,
-                    (err?: Error|null, result?: protos.google.cloud.sql.v1.IBackup|null) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.getBackup as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.getBackup as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+    it('invokes createBackup without error using callback', async () => {
+      const client = new sqlbackupsserviceModule.v1.SqlBackupsServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.CreateBackupRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.CreateBackupRequest',
+        ['parent'],
+      );
+      request.parent = defaultValue1;
+      const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1.Operation(),
+      );
+      client.innerApiCalls.createBackup =
+        stubSimpleCallWithCallback(expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.createBackup(
+          request,
+          (
+            err?: Error | null,
+            result?: protos.google.cloud.sql.v1.IOperation | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
+            }
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (
+        client.innerApiCalls.createBackup as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.createBackup as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes getBackup with error', async () => {
-            const client = new sqlbackupsserviceModule.v1.SqlBackupsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.GetBackupRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.GetBackupRequest', ['name']);
-            request.name = defaultValue1;
-            const expectedHeaderRequestParams = `name=${defaultValue1 ?? '' }`;
-            const expectedError = new Error('expected');
-            client.innerApiCalls.getBackup = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.getBackup(request), expectedError);
-            const actualRequest = (client.innerApiCalls.getBackup as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.getBackup as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+    it('invokes createBackup with error', async () => {
+      const client = new sqlbackupsserviceModule.v1.SqlBackupsServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.CreateBackupRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.CreateBackupRequest',
+        ['parent'],
+      );
+      request.parent = defaultValue1;
+      const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`;
+      const expectedError = new Error('expected');
+      client.innerApiCalls.createBackup = stubSimpleCall(
+        undefined,
+        expectedError,
+      );
+      await assert.rejects(client.createBackup(request), expectedError);
+      const actualRequest = (
+        client.innerApiCalls.createBackup as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.createBackup as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes getBackup with closed client', async () => {
-            const client = new sqlbackupsserviceModule.v1.SqlBackupsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.GetBackupRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.GetBackupRequest', ['name']);
-            request.name = defaultValue1;
-            const expectedError = new Error('The client has already been closed.');
-            client.close().catch(err => {throw err});
-            await assert.rejects(client.getBackup(request), expectedError);
-        });
+    it('invokes createBackup with closed client', async () => {
+      const client = new sqlbackupsserviceModule.v1.SqlBackupsServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.CreateBackupRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.CreateBackupRequest',
+        ['parent'],
+      );
+      request.parent = defaultValue1;
+      const expectedError = new Error('The client has already been closed.');
+      client.close().catch((err) => {
+        throw err;
+      });
+      await assert.rejects(client.createBackup(request), expectedError);
     });
+  });
 
-    describe('updateBackup', () => {
-        it('invokes updateBackup without error', async () => {
-            const client = new sqlbackupsserviceModule.v1.SqlBackupsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.UpdateBackupRequest()
-            );
-            request.backup ??= {};
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.UpdateBackupRequest', ['backup', 'name']);
-            request.backup.name = defaultValue1;
-            const expectedHeaderRequestParams = `backup.name=${defaultValue1 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1.Operation()
-            );
-            client.innerApiCalls.updateBackup = stubSimpleCall(expectedResponse);
-            const [response] = await client.updateBackup(request);
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.updateBackup as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.updateBackup as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+  describe('getBackup', () => {
+    it('invokes getBackup without error', async () => {
+      const client = new sqlbackupsserviceModule.v1.SqlBackupsServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.GetBackupRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.GetBackupRequest',
+        ['name'],
+      );
+      request.name = defaultValue1;
+      const expectedHeaderRequestParams = `name=${defaultValue1 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1.Backup(),
+      );
+      client.innerApiCalls.getBackup = stubSimpleCall(expectedResponse);
+      const [response] = await client.getBackup(request);
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (
+        client.innerApiCalls.getBackup as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.getBackup as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes updateBackup without error using callback', async () => {
-            const client = new sqlbackupsserviceModule.v1.SqlBackupsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.UpdateBackupRequest()
-            );
-            request.backup ??= {};
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.UpdateBackupRequest', ['backup', 'name']);
-            request.backup.name = defaultValue1;
-            const expectedHeaderRequestParams = `backup.name=${defaultValue1 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1.Operation()
-            );
-            client.innerApiCalls.updateBackup = stubSimpleCallWithCallback(expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.updateBackup(
-                    request,
-                    (err?: Error|null, result?: protos.google.cloud.sql.v1.IOperation|null) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.updateBackup as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.updateBackup as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+    it('invokes getBackup without error using callback', async () => {
+      const client = new sqlbackupsserviceModule.v1.SqlBackupsServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.GetBackupRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.GetBackupRequest',
+        ['name'],
+      );
+      request.name = defaultValue1;
+      const expectedHeaderRequestParams = `name=${defaultValue1 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1.Backup(),
+      );
+      client.innerApiCalls.getBackup =
+        stubSimpleCallWithCallback(expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.getBackup(
+          request,
+          (
+            err?: Error | null,
+            result?: protos.google.cloud.sql.v1.IBackup | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
+            }
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (
+        client.innerApiCalls.getBackup as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.getBackup as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes updateBackup with error', async () => {
-            const client = new sqlbackupsserviceModule.v1.SqlBackupsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.UpdateBackupRequest()
-            );
-            request.backup ??= {};
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.UpdateBackupRequest', ['backup', 'name']);
-            request.backup.name = defaultValue1;
-            const expectedHeaderRequestParams = `backup.name=${defaultValue1 ?? '' }`;
-            const expectedError = new Error('expected');
-            client.innerApiCalls.updateBackup = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.updateBackup(request), expectedError);
-            const actualRequest = (client.innerApiCalls.updateBackup as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.updateBackup as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+    it('invokes getBackup with error', async () => {
+      const client = new sqlbackupsserviceModule.v1.SqlBackupsServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.GetBackupRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.GetBackupRequest',
+        ['name'],
+      );
+      request.name = defaultValue1;
+      const expectedHeaderRequestParams = `name=${defaultValue1 ?? ''}`;
+      const expectedError = new Error('expected');
+      client.innerApiCalls.getBackup = stubSimpleCall(undefined, expectedError);
+      await assert.rejects(client.getBackup(request), expectedError);
+      const actualRequest = (
+        client.innerApiCalls.getBackup as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.getBackup as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes updateBackup with closed client', async () => {
-            const client = new sqlbackupsserviceModule.v1.SqlBackupsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.UpdateBackupRequest()
-            );
-            request.backup ??= {};
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.UpdateBackupRequest', ['backup', 'name']);
-            request.backup.name = defaultValue1;
-            const expectedError = new Error('The client has already been closed.');
-            client.close().catch(err => {throw err});
-            await assert.rejects(client.updateBackup(request), expectedError);
-        });
+    it('invokes getBackup with closed client', async () => {
+      const client = new sqlbackupsserviceModule.v1.SqlBackupsServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.GetBackupRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.GetBackupRequest',
+        ['name'],
+      );
+      request.name = defaultValue1;
+      const expectedError = new Error('The client has already been closed.');
+      client.close().catch((err) => {
+        throw err;
+      });
+      await assert.rejects(client.getBackup(request), expectedError);
     });
+  });
 
-    describe('deleteBackup', () => {
-        it('invokes deleteBackup without error', async () => {
-            const client = new sqlbackupsserviceModule.v1.SqlBackupsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.DeleteBackupRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.DeleteBackupRequest', ['name']);
-            request.name = defaultValue1;
-            const expectedHeaderRequestParams = `name=${defaultValue1 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1.Operation()
-            );
-            client.innerApiCalls.deleteBackup = stubSimpleCall(expectedResponse);
-            const [response] = await client.deleteBackup(request);
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.deleteBackup as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.deleteBackup as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+  describe('updateBackup', () => {
+    it('invokes updateBackup without error', async () => {
+      const client = new sqlbackupsserviceModule.v1.SqlBackupsServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.UpdateBackupRequest(),
+      );
+      request.backup ??= {};
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.UpdateBackupRequest',
+        ['backup', 'name'],
+      );
+      request.backup.name = defaultValue1;
+      const expectedHeaderRequestParams = `backup.name=${defaultValue1 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1.Operation(),
+      );
+      client.innerApiCalls.updateBackup = stubSimpleCall(expectedResponse);
+      const [response] = await client.updateBackup(request);
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (
+        client.innerApiCalls.updateBackup as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.updateBackup as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes deleteBackup without error using callback', async () => {
-            const client = new sqlbackupsserviceModule.v1.SqlBackupsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.DeleteBackupRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.DeleteBackupRequest', ['name']);
-            request.name = defaultValue1;
-            const expectedHeaderRequestParams = `name=${defaultValue1 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1.Operation()
-            );
-            client.innerApiCalls.deleteBackup = stubSimpleCallWithCallback(expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.deleteBackup(
-                    request,
-                    (err?: Error|null, result?: protos.google.cloud.sql.v1.IOperation|null) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.deleteBackup as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.deleteBackup as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+    it('invokes updateBackup without error using callback', async () => {
+      const client = new sqlbackupsserviceModule.v1.SqlBackupsServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.UpdateBackupRequest(),
+      );
+      request.backup ??= {};
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.UpdateBackupRequest',
+        ['backup', 'name'],
+      );
+      request.backup.name = defaultValue1;
+      const expectedHeaderRequestParams = `backup.name=${defaultValue1 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1.Operation(),
+      );
+      client.innerApiCalls.updateBackup =
+        stubSimpleCallWithCallback(expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.updateBackup(
+          request,
+          (
+            err?: Error | null,
+            result?: protos.google.cloud.sql.v1.IOperation | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
+            }
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (
+        client.innerApiCalls.updateBackup as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.updateBackup as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes deleteBackup with error', async () => {
-            const client = new sqlbackupsserviceModule.v1.SqlBackupsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.DeleteBackupRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.DeleteBackupRequest', ['name']);
-            request.name = defaultValue1;
-            const expectedHeaderRequestParams = `name=${defaultValue1 ?? '' }`;
-            const expectedError = new Error('expected');
-            client.innerApiCalls.deleteBackup = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.deleteBackup(request), expectedError);
-            const actualRequest = (client.innerApiCalls.deleteBackup as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.deleteBackup as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+    it('invokes updateBackup with error', async () => {
+      const client = new sqlbackupsserviceModule.v1.SqlBackupsServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.UpdateBackupRequest(),
+      );
+      request.backup ??= {};
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.UpdateBackupRequest',
+        ['backup', 'name'],
+      );
+      request.backup.name = defaultValue1;
+      const expectedHeaderRequestParams = `backup.name=${defaultValue1 ?? ''}`;
+      const expectedError = new Error('expected');
+      client.innerApiCalls.updateBackup = stubSimpleCall(
+        undefined,
+        expectedError,
+      );
+      await assert.rejects(client.updateBackup(request), expectedError);
+      const actualRequest = (
+        client.innerApiCalls.updateBackup as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.updateBackup as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes deleteBackup with closed client', async () => {
-            const client = new sqlbackupsserviceModule.v1.SqlBackupsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.DeleteBackupRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.DeleteBackupRequest', ['name']);
-            request.name = defaultValue1;
-            const expectedError = new Error('The client has already been closed.');
-            client.close().catch(err => {throw err});
-            await assert.rejects(client.deleteBackup(request), expectedError);
-        });
+    it('invokes updateBackup with closed client', async () => {
+      const client = new sqlbackupsserviceModule.v1.SqlBackupsServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.UpdateBackupRequest(),
+      );
+      request.backup ??= {};
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.UpdateBackupRequest',
+        ['backup', 'name'],
+      );
+      request.backup.name = defaultValue1;
+      const expectedError = new Error('The client has already been closed.');
+      client.close().catch((err) => {
+        throw err;
+      });
+      await assert.rejects(client.updateBackup(request), expectedError);
     });
+  });
 
-    describe('listBackups', () => {
-        it('invokes listBackups without error', async () => {
-            const client = new sqlbackupsserviceModule.v1.SqlBackupsServiceClient({
-                credentials: {client_email: 'bogus', private_key: 'bogus'},
-                projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.ListBackupsRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.ListBackupsRequest', ['parent']);
-            request.parent = defaultValue1;
-            const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`;const expectedResponse = [
-              generateSampleMessage(new protos.google.cloud.sql.v1.Backup()),
-              generateSampleMessage(new protos.google.cloud.sql.v1.Backup()),
-              generateSampleMessage(new protos.google.cloud.sql.v1.Backup()),
-            ];
-            client.innerApiCalls.listBackups = stubSimpleCall(expectedResponse);
-            const [response] = await client.listBackups(request);
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.listBackups as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.listBackups as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+  describe('deleteBackup', () => {
+    it('invokes deleteBackup without error', async () => {
+      const client = new sqlbackupsserviceModule.v1.SqlBackupsServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.DeleteBackupRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.DeleteBackupRequest',
+        ['name'],
+      );
+      request.name = defaultValue1;
+      const expectedHeaderRequestParams = `name=${defaultValue1 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1.Operation(),
+      );
+      client.innerApiCalls.deleteBackup = stubSimpleCall(expectedResponse);
+      const [response] = await client.deleteBackup(request);
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (
+        client.innerApiCalls.deleteBackup as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.deleteBackup as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes listBackups without error using callback', async () => {
-            const client = new sqlbackupsserviceModule.v1.SqlBackupsServiceClient({
-                credentials: {client_email: 'bogus', private_key: 'bogus'},
-                projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.ListBackupsRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.ListBackupsRequest', ['parent']);
-            request.parent = defaultValue1;
-            const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`;const expectedResponse = [
-              generateSampleMessage(new protos.google.cloud.sql.v1.Backup()),
-              generateSampleMessage(new protos.google.cloud.sql.v1.Backup()),
-              generateSampleMessage(new protos.google.cloud.sql.v1.Backup()),
-            ];
-            client.innerApiCalls.listBackups = stubSimpleCallWithCallback(expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.listBackups(
-                    request,
-                    (err?: Error|null, result?: protos.google.cloud.sql.v1.IBackup[]|null) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.listBackups as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.listBackups as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+    it('invokes deleteBackup without error using callback', async () => {
+      const client = new sqlbackupsserviceModule.v1.SqlBackupsServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.DeleteBackupRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.DeleteBackupRequest',
+        ['name'],
+      );
+      request.name = defaultValue1;
+      const expectedHeaderRequestParams = `name=${defaultValue1 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1.Operation(),
+      );
+      client.innerApiCalls.deleteBackup =
+        stubSimpleCallWithCallback(expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.deleteBackup(
+          request,
+          (
+            err?: Error | null,
+            result?: protos.google.cloud.sql.v1.IOperation | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
+            }
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (
+        client.innerApiCalls.deleteBackup as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.deleteBackup as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes listBackups with error', async () => {
-            const client = new sqlbackupsserviceModule.v1.SqlBackupsServiceClient({
-                credentials: {client_email: 'bogus', private_key: 'bogus'},
-                projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.ListBackupsRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.ListBackupsRequest', ['parent']);
-            request.parent = defaultValue1;
-            const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`;
-            const expectedError = new Error('expected');
-            client.innerApiCalls.listBackups = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.listBackups(request), expectedError);
-            const actualRequest = (client.innerApiCalls.listBackups as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.listBackups as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+    it('invokes deleteBackup with error', async () => {
+      const client = new sqlbackupsserviceModule.v1.SqlBackupsServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.DeleteBackupRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.DeleteBackupRequest',
+        ['name'],
+      );
+      request.name = defaultValue1;
+      const expectedHeaderRequestParams = `name=${defaultValue1 ?? ''}`;
+      const expectedError = new Error('expected');
+      client.innerApiCalls.deleteBackup = stubSimpleCall(
+        undefined,
+        expectedError,
+      );
+      await assert.rejects(client.deleteBackup(request), expectedError);
+      const actualRequest = (
+        client.innerApiCalls.deleteBackup as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.deleteBackup as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes listBackupsStream without error', async () => {
-            const client = new sqlbackupsserviceModule.v1.SqlBackupsServiceClient({
-                credentials: {client_email: 'bogus', private_key: 'bogus'},
-                projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.ListBackupsRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.ListBackupsRequest', ['parent']);
-            request.parent = defaultValue1;
-            const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`;
-            const expectedResponse = [
-              generateSampleMessage(new protos.google.cloud.sql.v1.Backup()),
-              generateSampleMessage(new protos.google.cloud.sql.v1.Backup()),
-              generateSampleMessage(new protos.google.cloud.sql.v1.Backup()),
-            ];
-            client.descriptors.page.listBackups.createStream = stubPageStreamingCall(expectedResponse);
-            const stream = client.listBackupsStream(request);
-            const promise = new Promise((resolve, reject) => {
-                const responses: protos.google.cloud.sql.v1.Backup[] = [];
-                stream.on('data', (response: protos.google.cloud.sql.v1.Backup) => {
-                    responses.push(response);
-                });
-                stream.on('end', () => {
-                    resolve(responses);
-                });
-                stream.on('error', (err: Error) => {
-                    reject(err);
-                });
-            });
-            const responses = await promise;
-            assert.deepStrictEqual(responses, expectedResponse);
-            assert((client.descriptors.page.listBackups.createStream as SinonStub)
-                .getCall(0).calledWith(client.innerApiCalls.listBackups, request));
-            assert(
-                (client.descriptors.page.listBackups.createStream as SinonStub)
-                    .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes(
-                        expectedHeaderRequestParams
-                    )
-            );
-        });
+    it('invokes deleteBackup with closed client', async () => {
+      const client = new sqlbackupsserviceModule.v1.SqlBackupsServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.DeleteBackupRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.DeleteBackupRequest',
+        ['name'],
+      );
+      request.name = defaultValue1;
+      const expectedError = new Error('The client has already been closed.');
+      client.close().catch((err) => {
+        throw err;
+      });
+      await assert.rejects(client.deleteBackup(request), expectedError);
+    });
+  });
 
-        it('invokes listBackupsStream with error', async () => {
-            const client = new sqlbackupsserviceModule.v1.SqlBackupsServiceClient({
-                credentials: {client_email: 'bogus', private_key: 'bogus'},
-                projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.ListBackupsRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.ListBackupsRequest', ['parent']);
-            request.parent = defaultValue1;
-            const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`;
-            const expectedError = new Error('expected');
-            client.descriptors.page.listBackups.createStream = stubPageStreamingCall(undefined, expectedError);
-            const stream = client.listBackupsStream(request);
-            const promise = new Promise((resolve, reject) => {
-                const responses: protos.google.cloud.sql.v1.Backup[] = [];
-                stream.on('data', (response: protos.google.cloud.sql.v1.Backup) => {
-                    responses.push(response);
-                });
-                stream.on('end', () => {
-                    resolve(responses);
-                });
-                stream.on('error', (err: Error) => {
-                    reject(err);
-                });
-            });
-            await assert.rejects(promise, expectedError);
-            assert((client.descriptors.page.listBackups.createStream as SinonStub)
-                .getCall(0).calledWith(client.innerApiCalls.listBackups, request));
-            assert(
-                (client.descriptors.page.listBackups.createStream as SinonStub)
-                    .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes(
-                         expectedHeaderRequestParams
-                    ) 
-            );
-        });
+  describe('listBackups', () => {
+    it('invokes listBackups without error', async () => {
+      const client = new sqlbackupsserviceModule.v1.SqlBackupsServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.ListBackupsRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.ListBackupsRequest',
+        ['parent'],
+      );
+      request.parent = defaultValue1;
+      const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`;
+      const expectedResponse = [
+        generateSampleMessage(new protos.google.cloud.sql.v1.Backup()),
+        generateSampleMessage(new protos.google.cloud.sql.v1.Backup()),
+        generateSampleMessage(new protos.google.cloud.sql.v1.Backup()),
+      ];
+      client.innerApiCalls.listBackups = stubSimpleCall(expectedResponse);
+      const [response] = await client.listBackups(request);
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (
+        client.innerApiCalls.listBackups as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.listBackups as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('uses async iteration with listBackups without error', async () => {
-            const client = new sqlbackupsserviceModule.v1.SqlBackupsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.ListBackupsRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.ListBackupsRequest', ['parent']);
-            request.parent = defaultValue1;
-            const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`;
-            const expectedResponse = [
-              generateSampleMessage(new protos.google.cloud.sql.v1.Backup()),
-              generateSampleMessage(new protos.google.cloud.sql.v1.Backup()),
-              generateSampleMessage(new protos.google.cloud.sql.v1.Backup()),
-            ];
-            client.descriptors.page.listBackups.asyncIterate = stubAsyncIterationCall(expectedResponse);
-            const responses: protos.google.cloud.sql.v1.IBackup[] = [];
-            const iterable = client.listBackupsAsync(request);
-            for await (const resource of iterable) {
-                responses.push(resource!);
+    it('invokes listBackups without error using callback', async () => {
+      const client = new sqlbackupsserviceModule.v1.SqlBackupsServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.ListBackupsRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.ListBackupsRequest',
+        ['parent'],
+      );
+      request.parent = defaultValue1;
+      const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`;
+      const expectedResponse = [
+        generateSampleMessage(new protos.google.cloud.sql.v1.Backup()),
+        generateSampleMessage(new protos.google.cloud.sql.v1.Backup()),
+        generateSampleMessage(new protos.google.cloud.sql.v1.Backup()),
+      ];
+      client.innerApiCalls.listBackups =
+        stubSimpleCallWithCallback(expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.listBackups(
+          request,
+          (
+            err?: Error | null,
+            result?: protos.google.cloud.sql.v1.IBackup[] | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
             }
-            assert.deepStrictEqual(responses, expectedResponse);
-            assert.deepStrictEqual(
-                (client.descriptors.page.listBackups.asyncIterate as SinonStub)
-                    .getCall(0).args[1], request);
-            assert(
-                (client.descriptors.page.listBackups.asyncIterate as SinonStub)
-                    .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes(
-                        expectedHeaderRequestParams
-                    )
-            );
-        });
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (
+        client.innerApiCalls.listBackups as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.listBackups as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('uses async iteration with listBackups with error', async () => {
-            const client = new sqlbackupsserviceModule.v1.SqlBackupsServiceClient({
-                credentials: {client_email: 'bogus', private_key: 'bogus'},
-                projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.ListBackupsRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.ListBackupsRequest', ['parent']);
-            request.parent = defaultValue1;
-            const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`;
-            const expectedError = new Error('expected');
-            client.descriptors.page.listBackups.asyncIterate = stubAsyncIterationCall(undefined, expectedError);
-            const iterable = client.listBackupsAsync(request);
-            await assert.rejects(async () => {
-                const responses: protos.google.cloud.sql.v1.IBackup[] = [];
-                for await (const resource of iterable) {
-                    responses.push(resource!);
-                }
-            });
-            assert.deepStrictEqual(
-                (client.descriptors.page.listBackups.asyncIterate as SinonStub)
-                    .getCall(0).args[1], request);
-            assert(
-                (client.descriptors.page.listBackups.asyncIterate as SinonStub)
-                    .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes(
-                        expectedHeaderRequestParams
-                    )
-            );
-        });
+    it('invokes listBackups with error', async () => {
+      const client = new sqlbackupsserviceModule.v1.SqlBackupsServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.ListBackupsRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.ListBackupsRequest',
+        ['parent'],
+      );
+      request.parent = defaultValue1;
+      const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`;
+      const expectedError = new Error('expected');
+      client.innerApiCalls.listBackups = stubSimpleCall(
+        undefined,
+        expectedError,
+      );
+      await assert.rejects(client.listBackups(request), expectedError);
+      const actualRequest = (
+        client.innerApiCalls.listBackups as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.listBackups as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
     });
-    describe('getLocation', () => {
-        it('invokes getLocation without error', async () => {
-            const client = new sqlbackupsserviceModule.v1.SqlBackupsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new LocationProtos.google.cloud.location.GetLocationRequest()
-            );
-            request.name = '';
-            const expectedHeaderRequestParams = 'name=';
-            const expectedOptions = {
-                otherArgs: {
-                    headers: {
-                        'x-goog-request-params': expectedHeaderRequestParams,
-                    },
-                },
-            };
-            const expectedResponse = generateSampleMessage(
-              new LocationProtos.google.cloud.location.Location()
-            );
-            client.locationsClient.getLocation = stubSimpleCall(expectedResponse);
-            const response = await client.getLocation(request, expectedOptions);
-            assert.deepStrictEqual(response, [expectedResponse]);
-            assert((client.locationsClient.getLocation as SinonStub)
-                .getCall(0).calledWith(request, expectedOptions, undefined));
+
+    it('invokes listBackupsStream without error', async () => {
+      const client = new sqlbackupsserviceModule.v1.SqlBackupsServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.ListBackupsRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.ListBackupsRequest',
+        ['parent'],
+      );
+      request.parent = defaultValue1;
+      const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`;
+      const expectedResponse = [
+        generateSampleMessage(new protos.google.cloud.sql.v1.Backup()),
+        generateSampleMessage(new protos.google.cloud.sql.v1.Backup()),
+        generateSampleMessage(new protos.google.cloud.sql.v1.Backup()),
+      ];
+      client.descriptors.page.listBackups.createStream =
+        stubPageStreamingCall(expectedResponse);
+      const stream = client.listBackupsStream(request);
+      const promise = new Promise((resolve, reject) => {
+        const responses: protos.google.cloud.sql.v1.Backup[] = [];
+        stream.on('data', (response: protos.google.cloud.sql.v1.Backup) => {
+          responses.push(response);
         });
-        it('invokes getLocation without error using callback', async () => {
-            const client = new sqlbackupsserviceModule.v1.SqlBackupsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new LocationProtos.google.cloud.location.GetLocationRequest()
-            );
-            request.name = '';
-            const expectedHeaderRequestParams = 'name=';
-            const expectedOptions = {
-                otherArgs: {
-                    headers: {
-                        'x-goog-request-params': expectedHeaderRequestParams,
-                    },
-                },
-            };
-            const expectedResponse = generateSampleMessage(
-              new LocationProtos.google.cloud.location.Location()
-            );
-            client.locationsClient.getLocation = sinon.stub().callsArgWith(2, null, expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.getLocation(
-                    request,
-                    expectedOptions,
-                    (
-                        err?: Error | null,
-                        result?: LocationProtos.google.cloud.location.ILocation | null
-                    ) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            assert((client.locationsClient.getLocation as SinonStub)
-                .getCall(0));
+        stream.on('end', () => {
+          resolve(responses);
         });
-        it('invokes getLocation with error', async () => {
-            const client = new sqlbackupsserviceModule.v1.SqlBackupsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new LocationProtos.google.cloud.location.GetLocationRequest()
-            );
-            request.name = '';
-            const expectedHeaderRequestParams = 'name=';
-            const expectedOptions = {
-                otherArgs: {
-                    headers: {
-                        'x-goog-request-params': expectedHeaderRequestParams,
-                    },
-                },
-            };
-            const expectedError = new Error('expected');
-            client.locationsClient.getLocation = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.getLocation(request, expectedOptions), expectedError);
-            assert((client.locationsClient.getLocation as SinonStub)
-                .getCall(0).calledWith(request, expectedOptions, undefined));
+        stream.on('error', (err: Error) => {
+          reject(err);
         });
+      });
+      const responses = await promise;
+      assert.deepStrictEqual(responses, expectedResponse);
+      assert(
+        (client.descriptors.page.listBackups.createStream as SinonStub)
+          .getCall(0)
+          .calledWith(client.innerApiCalls.listBackups, request),
+      );
+      assert(
+        (client.descriptors.page.listBackups.createStream as SinonStub)
+          .getCall(0)
+          .args[2].otherArgs.headers[
+            'x-goog-request-params'
+          ].includes(expectedHeaderRequestParams),
+      );
     });
-    describe('listLocationsAsync', () => {
-        it('uses async iteration with listLocations without error', async () => {
-            const client = new sqlbackupsserviceModule.v1.SqlBackupsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-                new LocationProtos.google.cloud.location.ListLocationsRequest()
-            );
-            request.name = '';
-            const expectedHeaderRequestParams = 'name=';
-            const expectedResponse = [
-                generateSampleMessage(
-                    new LocationProtos.google.cloud.location.Location()
-                ),
-                generateSampleMessage(
-                    new LocationProtos.google.cloud.location.Location()
-                ),
-                generateSampleMessage(
-                    new LocationProtos.google.cloud.location.Location()
-                ),
-            ];
-            client.locationsClient.descriptors.page.listLocations.asyncIterate = stubAsyncIterationCall(expectedResponse);
-            const responses: LocationProtos.google.cloud.location.ILocation[] = [];
-            const iterable = client.listLocationsAsync(request);
-            for await (const resource of iterable) {
-                responses.push(resource!);
-            }
-            assert.deepStrictEqual(responses, expectedResponse);
-            assert.deepStrictEqual(
-                (client.locationsClient.descriptors.page.listLocations.asyncIterate as SinonStub)
-                    .getCall(0).args[1], request);
-            assert(
-                (client.locationsClient.descriptors.page.listLocations.asyncIterate as SinonStub)
-                    .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes(
-                        expectedHeaderRequestParams
-                    )
-            );
+
+    it('invokes listBackupsStream with error', async () => {
+      const client = new sqlbackupsserviceModule.v1.SqlBackupsServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.ListBackupsRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.ListBackupsRequest',
+        ['parent'],
+      );
+      request.parent = defaultValue1;
+      const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`;
+      const expectedError = new Error('expected');
+      client.descriptors.page.listBackups.createStream = stubPageStreamingCall(
+        undefined,
+        expectedError,
+      );
+      const stream = client.listBackupsStream(request);
+      const promise = new Promise((resolve, reject) => {
+        const responses: protos.google.cloud.sql.v1.Backup[] = [];
+        stream.on('data', (response: protos.google.cloud.sql.v1.Backup) => {
+          responses.push(response);
+        });
+        stream.on('end', () => {
+          resolve(responses);
         });
-        it('uses async iteration with listLocations with error', async () => {
-            const client = new sqlbackupsserviceModule.v1.SqlBackupsServiceClient({
-                credentials: {client_email: 'bogus', private_key: 'bogus'},
-                projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new LocationProtos.google.cloud.location.ListLocationsRequest()
-            );
-            request.name = '';
-            const expectedHeaderRequestParams = 'name=';
-            const expectedError = new Error('expected');
-            client.locationsClient.descriptors.page.listLocations.asyncIterate = stubAsyncIterationCall(undefined, expectedError);
-            const iterable = client.listLocationsAsync(request);
-            await assert.rejects(async () => {
-                const responses: LocationProtos.google.cloud.location.ILocation[] = [];
-                for await (const resource of iterable) {
-                    responses.push(resource!);
-                }
-            });
-            assert.deepStrictEqual(
-                (client.locationsClient.descriptors.page.listLocations.asyncIterate as SinonStub)
-                    .getCall(0).args[1], request);
-            assert(
-                (client.locationsClient.descriptors.page.listLocations.asyncIterate as SinonStub)
-                    .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes(
-                        expectedHeaderRequestParams
-                    )
-            );
+        stream.on('error', (err: Error) => {
+          reject(err);
         });
+      });
+      await assert.rejects(promise, expectedError);
+      assert(
+        (client.descriptors.page.listBackups.createStream as SinonStub)
+          .getCall(0)
+          .calledWith(client.innerApiCalls.listBackups, request),
+      );
+      assert(
+        (client.descriptors.page.listBackups.createStream as SinonStub)
+          .getCall(0)
+          .args[2].otherArgs.headers[
+            'x-goog-request-params'
+          ].includes(expectedHeaderRequestParams),
+      );
     });
 
-    describe('Path templates', () => {
+    it('uses async iteration with listBackups without error', async () => {
+      const client = new sqlbackupsserviceModule.v1.SqlBackupsServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.ListBackupsRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.ListBackupsRequest',
+        ['parent'],
+      );
+      request.parent = defaultValue1;
+      const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`;
+      const expectedResponse = [
+        generateSampleMessage(new protos.google.cloud.sql.v1.Backup()),
+        generateSampleMessage(new protos.google.cloud.sql.v1.Backup()),
+        generateSampleMessage(new protos.google.cloud.sql.v1.Backup()),
+      ];
+      client.descriptors.page.listBackups.asyncIterate =
+        stubAsyncIterationCall(expectedResponse);
+      const responses: protos.google.cloud.sql.v1.IBackup[] = [];
+      const iterable = client.listBackupsAsync(request);
+      for await (const resource of iterable) {
+        responses.push(resource!);
+      }
+      assert.deepStrictEqual(responses, expectedResponse);
+      assert.deepStrictEqual(
+        (client.descriptors.page.listBackups.asyncIterate as SinonStub).getCall(
+          0,
+        ).args[1],
+        request,
+      );
+      assert(
+        (client.descriptors.page.listBackups.asyncIterate as SinonStub)
+          .getCall(0)
+          .args[2].otherArgs.headers[
+            'x-goog-request-params'
+          ].includes(expectedHeaderRequestParams),
+      );
+    });
 
-        describe('backup', async () => {
-            const fakePath = "/rendered/path/backup";
-            const expectedParameters = {
-                project: "projectValue",
-                backup: "backupValue",
-            };
-            const client = new sqlbackupsserviceModule.v1.SqlBackupsServiceClient({
-                credentials: {client_email: 'bogus', private_key: 'bogus'},
-                projectId: 'bogus',
-            });
-            await client.initialize();
-            client.pathTemplates.backupPathTemplate.render =
-                sinon.stub().returns(fakePath);
-            client.pathTemplates.backupPathTemplate.match =
-                sinon.stub().returns(expectedParameters);
+    it('uses async iteration with listBackups with error', async () => {
+      const client = new sqlbackupsserviceModule.v1.SqlBackupsServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.ListBackupsRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.ListBackupsRequest',
+        ['parent'],
+      );
+      request.parent = defaultValue1;
+      const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`;
+      const expectedError = new Error('expected');
+      client.descriptors.page.listBackups.asyncIterate = stubAsyncIterationCall(
+        undefined,
+        expectedError,
+      );
+      const iterable = client.listBackupsAsync(request);
+      await assert.rejects(async () => {
+        const responses: protos.google.cloud.sql.v1.IBackup[] = [];
+        for await (const resource of iterable) {
+          responses.push(resource!);
+        }
+      });
+      assert.deepStrictEqual(
+        (client.descriptors.page.listBackups.asyncIterate as SinonStub).getCall(
+          0,
+        ).args[1],
+        request,
+      );
+      assert(
+        (client.descriptors.page.listBackups.asyncIterate as SinonStub)
+          .getCall(0)
+          .args[2].otherArgs.headers[
+            'x-goog-request-params'
+          ].includes(expectedHeaderRequestParams),
+      );
+    });
+  });
+  describe('getLocation', () => {
+    it('invokes getLocation without error', async () => {
+      const client = new sqlbackupsserviceModule.v1.SqlBackupsServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new LocationProtos.google.cloud.location.GetLocationRequest(),
+      );
+      request.name = '';
+      const expectedHeaderRequestParams = 'name=';
+      const expectedOptions = {
+        otherArgs: {
+          headers: {
+            'x-goog-request-params': expectedHeaderRequestParams,
+          },
+        },
+      };
+      const expectedResponse = generateSampleMessage(
+        new LocationProtos.google.cloud.location.Location(),
+      );
+      client.locationsClient.getLocation = stubSimpleCall(expectedResponse);
+      const response = await client.getLocation(request, expectedOptions);
+      assert.deepStrictEqual(response, [expectedResponse]);
+      assert(
+        (client.locationsClient.getLocation as SinonStub)
+          .getCall(0)
+          .calledWith(request, expectedOptions, undefined),
+      );
+    });
+    it('invokes getLocation without error using callback', async () => {
+      const client = new sqlbackupsserviceModule.v1.SqlBackupsServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new LocationProtos.google.cloud.location.GetLocationRequest(),
+      );
+      request.name = '';
+      const expectedHeaderRequestParams = 'name=';
+      const expectedOptions = {
+        otherArgs: {
+          headers: {
+            'x-goog-request-params': expectedHeaderRequestParams,
+          },
+        },
+      };
+      const expectedResponse = generateSampleMessage(
+        new LocationProtos.google.cloud.location.Location(),
+      );
+      client.locationsClient.getLocation = sinon
+        .stub()
+        .callsArgWith(2, null, expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.getLocation(
+          request,
+          expectedOptions,
+          (
+            err?: Error | null,
+            result?: LocationProtos.google.cloud.location.ILocation | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
+            }
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      assert((client.locationsClient.getLocation as SinonStub).getCall(0));
+    });
+    it('invokes getLocation with error', async () => {
+      const client = new sqlbackupsserviceModule.v1.SqlBackupsServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new LocationProtos.google.cloud.location.GetLocationRequest(),
+      );
+      request.name = '';
+      const expectedHeaderRequestParams = 'name=';
+      const expectedOptions = {
+        otherArgs: {
+          headers: {
+            'x-goog-request-params': expectedHeaderRequestParams,
+          },
+        },
+      };
+      const expectedError = new Error('expected');
+      client.locationsClient.getLocation = stubSimpleCall(
+        undefined,
+        expectedError,
+      );
+      await assert.rejects(
+        client.getLocation(request, expectedOptions),
+        expectedError,
+      );
+      assert(
+        (client.locationsClient.getLocation as SinonStub)
+          .getCall(0)
+          .calledWith(request, expectedOptions, undefined),
+      );
+    });
+  });
+  describe('listLocationsAsync', () => {
+    it('uses async iteration with listLocations without error', async () => {
+      const client = new sqlbackupsserviceModule.v1.SqlBackupsServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new LocationProtos.google.cloud.location.ListLocationsRequest(),
+      );
+      request.name = '';
+      const expectedHeaderRequestParams = 'name=';
+      const expectedResponse = [
+        generateSampleMessage(
+          new LocationProtos.google.cloud.location.Location(),
+        ),
+        generateSampleMessage(
+          new LocationProtos.google.cloud.location.Location(),
+        ),
+        generateSampleMessage(
+          new LocationProtos.google.cloud.location.Location(),
+        ),
+      ];
+      client.locationsClient.descriptors.page.listLocations.asyncIterate =
+        stubAsyncIterationCall(expectedResponse);
+      const responses: LocationProtos.google.cloud.location.ILocation[] = [];
+      const iterable = client.listLocationsAsync(request);
+      for await (const resource of iterable) {
+        responses.push(resource!);
+      }
+      assert.deepStrictEqual(responses, expectedResponse);
+      assert.deepStrictEqual(
+        (
+          client.locationsClient.descriptors.page.listLocations
+            .asyncIterate as SinonStub
+        ).getCall(0).args[1],
+        request,
+      );
+      assert(
+        (
+          client.locationsClient.descriptors.page.listLocations
+            .asyncIterate as SinonStub
+        )
+          .getCall(0)
+          .args[2].otherArgs.headers['x-goog-request-params'].includes(
+            expectedHeaderRequestParams,
+          ),
+      );
+    });
+    it('uses async iteration with listLocations with error', async () => {
+      const client = new sqlbackupsserviceModule.v1.SqlBackupsServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new LocationProtos.google.cloud.location.ListLocationsRequest(),
+      );
+      request.name = '';
+      const expectedHeaderRequestParams = 'name=';
+      const expectedError = new Error('expected');
+      client.locationsClient.descriptors.page.listLocations.asyncIterate =
+        stubAsyncIterationCall(undefined, expectedError);
+      const iterable = client.listLocationsAsync(request);
+      await assert.rejects(async () => {
+        const responses: LocationProtos.google.cloud.location.ILocation[] = [];
+        for await (const resource of iterable) {
+          responses.push(resource!);
+        }
+      });
+      assert.deepStrictEqual(
+        (
+          client.locationsClient.descriptors.page.listLocations
+            .asyncIterate as SinonStub
+        ).getCall(0).args[1],
+        request,
+      );
+      assert(
+        (
+          client.locationsClient.descriptors.page.listLocations
+            .asyncIterate as SinonStub
+        )
+          .getCall(0)
+          .args[2].otherArgs.headers['x-goog-request-params'].includes(
+            expectedHeaderRequestParams,
+          ),
+      );
+    });
+  });
 
-            it('backupPath', () => {
-                const result = client.backupPath("projectValue", "backupValue");
-                assert.strictEqual(result, fakePath);
-                assert((client.pathTemplates.backupPathTemplate.render as SinonStub)
-                    .getCall(-1).calledWith(expectedParameters));
-            });
+  describe('Path templates', () => {
+    describe('backup', async () => {
+      const fakePath = '/rendered/path/backup';
+      const expectedParameters = {
+        project: 'projectValue',
+        backup: 'backupValue',
+      };
+      const client = new sqlbackupsserviceModule.v1.SqlBackupsServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      await client.initialize();
+      client.pathTemplates.backupPathTemplate.render = sinon
+        .stub()
+        .returns(fakePath);
+      client.pathTemplates.backupPathTemplate.match = sinon
+        .stub()
+        .returns(expectedParameters);
 
-            it('matchProjectFromBackupName', () => {
-                const result = client.matchProjectFromBackupName(fakePath);
-                assert.strictEqual(result, "projectValue");
-                assert((client.pathTemplates.backupPathTemplate.match as SinonStub)
-                    .getCall(-1).calledWith(fakePath));
-            });
+      it('backupPath', () => {
+        const result = client.backupPath('projectValue', 'backupValue');
+        assert.strictEqual(result, fakePath);
+        assert(
+          (client.pathTemplates.backupPathTemplate.render as SinonStub)
+            .getCall(-1)
+            .calledWith(expectedParameters),
+        );
+      });
 
-            it('matchBackupFromBackupName', () => {
-                const result = client.matchBackupFromBackupName(fakePath);
-                assert.strictEqual(result, "backupValue");
-                assert((client.pathTemplates.backupPathTemplate.match as SinonStub)
-                    .getCall(-1).calledWith(fakePath));
-            });
-        });
+      it('matchProjectFromBackupName', () => {
+        const result = client.matchProjectFromBackupName(fakePath);
+        assert.strictEqual(result, 'projectValue');
+        assert(
+          (client.pathTemplates.backupPathTemplate.match as SinonStub)
+            .getCall(-1)
+            .calledWith(fakePath),
+        );
+      });
 
-        describe('project', async () => {
-            const fakePath = "/rendered/path/project";
-            const expectedParameters = {
-                project: "projectValue",
-            };
-            const client = new sqlbackupsserviceModule.v1.SqlBackupsServiceClient({
-                credentials: {client_email: 'bogus', private_key: 'bogus'},
-                projectId: 'bogus',
-            });
-            await client.initialize();
-            client.pathTemplates.projectPathTemplate.render =
-                sinon.stub().returns(fakePath);
-            client.pathTemplates.projectPathTemplate.match =
-                sinon.stub().returns(expectedParameters);
+      it('matchBackupFromBackupName', () => {
+        const result = client.matchBackupFromBackupName(fakePath);
+        assert.strictEqual(result, 'backupValue');
+        assert(
+          (client.pathTemplates.backupPathTemplate.match as SinonStub)
+            .getCall(-1)
+            .calledWith(fakePath),
+        );
+      });
+    });
 
-            it('projectPath', () => {
-                const result = client.projectPath("projectValue");
-                assert.strictEqual(result, fakePath);
-                assert((client.pathTemplates.projectPathTemplate.render as SinonStub)
-                    .getCall(-1).calledWith(expectedParameters));
-            });
+    describe('project', async () => {
+      const fakePath = '/rendered/path/project';
+      const expectedParameters = {
+        project: 'projectValue',
+      };
+      const client = new sqlbackupsserviceModule.v1.SqlBackupsServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      await client.initialize();
+      client.pathTemplates.projectPathTemplate.render = sinon
+        .stub()
+        .returns(fakePath);
+      client.pathTemplates.projectPathTemplate.match = sinon
+        .stub()
+        .returns(expectedParameters);
 
-            it('matchProjectFromProjectName', () => {
-                const result = client.matchProjectFromProjectName(fakePath);
-                assert.strictEqual(result, "projectValue");
-                assert((client.pathTemplates.projectPathTemplate.match as SinonStub)
-                    .getCall(-1).calledWith(fakePath));
-            });
-        });
+      it('projectPath', () => {
+        const result = client.projectPath('projectValue');
+        assert.strictEqual(result, fakePath);
+        assert(
+          (client.pathTemplates.projectPathTemplate.render as SinonStub)
+            .getCall(-1)
+            .calledWith(expectedParameters),
+        );
+      });
+
+      it('matchProjectFromProjectName', () => {
+        const result = client.matchProjectFromProjectName(fakePath);
+        assert.strictEqual(result, 'projectValue');
+        assert(
+          (client.pathTemplates.projectPathTemplate.match as SinonStub)
+            .getCall(-1)
+            .calledWith(fakePath),
+        );
+      });
     });
+  });
 });
diff --git a/packages/google-cloud-sql/test/gapic_sql_backups_service_v1beta4.ts b/packages/google-cloud-sql/test/gapic_sql_backups_service_v1beta4.ts
index 7284e1063b10..b2fece3336d8 100644
--- a/packages/google-cloud-sql/test/gapic_sql_backups_service_v1beta4.ts
+++ b/packages/google-cloud-sql/test/gapic_sql_backups_service_v1beta4.ts
@@ -19,1161 +19,1465 @@
 import * as protos from '../protos/protos';
 import * as assert from 'assert';
 import * as sinon from 'sinon';
-import {SinonStub} from 'sinon';
-import {describe, it} from 'mocha';
+import { SinonStub } from 'sinon';
+import { describe, it } from 'mocha';
 import * as sqlbackupsserviceModule from '../src';
 
-import {PassThrough} from 'stream';
+import { PassThrough } from 'stream';
 
-import {protobuf, LocationProtos} from 'google-gax';
+import { protobuf, LocationProtos } from 'google-gax';
 
 // Dynamically loaded proto JSON is needed to get the type information
 // to fill in default values for request objects
-const root = protobuf.Root.fromJSON(require('../protos/protos.json')).resolveAll();
+const root = protobuf.Root.fromJSON(
+  require('../protos/protos.json'),
+).resolveAll();
 
 // eslint-disable-next-line @typescript-eslint/no-unused-vars
 function getTypeDefaultValue(typeName: string, fields: string[]) {
-    let type = root.lookupType(typeName) as protobuf.Type;
-    for (const field of fields.slice(0, -1)) {
-        type = type.fields[field]?.resolvedType as protobuf.Type;
-    }
-    return type.fields[fields[fields.length - 1]]?.defaultValue;
+  let type = root.lookupType(typeName) as protobuf.Type;
+  for (const field of fields.slice(0, -1)) {
+    type = type.fields[field]?.resolvedType as protobuf.Type;
+  }
+  return type.fields[fields[fields.length - 1]]?.defaultValue;
 }
 
 function generateSampleMessage<T extends object>(instance: T) {
-    const filledObject = (instance.constructor as typeof protobuf.Message)
-        .toObject(instance as protobuf.Message<T>, {defaults: true});
-    return (instance.constructor as typeof protobuf.Message).fromObject(filledObject) as T;
+  const filledObject = (
+    instance.constructor as typeof protobuf.Message
+  ).toObject(instance as protobuf.Message<T>, { defaults: true });
+  return (instance.constructor as typeof protobuf.Message).fromObject(
+    filledObject,
+  ) as T;
 }
 
 function stubSimpleCall<ResponseType>(response?: ResponseType, error?: Error) {
-    return error ? sinon.stub().rejects(error) : sinon.stub().resolves([response]);
+  return error
+    ? sinon.stub().rejects(error)
+    : sinon.stub().resolves([response]);
 }
 
-function stubSimpleCallWithCallback<ResponseType>(response?: ResponseType, error?: Error) {
-    return error ? sinon.stub().callsArgWith(2, error) : sinon.stub().callsArgWith(2, null, response);
+function stubSimpleCallWithCallback<ResponseType>(
+  response?: ResponseType,
+  error?: Error,
+) {
+  return error
+    ? sinon.stub().callsArgWith(2, error)
+    : sinon.stub().callsArgWith(2, null, response);
 }
 
-function stubPageStreamingCall<ResponseType>(responses?: ResponseType[], error?: Error) {
-    const pagingStub = sinon.stub();
-    if (responses) {
-        for (let i = 0; i < responses.length; ++i) {
-            pagingStub.onCall(i).callsArgWith(2, null, responses[i]);
-        }
+function stubPageStreamingCall<ResponseType>(
+  responses?: ResponseType[],
+  error?: Error,
+) {
+  const pagingStub = sinon.stub();
+  if (responses) {
+    for (let i = 0; i < responses.length; ++i) {
+      pagingStub.onCall(i).callsArgWith(2, null, responses[i]);
     }
-    const transformStub = error ? sinon.stub().callsArgWith(2, error) : pagingStub;
-    const mockStream = new PassThrough({
-        objectMode: true,
-        transform: transformStub,
-    });
-    // trigger as many responses as needed
-    if (responses) {
-        for (let i = 0; i < responses.length; ++i) {
-            setImmediate(() => { mockStream.write({}); });
-        }
-        setImmediate(() => { mockStream.end(); });
-    } else {
-        setImmediate(() => { mockStream.write({}); });
-        setImmediate(() => { mockStream.end(); });
+  }
+  const transformStub = error
+    ? sinon.stub().callsArgWith(2, error)
+    : pagingStub;
+  const mockStream = new PassThrough({
+    objectMode: true,
+    transform: transformStub,
+  });
+  // trigger as many responses as needed
+  if (responses) {
+    for (let i = 0; i < responses.length; ++i) {
+      setImmediate(() => {
+        mockStream.write({});
+      });
     }
-    return sinon.stub().returns(mockStream);
+    setImmediate(() => {
+      mockStream.end();
+    });
+  } else {
+    setImmediate(() => {
+      mockStream.write({});
+    });
+    setImmediate(() => {
+      mockStream.end();
+    });
+  }
+  return sinon.stub().returns(mockStream);
 }
 
-function stubAsyncIterationCall<ResponseType>(responses?: ResponseType[], error?: Error) {
-    let counter = 0;
-    const asyncIterable = {
-        [Symbol.asyncIterator]() {
-            return {
-                async next() {
-                    if (error) {
-                        return Promise.reject(error);
-                    }
-                    if (counter >= responses!.length) {
-                        return Promise.resolve({done: true, value: undefined});
-                    }
-                    return Promise.resolve({done: false, value: responses![counter++]});
-                }
-            };
-        }
-    };
-    return sinon.stub().returns(asyncIterable);
+function stubAsyncIterationCall<ResponseType>(
+  responses?: ResponseType[],
+  error?: Error,
+) {
+  let counter = 0;
+  const asyncIterable = {
+    [Symbol.asyncIterator]() {
+      return {
+        async next() {
+          if (error) {
+            return Promise.reject(error);
+          }
+          if (counter >= responses!.length) {
+            return Promise.resolve({ done: true, value: undefined });
+          }
+          return Promise.resolve({ done: false, value: responses![counter++] });
+        },
+      };
+    },
+  };
+  return sinon.stub().returns(asyncIterable);
 }
 
 describe('v1beta4.SqlBackupsServiceClient', () => {
-    describe('Common methods', () => {
-        it('has apiEndpoint', () => {
-            const client = new sqlbackupsserviceModule.v1beta4.SqlBackupsServiceClient();
-            const apiEndpoint = client.apiEndpoint;
-            assert.strictEqual(apiEndpoint, 'sqladmin.googleapis.com');
-        });
+  describe('Common methods', () => {
+    it('has apiEndpoint', () => {
+      const client =
+        new sqlbackupsserviceModule.v1beta4.SqlBackupsServiceClient();
+      const apiEndpoint = client.apiEndpoint;
+      assert.strictEqual(apiEndpoint, 'sqladmin.googleapis.com');
+    });
 
-        it('has universeDomain', () => {
-            const client = new sqlbackupsserviceModule.v1beta4.SqlBackupsServiceClient();
-            const universeDomain = client.universeDomain;
-            assert.strictEqual(universeDomain, "googleapis.com");
-        });
+    it('has universeDomain', () => {
+      const client =
+        new sqlbackupsserviceModule.v1beta4.SqlBackupsServiceClient();
+      const universeDomain = client.universeDomain;
+      assert.strictEqual(universeDomain, 'googleapis.com');
+    });
 
-        if (typeof process === 'object' && typeof process.emitWarning === 'function') {
-            it('throws DeprecationWarning if static servicePath is used', () => {
-                const stub = sinon.stub(process, 'emitWarning');
-                const servicePath = sqlbackupsserviceModule.v1beta4.SqlBackupsServiceClient.servicePath;
-                assert.strictEqual(servicePath, 'sqladmin.googleapis.com');
-                assert(stub.called);
-                stub.restore();
-            });
+    if (
+      typeof process === 'object' &&
+      typeof process.emitWarning === 'function'
+    ) {
+      it('throws DeprecationWarning if static servicePath is used', () => {
+        const stub = sinon.stub(process, 'emitWarning');
+        const servicePath =
+          sqlbackupsserviceModule.v1beta4.SqlBackupsServiceClient.servicePath;
+        assert.strictEqual(servicePath, 'sqladmin.googleapis.com');
+        assert(stub.called);
+        stub.restore();
+      });
 
-            it('throws DeprecationWarning if static apiEndpoint is used', () => {
-                const stub = sinon.stub(process, 'emitWarning');
-                const apiEndpoint = sqlbackupsserviceModule.v1beta4.SqlBackupsServiceClient.apiEndpoint;
-                assert.strictEqual(apiEndpoint, 'sqladmin.googleapis.com');
-                assert(stub.called);
-                stub.restore();
-            });
-        }
-        it('sets apiEndpoint according to universe domain camelCase', () => {
-            const client = new sqlbackupsserviceModule.v1beta4.SqlBackupsServiceClient({universeDomain: 'example.com'});
-            const servicePath = client.apiEndpoint;
-            assert.strictEqual(servicePath, 'sqladmin.example.com');
+      it('throws DeprecationWarning if static apiEndpoint is used', () => {
+        const stub = sinon.stub(process, 'emitWarning');
+        const apiEndpoint =
+          sqlbackupsserviceModule.v1beta4.SqlBackupsServiceClient.apiEndpoint;
+        assert.strictEqual(apiEndpoint, 'sqladmin.googleapis.com');
+        assert(stub.called);
+        stub.restore();
+      });
+    }
+    it('sets apiEndpoint according to universe domain camelCase', () => {
+      const client =
+        new sqlbackupsserviceModule.v1beta4.SqlBackupsServiceClient({
+          universeDomain: 'example.com',
         });
+      const servicePath = client.apiEndpoint;
+      assert.strictEqual(servicePath, 'sqladmin.example.com');
+    });
 
-        it('sets apiEndpoint according to universe domain snakeCase', () => {
-            const client = new sqlbackupsserviceModule.v1beta4.SqlBackupsServiceClient({universe_domain: 'example.com'});
-            const servicePath = client.apiEndpoint;
-            assert.strictEqual(servicePath, 'sqladmin.example.com');
+    it('sets apiEndpoint according to universe domain snakeCase', () => {
+      const client =
+        new sqlbackupsserviceModule.v1beta4.SqlBackupsServiceClient({
+          universe_domain: 'example.com',
         });
+      const servicePath = client.apiEndpoint;
+      assert.strictEqual(servicePath, 'sqladmin.example.com');
+    });
 
-        if (typeof process === 'object' && 'env' in process) {
-            describe('GOOGLE_CLOUD_UNIVERSE_DOMAIN environment variable', () => {
-                it('sets apiEndpoint from environment variable', () => {
-                    const saved = process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
-                    process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = 'example.com';
-                    const client = new sqlbackupsserviceModule.v1beta4.SqlBackupsServiceClient();
-                    const servicePath = client.apiEndpoint;
-                    assert.strictEqual(servicePath, 'sqladmin.example.com');
-                    if (saved) {
-                        process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = saved;
-                    } else {
-                        delete process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
-                    }
-                });
+    if (typeof process === 'object' && 'env' in process) {
+      describe('GOOGLE_CLOUD_UNIVERSE_DOMAIN environment variable', () => {
+        it('sets apiEndpoint from environment variable', () => {
+          const saved = process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
+          process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = 'example.com';
+          const client =
+            new sqlbackupsserviceModule.v1beta4.SqlBackupsServiceClient();
+          const servicePath = client.apiEndpoint;
+          assert.strictEqual(servicePath, 'sqladmin.example.com');
+          if (saved) {
+            process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = saved;
+          } else {
+            delete process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
+          }
+        });
 
-                it('value configured in code has priority over environment variable', () => {
-                    const saved = process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
-                    process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = 'example.com';
-                    const client = new sqlbackupsserviceModule.v1beta4.SqlBackupsServiceClient({universeDomain: 'configured.example.com'});
-                    const servicePath = client.apiEndpoint;
-                    assert.strictEqual(servicePath, 'sqladmin.configured.example.com');
-                    if (saved) {
-                        process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = saved;
-                    } else {
-                        delete process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
-                    }
-                });
+        it('value configured in code has priority over environment variable', () => {
+          const saved = process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
+          process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = 'example.com';
+          const client =
+            new sqlbackupsserviceModule.v1beta4.SqlBackupsServiceClient({
+              universeDomain: 'configured.example.com',
             });
-        }
-        it('does not allow setting both universeDomain and universe_domain', () => {
-            assert.throws(() => { new sqlbackupsserviceModule.v1beta4.SqlBackupsServiceClient({universe_domain: 'example.com', universeDomain: 'example.net'}); });
+          const servicePath = client.apiEndpoint;
+          assert.strictEqual(servicePath, 'sqladmin.configured.example.com');
+          if (saved) {
+            process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = saved;
+          } else {
+            delete process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
+          }
         });
-
-        it('has port', () => {
-            const port = sqlbackupsserviceModule.v1beta4.SqlBackupsServiceClient.port;
-            assert(port);
-            assert(typeof port === 'number');
+      });
+    }
+    it('does not allow setting both universeDomain and universe_domain', () => {
+      assert.throws(() => {
+        new sqlbackupsserviceModule.v1beta4.SqlBackupsServiceClient({
+          universe_domain: 'example.com',
+          universeDomain: 'example.net',
         });
+      });
+    });
 
-        it('should create a client with no option', () => {
-            const client = new sqlbackupsserviceModule.v1beta4.SqlBackupsServiceClient();
-            assert(client);
-        });
+    it('has port', () => {
+      const port = sqlbackupsserviceModule.v1beta4.SqlBackupsServiceClient.port;
+      assert(port);
+      assert(typeof port === 'number');
+    });
 
-        it('should create a client with gRPC fallback', () => {
-            const client = new sqlbackupsserviceModule.v1beta4.SqlBackupsServiceClient({
-                fallback: true,
-            });
-            assert(client);
+    it('should create a client with no option', () => {
+      const client =
+        new sqlbackupsserviceModule.v1beta4.SqlBackupsServiceClient();
+      assert(client);
+    });
+
+    it('should create a client with gRPC fallback', () => {
+      const client =
+        new sqlbackupsserviceModule.v1beta4.SqlBackupsServiceClient({
+          fallback: true,
         });
+      assert(client);
+    });
 
-        it('has initialize method and supports deferred initialization', async () => {
-            const client = new sqlbackupsserviceModule.v1beta4.SqlBackupsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            assert.strictEqual(client.sqlBackupsServiceStub, undefined);
-            await client.initialize();
-            assert(client.sqlBackupsServiceStub);
+    it('has initialize method and supports deferred initialization', async () => {
+      const client =
+        new sqlbackupsserviceModule.v1beta4.SqlBackupsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
         });
+      assert.strictEqual(client.sqlBackupsServiceStub, undefined);
+      await client.initialize();
+      assert(client.sqlBackupsServiceStub);
+    });
 
-        it('has close method for the initialized client', done => {
-            const client = new sqlbackupsserviceModule.v1beta4.SqlBackupsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            client.initialize().catch(err => {throw err});
-            assert(client.sqlBackupsServiceStub);
-            client.close().then(() => {
-                done();
-            }).catch(err => {throw err});
+    it('has close method for the initialized client', (done) => {
+      const client =
+        new sqlbackupsserviceModule.v1beta4.SqlBackupsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
         });
+      client.initialize().catch((err) => {
+        throw err;
+      });
+      assert(client.sqlBackupsServiceStub);
+      client
+        .close()
+        .then(() => {
+          done();
+        })
+        .catch((err) => {
+          throw err;
+        });
+    });
 
-        it('has close method for the non-initialized client', done => {
-            const client = new sqlbackupsserviceModule.v1beta4.SqlBackupsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            assert.strictEqual(client.sqlBackupsServiceStub, undefined);
-            client.close().then(() => {
-                done();
-            }).catch(err => {throw err});
+    it('has close method for the non-initialized client', (done) => {
+      const client =
+        new sqlbackupsserviceModule.v1beta4.SqlBackupsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      assert.strictEqual(client.sqlBackupsServiceStub, undefined);
+      client
+        .close()
+        .then(() => {
+          done();
+        })
+        .catch((err) => {
+          throw err;
         });
+    });
 
-        it('has getProjectId method', async () => {
-            const fakeProjectId = 'fake-project-id';
-            const client = new sqlbackupsserviceModule.v1beta4.SqlBackupsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            client.auth.getProjectId = sinon.stub().resolves(fakeProjectId);
-            const result = await client.getProjectId();
-            assert.strictEqual(result, fakeProjectId);
-            assert((client.auth.getProjectId as SinonStub).calledWithExactly());
+    it('has getProjectId method', async () => {
+      const fakeProjectId = 'fake-project-id';
+      const client =
+        new sqlbackupsserviceModule.v1beta4.SqlBackupsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
         });
+      client.auth.getProjectId = sinon.stub().resolves(fakeProjectId);
+      const result = await client.getProjectId();
+      assert.strictEqual(result, fakeProjectId);
+      assert((client.auth.getProjectId as SinonStub).calledWithExactly());
+    });
 
-        it('has getProjectId method with callback', async () => {
-            const fakeProjectId = 'fake-project-id';
-            const client = new sqlbackupsserviceModule.v1beta4.SqlBackupsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            client.auth.getProjectId = sinon.stub().callsArgWith(0, null, fakeProjectId);
-            const promise = new Promise((resolve, reject) => {
-                client.getProjectId((err?: Error|null, projectId?: string|null) => {
-                    if (err) {
-                        reject(err);
-                    } else {
-                        resolve(projectId);
-                    }
-                });
-            });
-            const result = await promise;
-            assert.strictEqual(result, fakeProjectId);
+    it('has getProjectId method with callback', async () => {
+      const fakeProjectId = 'fake-project-id';
+      const client =
+        new sqlbackupsserviceModule.v1beta4.SqlBackupsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      client.auth.getProjectId = sinon
+        .stub()
+        .callsArgWith(0, null, fakeProjectId);
+      const promise = new Promise((resolve, reject) => {
+        client.getProjectId((err?: Error | null, projectId?: string | null) => {
+          if (err) {
+            reject(err);
+          } else {
+            resolve(projectId);
+          }
         });
+      });
+      const result = await promise;
+      assert.strictEqual(result, fakeProjectId);
     });
+  });
 
-    describe('createBackup', () => {
-        it('invokes createBackup without error', async () => {
-            const client = new sqlbackupsserviceModule.v1beta4.SqlBackupsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.CreateBackupRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.CreateBackupRequest', ['parent']);
-            request.parent = defaultValue1;
-            const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.Operation()
-            );
-            client.innerApiCalls.createBackup = stubSimpleCall(expectedResponse);
-            const [response] = await client.createBackup(request);
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.createBackup as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.createBackup as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+  describe('createBackup', () => {
+    it('invokes createBackup without error', async () => {
+      const client =
+        new sqlbackupsserviceModule.v1beta4.SqlBackupsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
         });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.CreateBackupRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.CreateBackupRequest',
+        ['parent'],
+      );
+      request.parent = defaultValue1;
+      const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.Operation(),
+      );
+      client.innerApiCalls.createBackup = stubSimpleCall(expectedResponse);
+      const [response] = await client.createBackup(request);
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (
+        client.innerApiCalls.createBackup as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.createBackup as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes createBackup without error using callback', async () => {
-            const client = new sqlbackupsserviceModule.v1beta4.SqlBackupsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.CreateBackupRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.CreateBackupRequest', ['parent']);
-            request.parent = defaultValue1;
-            const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.Operation()
-            );
-            client.innerApiCalls.createBackup = stubSimpleCallWithCallback(expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.createBackup(
-                    request,
-                    (err?: Error|null, result?: protos.google.cloud.sql.v1beta4.IOperation|null) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.createBackup as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.createBackup as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    it('invokes createBackup without error using callback', async () => {
+      const client =
+        new sqlbackupsserviceModule.v1beta4.SqlBackupsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
         });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.CreateBackupRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.CreateBackupRequest',
+        ['parent'],
+      );
+      request.parent = defaultValue1;
+      const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.Operation(),
+      );
+      client.innerApiCalls.createBackup =
+        stubSimpleCallWithCallback(expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.createBackup(
+          request,
+          (
+            err?: Error | null,
+            result?: protos.google.cloud.sql.v1beta4.IOperation | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
+            }
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (
+        client.innerApiCalls.createBackup as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.createBackup as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes createBackup with error', async () => {
-            const client = new sqlbackupsserviceModule.v1beta4.SqlBackupsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.CreateBackupRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.CreateBackupRequest', ['parent']);
-            request.parent = defaultValue1;
-            const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`;
-            const expectedError = new Error('expected');
-            client.innerApiCalls.createBackup = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.createBackup(request), expectedError);
-            const actualRequest = (client.innerApiCalls.createBackup as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.createBackup as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    it('invokes createBackup with error', async () => {
+      const client =
+        new sqlbackupsserviceModule.v1beta4.SqlBackupsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
         });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.CreateBackupRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.CreateBackupRequest',
+        ['parent'],
+      );
+      request.parent = defaultValue1;
+      const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`;
+      const expectedError = new Error('expected');
+      client.innerApiCalls.createBackup = stubSimpleCall(
+        undefined,
+        expectedError,
+      );
+      await assert.rejects(client.createBackup(request), expectedError);
+      const actualRequest = (
+        client.innerApiCalls.createBackup as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.createBackup as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes createBackup with closed client', async () => {
-            const client = new sqlbackupsserviceModule.v1beta4.SqlBackupsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.CreateBackupRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.CreateBackupRequest', ['parent']);
-            request.parent = defaultValue1;
-            const expectedError = new Error('The client has already been closed.');
-            client.close().catch(err => {throw err});
-            await assert.rejects(client.createBackup(request), expectedError);
+    it('invokes createBackup with closed client', async () => {
+      const client =
+        new sqlbackupsserviceModule.v1beta4.SqlBackupsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
         });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.CreateBackupRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.CreateBackupRequest',
+        ['parent'],
+      );
+      request.parent = defaultValue1;
+      const expectedError = new Error('The client has already been closed.');
+      client.close().catch((err) => {
+        throw err;
+      });
+      await assert.rejects(client.createBackup(request), expectedError);
     });
+  });
 
-    describe('getBackup', () => {
-        it('invokes getBackup without error', async () => {
-            const client = new sqlbackupsserviceModule.v1beta4.SqlBackupsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.GetBackupRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.GetBackupRequest', ['name']);
-            request.name = defaultValue1;
-            const expectedHeaderRequestParams = `name=${defaultValue1 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.Backup()
-            );
-            client.innerApiCalls.getBackup = stubSimpleCall(expectedResponse);
-            const [response] = await client.getBackup(request);
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.getBackup as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.getBackup as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+  describe('getBackup', () => {
+    it('invokes getBackup without error', async () => {
+      const client =
+        new sqlbackupsserviceModule.v1beta4.SqlBackupsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
         });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.GetBackupRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.GetBackupRequest',
+        ['name'],
+      );
+      request.name = defaultValue1;
+      const expectedHeaderRequestParams = `name=${defaultValue1 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.Backup(),
+      );
+      client.innerApiCalls.getBackup = stubSimpleCall(expectedResponse);
+      const [response] = await client.getBackup(request);
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (
+        client.innerApiCalls.getBackup as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.getBackup as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes getBackup without error using callback', async () => {
-            const client = new sqlbackupsserviceModule.v1beta4.SqlBackupsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.GetBackupRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.GetBackupRequest', ['name']);
-            request.name = defaultValue1;
-            const expectedHeaderRequestParams = `name=${defaultValue1 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.Backup()
-            );
-            client.innerApiCalls.getBackup = stubSimpleCallWithCallback(expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.getBackup(
-                    request,
-                    (err?: Error|null, result?: protos.google.cloud.sql.v1beta4.IBackup|null) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.getBackup as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.getBackup as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    it('invokes getBackup without error using callback', async () => {
+      const client =
+        new sqlbackupsserviceModule.v1beta4.SqlBackupsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
         });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.GetBackupRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.GetBackupRequest',
+        ['name'],
+      );
+      request.name = defaultValue1;
+      const expectedHeaderRequestParams = `name=${defaultValue1 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.Backup(),
+      );
+      client.innerApiCalls.getBackup =
+        stubSimpleCallWithCallback(expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.getBackup(
+          request,
+          (
+            err?: Error | null,
+            result?: protos.google.cloud.sql.v1beta4.IBackup | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
+            }
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (
+        client.innerApiCalls.getBackup as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.getBackup as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes getBackup with error', async () => {
-            const client = new sqlbackupsserviceModule.v1beta4.SqlBackupsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.GetBackupRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.GetBackupRequest', ['name']);
-            request.name = defaultValue1;
-            const expectedHeaderRequestParams = `name=${defaultValue1 ?? '' }`;
-            const expectedError = new Error('expected');
-            client.innerApiCalls.getBackup = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.getBackup(request), expectedError);
-            const actualRequest = (client.innerApiCalls.getBackup as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.getBackup as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    it('invokes getBackup with error', async () => {
+      const client =
+        new sqlbackupsserviceModule.v1beta4.SqlBackupsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
         });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.GetBackupRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.GetBackupRequest',
+        ['name'],
+      );
+      request.name = defaultValue1;
+      const expectedHeaderRequestParams = `name=${defaultValue1 ?? ''}`;
+      const expectedError = new Error('expected');
+      client.innerApiCalls.getBackup = stubSimpleCall(undefined, expectedError);
+      await assert.rejects(client.getBackup(request), expectedError);
+      const actualRequest = (
+        client.innerApiCalls.getBackup as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.getBackup as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes getBackup with closed client', async () => {
-            const client = new sqlbackupsserviceModule.v1beta4.SqlBackupsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.GetBackupRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.GetBackupRequest', ['name']);
-            request.name = defaultValue1;
-            const expectedError = new Error('The client has already been closed.');
-            client.close().catch(err => {throw err});
-            await assert.rejects(client.getBackup(request), expectedError);
+    it('invokes getBackup with closed client', async () => {
+      const client =
+        new sqlbackupsserviceModule.v1beta4.SqlBackupsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
         });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.GetBackupRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.GetBackupRequest',
+        ['name'],
+      );
+      request.name = defaultValue1;
+      const expectedError = new Error('The client has already been closed.');
+      client.close().catch((err) => {
+        throw err;
+      });
+      await assert.rejects(client.getBackup(request), expectedError);
     });
+  });
 
-    describe('updateBackup', () => {
-        it('invokes updateBackup without error', async () => {
-            const client = new sqlbackupsserviceModule.v1beta4.SqlBackupsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.UpdateBackupRequest()
-            );
-            request.backup ??= {};
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.UpdateBackupRequest', ['backup', 'name']);
-            request.backup.name = defaultValue1;
-            const expectedHeaderRequestParams = `backup.name=${defaultValue1 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.Operation()
-            );
-            client.innerApiCalls.updateBackup = stubSimpleCall(expectedResponse);
-            const [response] = await client.updateBackup(request);
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.updateBackup as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.updateBackup as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+  describe('updateBackup', () => {
+    it('invokes updateBackup without error', async () => {
+      const client =
+        new sqlbackupsserviceModule.v1beta4.SqlBackupsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
         });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.UpdateBackupRequest(),
+      );
+      request.backup ??= {};
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.UpdateBackupRequest',
+        ['backup', 'name'],
+      );
+      request.backup.name = defaultValue1;
+      const expectedHeaderRequestParams = `backup.name=${defaultValue1 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.Operation(),
+      );
+      client.innerApiCalls.updateBackup = stubSimpleCall(expectedResponse);
+      const [response] = await client.updateBackup(request);
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (
+        client.innerApiCalls.updateBackup as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.updateBackup as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes updateBackup without error using callback', async () => {
-            const client = new sqlbackupsserviceModule.v1beta4.SqlBackupsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.UpdateBackupRequest()
-            );
-            request.backup ??= {};
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.UpdateBackupRequest', ['backup', 'name']);
-            request.backup.name = defaultValue1;
-            const expectedHeaderRequestParams = `backup.name=${defaultValue1 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.Operation()
-            );
-            client.innerApiCalls.updateBackup = stubSimpleCallWithCallback(expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.updateBackup(
-                    request,
-                    (err?: Error|null, result?: protos.google.cloud.sql.v1beta4.IOperation|null) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.updateBackup as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.updateBackup as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    it('invokes updateBackup without error using callback', async () => {
+      const client =
+        new sqlbackupsserviceModule.v1beta4.SqlBackupsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
         });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.UpdateBackupRequest(),
+      );
+      request.backup ??= {};
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.UpdateBackupRequest',
+        ['backup', 'name'],
+      );
+      request.backup.name = defaultValue1;
+      const expectedHeaderRequestParams = `backup.name=${defaultValue1 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.Operation(),
+      );
+      client.innerApiCalls.updateBackup =
+        stubSimpleCallWithCallback(expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.updateBackup(
+          request,
+          (
+            err?: Error | null,
+            result?: protos.google.cloud.sql.v1beta4.IOperation | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
+            }
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (
+        client.innerApiCalls.updateBackup as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.updateBackup as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes updateBackup with error', async () => {
-            const client = new sqlbackupsserviceModule.v1beta4.SqlBackupsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.UpdateBackupRequest()
-            );
-            request.backup ??= {};
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.UpdateBackupRequest', ['backup', 'name']);
-            request.backup.name = defaultValue1;
-            const expectedHeaderRequestParams = `backup.name=${defaultValue1 ?? '' }`;
-            const expectedError = new Error('expected');
-            client.innerApiCalls.updateBackup = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.updateBackup(request), expectedError);
-            const actualRequest = (client.innerApiCalls.updateBackup as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.updateBackup as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    it('invokes updateBackup with error', async () => {
+      const client =
+        new sqlbackupsserviceModule.v1beta4.SqlBackupsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
         });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.UpdateBackupRequest(),
+      );
+      request.backup ??= {};
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.UpdateBackupRequest',
+        ['backup', 'name'],
+      );
+      request.backup.name = defaultValue1;
+      const expectedHeaderRequestParams = `backup.name=${defaultValue1 ?? ''}`;
+      const expectedError = new Error('expected');
+      client.innerApiCalls.updateBackup = stubSimpleCall(
+        undefined,
+        expectedError,
+      );
+      await assert.rejects(client.updateBackup(request), expectedError);
+      const actualRequest = (
+        client.innerApiCalls.updateBackup as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.updateBackup as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes updateBackup with closed client', async () => {
-            const client = new sqlbackupsserviceModule.v1beta4.SqlBackupsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.UpdateBackupRequest()
-            );
-            request.backup ??= {};
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.UpdateBackupRequest', ['backup', 'name']);
-            request.backup.name = defaultValue1;
-            const expectedError = new Error('The client has already been closed.');
-            client.close().catch(err => {throw err});
-            await assert.rejects(client.updateBackup(request), expectedError);
+    it('invokes updateBackup with closed client', async () => {
+      const client =
+        new sqlbackupsserviceModule.v1beta4.SqlBackupsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
         });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.UpdateBackupRequest(),
+      );
+      request.backup ??= {};
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.UpdateBackupRequest',
+        ['backup', 'name'],
+      );
+      request.backup.name = defaultValue1;
+      const expectedError = new Error('The client has already been closed.');
+      client.close().catch((err) => {
+        throw err;
+      });
+      await assert.rejects(client.updateBackup(request), expectedError);
     });
+  });
 
-    describe('deleteBackup', () => {
-        it('invokes deleteBackup without error', async () => {
-            const client = new sqlbackupsserviceModule.v1beta4.SqlBackupsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.DeleteBackupRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.DeleteBackupRequest', ['name']);
-            request.name = defaultValue1;
-            const expectedHeaderRequestParams = `name=${defaultValue1 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.Operation()
-            );
-            client.innerApiCalls.deleteBackup = stubSimpleCall(expectedResponse);
-            const [response] = await client.deleteBackup(request);
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.deleteBackup as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.deleteBackup as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+  describe('deleteBackup', () => {
+    it('invokes deleteBackup without error', async () => {
+      const client =
+        new sqlbackupsserviceModule.v1beta4.SqlBackupsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
         });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.DeleteBackupRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.DeleteBackupRequest',
+        ['name'],
+      );
+      request.name = defaultValue1;
+      const expectedHeaderRequestParams = `name=${defaultValue1 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.Operation(),
+      );
+      client.innerApiCalls.deleteBackup = stubSimpleCall(expectedResponse);
+      const [response] = await client.deleteBackup(request);
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (
+        client.innerApiCalls.deleteBackup as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.deleteBackup as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes deleteBackup without error using callback', async () => {
-            const client = new sqlbackupsserviceModule.v1beta4.SqlBackupsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.DeleteBackupRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.DeleteBackupRequest', ['name']);
-            request.name = defaultValue1;
-            const expectedHeaderRequestParams = `name=${defaultValue1 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.Operation()
-            );
-            client.innerApiCalls.deleteBackup = stubSimpleCallWithCallback(expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.deleteBackup(
-                    request,
-                    (err?: Error|null, result?: protos.google.cloud.sql.v1beta4.IOperation|null) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.deleteBackup as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.deleteBackup as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    it('invokes deleteBackup without error using callback', async () => {
+      const client =
+        new sqlbackupsserviceModule.v1beta4.SqlBackupsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
         });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.DeleteBackupRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.DeleteBackupRequest',
+        ['name'],
+      );
+      request.name = defaultValue1;
+      const expectedHeaderRequestParams = `name=${defaultValue1 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.Operation(),
+      );
+      client.innerApiCalls.deleteBackup =
+        stubSimpleCallWithCallback(expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.deleteBackup(
+          request,
+          (
+            err?: Error | null,
+            result?: protos.google.cloud.sql.v1beta4.IOperation | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
+            }
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (
+        client.innerApiCalls.deleteBackup as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.deleteBackup as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes deleteBackup with error', async () => {
-            const client = new sqlbackupsserviceModule.v1beta4.SqlBackupsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.DeleteBackupRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.DeleteBackupRequest', ['name']);
-            request.name = defaultValue1;
-            const expectedHeaderRequestParams = `name=${defaultValue1 ?? '' }`;
-            const expectedError = new Error('expected');
-            client.innerApiCalls.deleteBackup = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.deleteBackup(request), expectedError);
-            const actualRequest = (client.innerApiCalls.deleteBackup as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.deleteBackup as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    it('invokes deleteBackup with error', async () => {
+      const client =
+        new sqlbackupsserviceModule.v1beta4.SqlBackupsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
         });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.DeleteBackupRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.DeleteBackupRequest',
+        ['name'],
+      );
+      request.name = defaultValue1;
+      const expectedHeaderRequestParams = `name=${defaultValue1 ?? ''}`;
+      const expectedError = new Error('expected');
+      client.innerApiCalls.deleteBackup = stubSimpleCall(
+        undefined,
+        expectedError,
+      );
+      await assert.rejects(client.deleteBackup(request), expectedError);
+      const actualRequest = (
+        client.innerApiCalls.deleteBackup as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.deleteBackup as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes deleteBackup with closed client', async () => {
-            const client = new sqlbackupsserviceModule.v1beta4.SqlBackupsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.DeleteBackupRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.DeleteBackupRequest', ['name']);
-            request.name = defaultValue1;
-            const expectedError = new Error('The client has already been closed.');
-            client.close().catch(err => {throw err});
-            await assert.rejects(client.deleteBackup(request), expectedError);
+    it('invokes deleteBackup with closed client', async () => {
+      const client =
+        new sqlbackupsserviceModule.v1beta4.SqlBackupsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
         });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.DeleteBackupRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.DeleteBackupRequest',
+        ['name'],
+      );
+      request.name = defaultValue1;
+      const expectedError = new Error('The client has already been closed.');
+      client.close().catch((err) => {
+        throw err;
+      });
+      await assert.rejects(client.deleteBackup(request), expectedError);
     });
+  });
 
-    describe('listBackups', () => {
-        it('invokes listBackups without error', async () => {
-            const client = new sqlbackupsserviceModule.v1beta4.SqlBackupsServiceClient({
-                credentials: {client_email: 'bogus', private_key: 'bogus'},
-                projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.ListBackupsRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.ListBackupsRequest', ['parent']);
-            request.parent = defaultValue1;
-            const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`;const expectedResponse = [
-              generateSampleMessage(new protos.google.cloud.sql.v1beta4.Backup()),
-              generateSampleMessage(new protos.google.cloud.sql.v1beta4.Backup()),
-              generateSampleMessage(new protos.google.cloud.sql.v1beta4.Backup()),
-            ];
-            client.innerApiCalls.listBackups = stubSimpleCall(expectedResponse);
-            const [response] = await client.listBackups(request);
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.listBackups as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.listBackups as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+  describe('listBackups', () => {
+    it('invokes listBackups without error', async () => {
+      const client =
+        new sqlbackupsserviceModule.v1beta4.SqlBackupsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
         });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.ListBackupsRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.ListBackupsRequest',
+        ['parent'],
+      );
+      request.parent = defaultValue1;
+      const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`;
+      const expectedResponse = [
+        generateSampleMessage(new protos.google.cloud.sql.v1beta4.Backup()),
+        generateSampleMessage(new protos.google.cloud.sql.v1beta4.Backup()),
+        generateSampleMessage(new protos.google.cloud.sql.v1beta4.Backup()),
+      ];
+      client.innerApiCalls.listBackups = stubSimpleCall(expectedResponse);
+      const [response] = await client.listBackups(request);
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (
+        client.innerApiCalls.listBackups as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.listBackups as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes listBackups without error using callback', async () => {
-            const client = new sqlbackupsserviceModule.v1beta4.SqlBackupsServiceClient({
-                credentials: {client_email: 'bogus', private_key: 'bogus'},
-                projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.ListBackupsRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.ListBackupsRequest', ['parent']);
-            request.parent = defaultValue1;
-            const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`;const expectedResponse = [
-              generateSampleMessage(new protos.google.cloud.sql.v1beta4.Backup()),
-              generateSampleMessage(new protos.google.cloud.sql.v1beta4.Backup()),
-              generateSampleMessage(new protos.google.cloud.sql.v1beta4.Backup()),
-            ];
-            client.innerApiCalls.listBackups = stubSimpleCallWithCallback(expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.listBackups(
-                    request,
-                    (err?: Error|null, result?: protos.google.cloud.sql.v1beta4.IBackup[]|null) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.listBackups as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.listBackups as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    it('invokes listBackups without error using callback', async () => {
+      const client =
+        new sqlbackupsserviceModule.v1beta4.SqlBackupsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
         });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.ListBackupsRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.ListBackupsRequest',
+        ['parent'],
+      );
+      request.parent = defaultValue1;
+      const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`;
+      const expectedResponse = [
+        generateSampleMessage(new protos.google.cloud.sql.v1beta4.Backup()),
+        generateSampleMessage(new protos.google.cloud.sql.v1beta4.Backup()),
+        generateSampleMessage(new protos.google.cloud.sql.v1beta4.Backup()),
+      ];
+      client.innerApiCalls.listBackups =
+        stubSimpleCallWithCallback(expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.listBackups(
+          request,
+          (
+            err?: Error | null,
+            result?: protos.google.cloud.sql.v1beta4.IBackup[] | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
+            }
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (
+        client.innerApiCalls.listBackups as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.listBackups as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes listBackups with error', async () => {
-            const client = new sqlbackupsserviceModule.v1beta4.SqlBackupsServiceClient({
-                credentials: {client_email: 'bogus', private_key: 'bogus'},
-                projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.ListBackupsRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.ListBackupsRequest', ['parent']);
-            request.parent = defaultValue1;
-            const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`;
-            const expectedError = new Error('expected');
-            client.innerApiCalls.listBackups = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.listBackups(request), expectedError);
-            const actualRequest = (client.innerApiCalls.listBackups as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.listBackups as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    it('invokes listBackups with error', async () => {
+      const client =
+        new sqlbackupsserviceModule.v1beta4.SqlBackupsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
         });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.ListBackupsRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.ListBackupsRequest',
+        ['parent'],
+      );
+      request.parent = defaultValue1;
+      const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`;
+      const expectedError = new Error('expected');
+      client.innerApiCalls.listBackups = stubSimpleCall(
+        undefined,
+        expectedError,
+      );
+      await assert.rejects(client.listBackups(request), expectedError);
+      const actualRequest = (
+        client.innerApiCalls.listBackups as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.listBackups as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes listBackupsStream without error', async () => {
-            const client = new sqlbackupsserviceModule.v1beta4.SqlBackupsServiceClient({
-                credentials: {client_email: 'bogus', private_key: 'bogus'},
-                projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.ListBackupsRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.ListBackupsRequest', ['parent']);
-            request.parent = defaultValue1;
-            const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`;
-            const expectedResponse = [
-              generateSampleMessage(new protos.google.cloud.sql.v1beta4.Backup()),
-              generateSampleMessage(new protos.google.cloud.sql.v1beta4.Backup()),
-              generateSampleMessage(new protos.google.cloud.sql.v1beta4.Backup()),
-            ];
-            client.descriptors.page.listBackups.createStream = stubPageStreamingCall(expectedResponse);
-            const stream = client.listBackupsStream(request);
-            const promise = new Promise((resolve, reject) => {
-                const responses: protos.google.cloud.sql.v1beta4.Backup[] = [];
-                stream.on('data', (response: protos.google.cloud.sql.v1beta4.Backup) => {
-                    responses.push(response);
-                });
-                stream.on('end', () => {
-                    resolve(responses);
-                });
-                stream.on('error', (err: Error) => {
-                    reject(err);
-                });
-            });
-            const responses = await promise;
-            assert.deepStrictEqual(responses, expectedResponse);
-            assert((client.descriptors.page.listBackups.createStream as SinonStub)
-                .getCall(0).calledWith(client.innerApiCalls.listBackups, request));
-            assert(
-                (client.descriptors.page.listBackups.createStream as SinonStub)
-                    .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes(
-                        expectedHeaderRequestParams
-                    )
-            );
+    it('invokes listBackupsStream without error', async () => {
+      const client =
+        new sqlbackupsserviceModule.v1beta4.SqlBackupsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.ListBackupsRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.ListBackupsRequest',
+        ['parent'],
+      );
+      request.parent = defaultValue1;
+      const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`;
+      const expectedResponse = [
+        generateSampleMessage(new protos.google.cloud.sql.v1beta4.Backup()),
+        generateSampleMessage(new protos.google.cloud.sql.v1beta4.Backup()),
+        generateSampleMessage(new protos.google.cloud.sql.v1beta4.Backup()),
+      ];
+      client.descriptors.page.listBackups.createStream =
+        stubPageStreamingCall(expectedResponse);
+      const stream = client.listBackupsStream(request);
+      const promise = new Promise((resolve, reject) => {
+        const responses: protos.google.cloud.sql.v1beta4.Backup[] = [];
+        stream.on(
+          'data',
+          (response: protos.google.cloud.sql.v1beta4.Backup) => {
+            responses.push(response);
+          },
+        );
+        stream.on('end', () => {
+          resolve(responses);
         });
+        stream.on('error', (err: Error) => {
+          reject(err);
+        });
+      });
+      const responses = await promise;
+      assert.deepStrictEqual(responses, expectedResponse);
+      assert(
+        (client.descriptors.page.listBackups.createStream as SinonStub)
+          .getCall(0)
+          .calledWith(client.innerApiCalls.listBackups, request),
+      );
+      assert(
+        (client.descriptors.page.listBackups.createStream as SinonStub)
+          .getCall(0)
+          .args[2].otherArgs.headers[
+            'x-goog-request-params'
+          ].includes(expectedHeaderRequestParams),
+      );
+    });
 
-        it('invokes listBackupsStream with error', async () => {
-            const client = new sqlbackupsserviceModule.v1beta4.SqlBackupsServiceClient({
-                credentials: {client_email: 'bogus', private_key: 'bogus'},
-                projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.ListBackupsRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.ListBackupsRequest', ['parent']);
-            request.parent = defaultValue1;
-            const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`;
-            const expectedError = new Error('expected');
-            client.descriptors.page.listBackups.createStream = stubPageStreamingCall(undefined, expectedError);
-            const stream = client.listBackupsStream(request);
-            const promise = new Promise((resolve, reject) => {
-                const responses: protos.google.cloud.sql.v1beta4.Backup[] = [];
-                stream.on('data', (response: protos.google.cloud.sql.v1beta4.Backup) => {
-                    responses.push(response);
-                });
-                stream.on('end', () => {
-                    resolve(responses);
-                });
-                stream.on('error', (err: Error) => {
-                    reject(err);
-                });
-            });
-            await assert.rejects(promise, expectedError);
-            assert((client.descriptors.page.listBackups.createStream as SinonStub)
-                .getCall(0).calledWith(client.innerApiCalls.listBackups, request));
-            assert(
-                (client.descriptors.page.listBackups.createStream as SinonStub)
-                    .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes(
-                         expectedHeaderRequestParams
-                    ) 
-            );
+    it('invokes listBackupsStream with error', async () => {
+      const client =
+        new sqlbackupsserviceModule.v1beta4.SqlBackupsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.ListBackupsRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.ListBackupsRequest',
+        ['parent'],
+      );
+      request.parent = defaultValue1;
+      const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`;
+      const expectedError = new Error('expected');
+      client.descriptors.page.listBackups.createStream = stubPageStreamingCall(
+        undefined,
+        expectedError,
+      );
+      const stream = client.listBackupsStream(request);
+      const promise = new Promise((resolve, reject) => {
+        const responses: protos.google.cloud.sql.v1beta4.Backup[] = [];
+        stream.on(
+          'data',
+          (response: protos.google.cloud.sql.v1beta4.Backup) => {
+            responses.push(response);
+          },
+        );
+        stream.on('end', () => {
+          resolve(responses);
+        });
+        stream.on('error', (err: Error) => {
+          reject(err);
         });
+      });
+      await assert.rejects(promise, expectedError);
+      assert(
+        (client.descriptors.page.listBackups.createStream as SinonStub)
+          .getCall(0)
+          .calledWith(client.innerApiCalls.listBackups, request),
+      );
+      assert(
+        (client.descriptors.page.listBackups.createStream as SinonStub)
+          .getCall(0)
+          .args[2].otherArgs.headers[
+            'x-goog-request-params'
+          ].includes(expectedHeaderRequestParams),
+      );
+    });
 
-        it('uses async iteration with listBackups without error', async () => {
-            const client = new sqlbackupsserviceModule.v1beta4.SqlBackupsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.ListBackupsRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.ListBackupsRequest', ['parent']);
-            request.parent = defaultValue1;
-            const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`;
-            const expectedResponse = [
-              generateSampleMessage(new protos.google.cloud.sql.v1beta4.Backup()),
-              generateSampleMessage(new protos.google.cloud.sql.v1beta4.Backup()),
-              generateSampleMessage(new protos.google.cloud.sql.v1beta4.Backup()),
-            ];
-            client.descriptors.page.listBackups.asyncIterate = stubAsyncIterationCall(expectedResponse);
-            const responses: protos.google.cloud.sql.v1beta4.IBackup[] = [];
-            const iterable = client.listBackupsAsync(request);
-            for await (const resource of iterable) {
-                responses.push(resource!);
-            }
-            assert.deepStrictEqual(responses, expectedResponse);
-            assert.deepStrictEqual(
-                (client.descriptors.page.listBackups.asyncIterate as SinonStub)
-                    .getCall(0).args[1], request);
-            assert(
-                (client.descriptors.page.listBackups.asyncIterate as SinonStub)
-                    .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes(
-                        expectedHeaderRequestParams
-                    )
-            );
+    it('uses async iteration with listBackups without error', async () => {
+      const client =
+        new sqlbackupsserviceModule.v1beta4.SqlBackupsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
         });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.ListBackupsRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.ListBackupsRequest',
+        ['parent'],
+      );
+      request.parent = defaultValue1;
+      const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`;
+      const expectedResponse = [
+        generateSampleMessage(new protos.google.cloud.sql.v1beta4.Backup()),
+        generateSampleMessage(new protos.google.cloud.sql.v1beta4.Backup()),
+        generateSampleMessage(new protos.google.cloud.sql.v1beta4.Backup()),
+      ];
+      client.descriptors.page.listBackups.asyncIterate =
+        stubAsyncIterationCall(expectedResponse);
+      const responses: protos.google.cloud.sql.v1beta4.IBackup[] = [];
+      const iterable = client.listBackupsAsync(request);
+      for await (const resource of iterable) {
+        responses.push(resource!);
+      }
+      assert.deepStrictEqual(responses, expectedResponse);
+      assert.deepStrictEqual(
+        (client.descriptors.page.listBackups.asyncIterate as SinonStub).getCall(
+          0,
+        ).args[1],
+        request,
+      );
+      assert(
+        (client.descriptors.page.listBackups.asyncIterate as SinonStub)
+          .getCall(0)
+          .args[2].otherArgs.headers[
+            'x-goog-request-params'
+          ].includes(expectedHeaderRequestParams),
+      );
+    });
 
-        it('uses async iteration with listBackups with error', async () => {
-            const client = new sqlbackupsserviceModule.v1beta4.SqlBackupsServiceClient({
-                credentials: {client_email: 'bogus', private_key: 'bogus'},
-                projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.ListBackupsRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.ListBackupsRequest', ['parent']);
-            request.parent = defaultValue1;
-            const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`;
-            const expectedError = new Error('expected');
-            client.descriptors.page.listBackups.asyncIterate = stubAsyncIterationCall(undefined, expectedError);
-            const iterable = client.listBackupsAsync(request);
-            await assert.rejects(async () => {
-                const responses: protos.google.cloud.sql.v1beta4.IBackup[] = [];
-                for await (const resource of iterable) {
-                    responses.push(resource!);
-                }
-            });
-            assert.deepStrictEqual(
-                (client.descriptors.page.listBackups.asyncIterate as SinonStub)
-                    .getCall(0).args[1], request);
-            assert(
-                (client.descriptors.page.listBackups.asyncIterate as SinonStub)
-                    .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes(
-                        expectedHeaderRequestParams
-                    )
-            );
+    it('uses async iteration with listBackups with error', async () => {
+      const client =
+        new sqlbackupsserviceModule.v1beta4.SqlBackupsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
         });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.ListBackupsRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.ListBackupsRequest',
+        ['parent'],
+      );
+      request.parent = defaultValue1;
+      const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`;
+      const expectedError = new Error('expected');
+      client.descriptors.page.listBackups.asyncIterate = stubAsyncIterationCall(
+        undefined,
+        expectedError,
+      );
+      const iterable = client.listBackupsAsync(request);
+      await assert.rejects(async () => {
+        const responses: protos.google.cloud.sql.v1beta4.IBackup[] = [];
+        for await (const resource of iterable) {
+          responses.push(resource!);
+        }
+      });
+      assert.deepStrictEqual(
+        (client.descriptors.page.listBackups.asyncIterate as SinonStub).getCall(
+          0,
+        ).args[1],
+        request,
+      );
+      assert(
+        (client.descriptors.page.listBackups.asyncIterate as SinonStub)
+          .getCall(0)
+          .args[2].otherArgs.headers[
+            'x-goog-request-params'
+          ].includes(expectedHeaderRequestParams),
+      );
     });
-    describe('getLocation', () => {
-        it('invokes getLocation without error', async () => {
-            const client = new sqlbackupsserviceModule.v1beta4.SqlBackupsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new LocationProtos.google.cloud.location.GetLocationRequest()
-            );
-            request.name = '';
-            const expectedHeaderRequestParams = 'name=';
-            const expectedOptions = {
-                otherArgs: {
-                    headers: {
-                        'x-goog-request-params': expectedHeaderRequestParams,
-                    },
-                },
-            };
-            const expectedResponse = generateSampleMessage(
-              new LocationProtos.google.cloud.location.Location()
-            );
-            client.locationsClient.getLocation = stubSimpleCall(expectedResponse);
-            const response = await client.getLocation(request, expectedOptions);
-            assert.deepStrictEqual(response, [expectedResponse]);
-            assert((client.locationsClient.getLocation as SinonStub)
-                .getCall(0).calledWith(request, expectedOptions, undefined));
+  });
+  describe('getLocation', () => {
+    it('invokes getLocation without error', async () => {
+      const client =
+        new sqlbackupsserviceModule.v1beta4.SqlBackupsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
         });
-        it('invokes getLocation without error using callback', async () => {
-            const client = new sqlbackupsserviceModule.v1beta4.SqlBackupsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new LocationProtos.google.cloud.location.GetLocationRequest()
-            );
-            request.name = '';
-            const expectedHeaderRequestParams = 'name=';
-            const expectedOptions = {
-                otherArgs: {
-                    headers: {
-                        'x-goog-request-params': expectedHeaderRequestParams,
-                    },
-                },
-            };
-            const expectedResponse = generateSampleMessage(
-              new LocationProtos.google.cloud.location.Location()
-            );
-            client.locationsClient.getLocation = sinon.stub().callsArgWith(2, null, expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.getLocation(
-                    request,
-                    expectedOptions,
-                    (
-                        err?: Error | null,
-                        result?: LocationProtos.google.cloud.location.ILocation | null
-                    ) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            assert((client.locationsClient.getLocation as SinonStub)
-                .getCall(0));
+      await client.initialize();
+      const request = generateSampleMessage(
+        new LocationProtos.google.cloud.location.GetLocationRequest(),
+      );
+      request.name = '';
+      const expectedHeaderRequestParams = 'name=';
+      const expectedOptions = {
+        otherArgs: {
+          headers: {
+            'x-goog-request-params': expectedHeaderRequestParams,
+          },
+        },
+      };
+      const expectedResponse = generateSampleMessage(
+        new LocationProtos.google.cloud.location.Location(),
+      );
+      client.locationsClient.getLocation = stubSimpleCall(expectedResponse);
+      const response = await client.getLocation(request, expectedOptions);
+      assert.deepStrictEqual(response, [expectedResponse]);
+      assert(
+        (client.locationsClient.getLocation as SinonStub)
+          .getCall(0)
+          .calledWith(request, expectedOptions, undefined),
+      );
+    });
+    it('invokes getLocation without error using callback', async () => {
+      const client =
+        new sqlbackupsserviceModule.v1beta4.SqlBackupsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
         });
-        it('invokes getLocation with error', async () => {
-            const client = new sqlbackupsserviceModule.v1beta4.SqlBackupsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new LocationProtos.google.cloud.location.GetLocationRequest()
-            );
-            request.name = '';
-            const expectedHeaderRequestParams = 'name=';
-            const expectedOptions = {
-                otherArgs: {
-                    headers: {
-                        'x-goog-request-params': expectedHeaderRequestParams,
-                    },
-                },
-            };
-            const expectedError = new Error('expected');
-            client.locationsClient.getLocation = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.getLocation(request, expectedOptions), expectedError);
-            assert((client.locationsClient.getLocation as SinonStub)
-                .getCall(0).calledWith(request, expectedOptions, undefined));
+      await client.initialize();
+      const request = generateSampleMessage(
+        new LocationProtos.google.cloud.location.GetLocationRequest(),
+      );
+      request.name = '';
+      const expectedHeaderRequestParams = 'name=';
+      const expectedOptions = {
+        otherArgs: {
+          headers: {
+            'x-goog-request-params': expectedHeaderRequestParams,
+          },
+        },
+      };
+      const expectedResponse = generateSampleMessage(
+        new LocationProtos.google.cloud.location.Location(),
+      );
+      client.locationsClient.getLocation = sinon
+        .stub()
+        .callsArgWith(2, null, expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.getLocation(
+          request,
+          expectedOptions,
+          (
+            err?: Error | null,
+            result?: LocationProtos.google.cloud.location.ILocation | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
+            }
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      assert((client.locationsClient.getLocation as SinonStub).getCall(0));
+    });
+    it('invokes getLocation with error', async () => {
+      const client =
+        new sqlbackupsserviceModule.v1beta4.SqlBackupsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
         });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new LocationProtos.google.cloud.location.GetLocationRequest(),
+      );
+      request.name = '';
+      const expectedHeaderRequestParams = 'name=';
+      const expectedOptions = {
+        otherArgs: {
+          headers: {
+            'x-goog-request-params': expectedHeaderRequestParams,
+          },
+        },
+      };
+      const expectedError = new Error('expected');
+      client.locationsClient.getLocation = stubSimpleCall(
+        undefined,
+        expectedError,
+      );
+      await assert.rejects(
+        client.getLocation(request, expectedOptions),
+        expectedError,
+      );
+      assert(
+        (client.locationsClient.getLocation as SinonStub)
+          .getCall(0)
+          .calledWith(request, expectedOptions, undefined),
+      );
     });
-    describe('listLocationsAsync', () => {
-        it('uses async iteration with listLocations without error', async () => {
-            const client = new sqlbackupsserviceModule.v1beta4.SqlBackupsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-                new LocationProtos.google.cloud.location.ListLocationsRequest()
-            );
-            request.name = '';
-            const expectedHeaderRequestParams = 'name=';
-            const expectedResponse = [
-                generateSampleMessage(
-                    new LocationProtos.google.cloud.location.Location()
-                ),
-                generateSampleMessage(
-                    new LocationProtos.google.cloud.location.Location()
-                ),
-                generateSampleMessage(
-                    new LocationProtos.google.cloud.location.Location()
-                ),
-            ];
-            client.locationsClient.descriptors.page.listLocations.asyncIterate = stubAsyncIterationCall(expectedResponse);
-            const responses: LocationProtos.google.cloud.location.ILocation[] = [];
-            const iterable = client.listLocationsAsync(request);
-            for await (const resource of iterable) {
-                responses.push(resource!);
-            }
-            assert.deepStrictEqual(responses, expectedResponse);
-            assert.deepStrictEqual(
-                (client.locationsClient.descriptors.page.listLocations.asyncIterate as SinonStub)
-                    .getCall(0).args[1], request);
-            assert(
-                (client.locationsClient.descriptors.page.listLocations.asyncIterate as SinonStub)
-                    .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes(
-                        expectedHeaderRequestParams
-                    )
-            );
+  });
+  describe('listLocationsAsync', () => {
+    it('uses async iteration with listLocations without error', async () => {
+      const client =
+        new sqlbackupsserviceModule.v1beta4.SqlBackupsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
         });
-        it('uses async iteration with listLocations with error', async () => {
-            const client = new sqlbackupsserviceModule.v1beta4.SqlBackupsServiceClient({
-                credentials: {client_email: 'bogus', private_key: 'bogus'},
-                projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new LocationProtos.google.cloud.location.ListLocationsRequest()
-            );
-            request.name = '';
-            const expectedHeaderRequestParams = 'name=';
-            const expectedError = new Error('expected');
-            client.locationsClient.descriptors.page.listLocations.asyncIterate = stubAsyncIterationCall(undefined, expectedError);
-            const iterable = client.listLocationsAsync(request);
-            await assert.rejects(async () => {
-                const responses: LocationProtos.google.cloud.location.ILocation[] = [];
-                for await (const resource of iterable) {
-                    responses.push(resource!);
-                }
-            });
-            assert.deepStrictEqual(
-                (client.locationsClient.descriptors.page.listLocations.asyncIterate as SinonStub)
-                    .getCall(0).args[1], request);
-            assert(
-                (client.locationsClient.descriptors.page.listLocations.asyncIterate as SinonStub)
-                    .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes(
-                        expectedHeaderRequestParams
-                    )
-            );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new LocationProtos.google.cloud.location.ListLocationsRequest(),
+      );
+      request.name = '';
+      const expectedHeaderRequestParams = 'name=';
+      const expectedResponse = [
+        generateSampleMessage(
+          new LocationProtos.google.cloud.location.Location(),
+        ),
+        generateSampleMessage(
+          new LocationProtos.google.cloud.location.Location(),
+        ),
+        generateSampleMessage(
+          new LocationProtos.google.cloud.location.Location(),
+        ),
+      ];
+      client.locationsClient.descriptors.page.listLocations.asyncIterate =
+        stubAsyncIterationCall(expectedResponse);
+      const responses: LocationProtos.google.cloud.location.ILocation[] = [];
+      const iterable = client.listLocationsAsync(request);
+      for await (const resource of iterable) {
+        responses.push(resource!);
+      }
+      assert.deepStrictEqual(responses, expectedResponse);
+      assert.deepStrictEqual(
+        (
+          client.locationsClient.descriptors.page.listLocations
+            .asyncIterate as SinonStub
+        ).getCall(0).args[1],
+        request,
+      );
+      assert(
+        (
+          client.locationsClient.descriptors.page.listLocations
+            .asyncIterate as SinonStub
+        )
+          .getCall(0)
+          .args[2].otherArgs.headers['x-goog-request-params'].includes(
+            expectedHeaderRequestParams,
+          ),
+      );
+    });
+    it('uses async iteration with listLocations with error', async () => {
+      const client =
+        new sqlbackupsserviceModule.v1beta4.SqlBackupsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
         });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new LocationProtos.google.cloud.location.ListLocationsRequest(),
+      );
+      request.name = '';
+      const expectedHeaderRequestParams = 'name=';
+      const expectedError = new Error('expected');
+      client.locationsClient.descriptors.page.listLocations.asyncIterate =
+        stubAsyncIterationCall(undefined, expectedError);
+      const iterable = client.listLocationsAsync(request);
+      await assert.rejects(async () => {
+        const responses: LocationProtos.google.cloud.location.ILocation[] = [];
+        for await (const resource of iterable) {
+          responses.push(resource!);
+        }
+      });
+      assert.deepStrictEqual(
+        (
+          client.locationsClient.descriptors.page.listLocations
+            .asyncIterate as SinonStub
+        ).getCall(0).args[1],
+        request,
+      );
+      assert(
+        (
+          client.locationsClient.descriptors.page.listLocations
+            .asyncIterate as SinonStub
+        )
+          .getCall(0)
+          .args[2].otherArgs.headers['x-goog-request-params'].includes(
+            expectedHeaderRequestParams,
+          ),
+      );
     });
+  });
 
-    describe('Path templates', () => {
+  describe('Path templates', () => {
+    describe('backup', async () => {
+      const fakePath = '/rendered/path/backup';
+      const expectedParameters = {
+        project: 'projectValue',
+        backup: 'backupValue',
+      };
+      const client =
+        new sqlbackupsserviceModule.v1beta4.SqlBackupsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      client.pathTemplates.backupPathTemplate.render = sinon
+        .stub()
+        .returns(fakePath);
+      client.pathTemplates.backupPathTemplate.match = sinon
+        .stub()
+        .returns(expectedParameters);
 
-        describe('backup', async () => {
-            const fakePath = "/rendered/path/backup";
-            const expectedParameters = {
-                project: "projectValue",
-                backup: "backupValue",
-            };
-            const client = new sqlbackupsserviceModule.v1beta4.SqlBackupsServiceClient({
-                credentials: {client_email: 'bogus', private_key: 'bogus'},
-                projectId: 'bogus',
-            });
-            await client.initialize();
-            client.pathTemplates.backupPathTemplate.render =
-                sinon.stub().returns(fakePath);
-            client.pathTemplates.backupPathTemplate.match =
-                sinon.stub().returns(expectedParameters);
+      it('backupPath', () => {
+        const result = client.backupPath('projectValue', 'backupValue');
+        assert.strictEqual(result, fakePath);
+        assert(
+          (client.pathTemplates.backupPathTemplate.render as SinonStub)
+            .getCall(-1)
+            .calledWith(expectedParameters),
+        );
+      });
 
-            it('backupPath', () => {
-                const result = client.backupPath("projectValue", "backupValue");
-                assert.strictEqual(result, fakePath);
-                assert((client.pathTemplates.backupPathTemplate.render as SinonStub)
-                    .getCall(-1).calledWith(expectedParameters));
-            });
+      it('matchProjectFromBackupName', () => {
+        const result = client.matchProjectFromBackupName(fakePath);
+        assert.strictEqual(result, 'projectValue');
+        assert(
+          (client.pathTemplates.backupPathTemplate.match as SinonStub)
+            .getCall(-1)
+            .calledWith(fakePath),
+        );
+      });
 
-            it('matchProjectFromBackupName', () => {
-                const result = client.matchProjectFromBackupName(fakePath);
-                assert.strictEqual(result, "projectValue");
-                assert((client.pathTemplates.backupPathTemplate.match as SinonStub)
-                    .getCall(-1).calledWith(fakePath));
-            });
+      it('matchBackupFromBackupName', () => {
+        const result = client.matchBackupFromBackupName(fakePath);
+        assert.strictEqual(result, 'backupValue');
+        assert(
+          (client.pathTemplates.backupPathTemplate.match as SinonStub)
+            .getCall(-1)
+            .calledWith(fakePath),
+        );
+      });
+    });
 
-            it('matchBackupFromBackupName', () => {
-                const result = client.matchBackupFromBackupName(fakePath);
-                assert.strictEqual(result, "backupValue");
-                assert((client.pathTemplates.backupPathTemplate.match as SinonStub)
-                    .getCall(-1).calledWith(fakePath));
-            });
+    describe('project', async () => {
+      const fakePath = '/rendered/path/project';
+      const expectedParameters = {
+        project: 'projectValue',
+      };
+      const client =
+        new sqlbackupsserviceModule.v1beta4.SqlBackupsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
         });
+      await client.initialize();
+      client.pathTemplates.projectPathTemplate.render = sinon
+        .stub()
+        .returns(fakePath);
+      client.pathTemplates.projectPathTemplate.match = sinon
+        .stub()
+        .returns(expectedParameters);
 
-        describe('project', async () => {
-            const fakePath = "/rendered/path/project";
-            const expectedParameters = {
-                project: "projectValue",
-            };
-            const client = new sqlbackupsserviceModule.v1beta4.SqlBackupsServiceClient({
-                credentials: {client_email: 'bogus', private_key: 'bogus'},
-                projectId: 'bogus',
-            });
-            await client.initialize();
-            client.pathTemplates.projectPathTemplate.render =
-                sinon.stub().returns(fakePath);
-            client.pathTemplates.projectPathTemplate.match =
-                sinon.stub().returns(expectedParameters);
+      it('projectPath', () => {
+        const result = client.projectPath('projectValue');
+        assert.strictEqual(result, fakePath);
+        assert(
+          (client.pathTemplates.projectPathTemplate.render as SinonStub)
+            .getCall(-1)
+            .calledWith(expectedParameters),
+        );
+      });
 
-            it('projectPath', () => {
-                const result = client.projectPath("projectValue");
-                assert.strictEqual(result, fakePath);
-                assert((client.pathTemplates.projectPathTemplate.render as SinonStub)
-                    .getCall(-1).calledWith(expectedParameters));
-            });
-
-            it('matchProjectFromProjectName', () => {
-                const result = client.matchProjectFromProjectName(fakePath);
-                assert.strictEqual(result, "projectValue");
-                assert((client.pathTemplates.projectPathTemplate.match as SinonStub)
-                    .getCall(-1).calledWith(fakePath));
-            });
-        });
+      it('matchProjectFromProjectName', () => {
+        const result = client.matchProjectFromProjectName(fakePath);
+        assert.strictEqual(result, 'projectValue');
+        assert(
+          (client.pathTemplates.projectPathTemplate.match as SinonStub)
+            .getCall(-1)
+            .calledWith(fakePath),
+        );
+      });
     });
+  });
 });
diff --git a/packages/google-cloud-sql/test/gapic_sql_connect_service_v1.ts b/packages/google-cloud-sql/test/gapic_sql_connect_service_v1.ts
index 6871c0b454df..b60949338fd6 100644
--- a/packages/google-cloud-sql/test/gapic_sql_connect_service_v1.ts
+++ b/packages/google-cloud-sql/test/gapic_sql_connect_service_v1.ts
@@ -19,663 +19,823 @@
 import * as protos from '../protos/protos';
 import * as assert from 'assert';
 import * as sinon from 'sinon';
-import {SinonStub} from 'sinon';
-import {describe, it} from 'mocha';
+import { SinonStub } from 'sinon';
+import { describe, it } from 'mocha';
 import * as sqlconnectserviceModule from '../src';
 
-import {protobuf, LocationProtos} from 'google-gax';
+import { protobuf, LocationProtos } from 'google-gax';
 
 // Dynamically loaded proto JSON is needed to get the type information
 // to fill in default values for request objects
-const root = protobuf.Root.fromJSON(require('../protos/protos.json')).resolveAll();
+const root = protobuf.Root.fromJSON(
+  require('../protos/protos.json'),
+).resolveAll();
 
 // eslint-disable-next-line @typescript-eslint/no-unused-vars
 function getTypeDefaultValue(typeName: string, fields: string[]) {
-    let type = root.lookupType(typeName) as protobuf.Type;
-    for (const field of fields.slice(0, -1)) {
-        type = type.fields[field]?.resolvedType as protobuf.Type;
-    }
-    return type.fields[fields[fields.length - 1]]?.defaultValue;
+  let type = root.lookupType(typeName) as protobuf.Type;
+  for (const field of fields.slice(0, -1)) {
+    type = type.fields[field]?.resolvedType as protobuf.Type;
+  }
+  return type.fields[fields[fields.length - 1]]?.defaultValue;
 }
 
 function generateSampleMessage<T extends object>(instance: T) {
-    const filledObject = (instance.constructor as typeof protobuf.Message)
-        .toObject(instance as protobuf.Message<T>, {defaults: true});
-    return (instance.constructor as typeof protobuf.Message).fromObject(filledObject) as T;
+  const filledObject = (
+    instance.constructor as typeof protobuf.Message
+  ).toObject(instance as protobuf.Message<T>, { defaults: true });
+  return (instance.constructor as typeof protobuf.Message).fromObject(
+    filledObject,
+  ) as T;
 }
 
 function stubSimpleCall<ResponseType>(response?: ResponseType, error?: Error) {
-    return error ? sinon.stub().rejects(error) : sinon.stub().resolves([response]);
+  return error
+    ? sinon.stub().rejects(error)
+    : sinon.stub().resolves([response]);
 }
 
-function stubSimpleCallWithCallback<ResponseType>(response?: ResponseType, error?: Error) {
-    return error ? sinon.stub().callsArgWith(2, error) : sinon.stub().callsArgWith(2, null, response);
+function stubSimpleCallWithCallback<ResponseType>(
+  response?: ResponseType,
+  error?: Error,
+) {
+  return error
+    ? sinon.stub().callsArgWith(2, error)
+    : sinon.stub().callsArgWith(2, null, response);
 }
 
-function stubAsyncIterationCall<ResponseType>(responses?: ResponseType[], error?: Error) {
-    let counter = 0;
-    const asyncIterable = {
-        [Symbol.asyncIterator]() {
-            return {
-                async next() {
-                    if (error) {
-                        return Promise.reject(error);
-                    }
-                    if (counter >= responses!.length) {
-                        return Promise.resolve({done: true, value: undefined});
-                    }
-                    return Promise.resolve({done: false, value: responses![counter++]});
-                }
-            };
-        }
-    };
-    return sinon.stub().returns(asyncIterable);
+function stubAsyncIterationCall<ResponseType>(
+  responses?: ResponseType[],
+  error?: Error,
+) {
+  let counter = 0;
+  const asyncIterable = {
+    [Symbol.asyncIterator]() {
+      return {
+        async next() {
+          if (error) {
+            return Promise.reject(error);
+          }
+          if (counter >= responses!.length) {
+            return Promise.resolve({ done: true, value: undefined });
+          }
+          return Promise.resolve({ done: false, value: responses![counter++] });
+        },
+      };
+    },
+  };
+  return sinon.stub().returns(asyncIterable);
 }
 
 describe('v1.SqlConnectServiceClient', () => {
-    describe('Common methods', () => {
-        it('has apiEndpoint', () => {
-            const client = new sqlconnectserviceModule.v1.SqlConnectServiceClient();
-            const apiEndpoint = client.apiEndpoint;
-            assert.strictEqual(apiEndpoint, 'sqladmin.googleapis.com');
-        });
+  describe('Common methods', () => {
+    it('has apiEndpoint', () => {
+      const client = new sqlconnectserviceModule.v1.SqlConnectServiceClient();
+      const apiEndpoint = client.apiEndpoint;
+      assert.strictEqual(apiEndpoint, 'sqladmin.googleapis.com');
+    });
 
-        it('has universeDomain', () => {
-            const client = new sqlconnectserviceModule.v1.SqlConnectServiceClient();
-            const universeDomain = client.universeDomain;
-            assert.strictEqual(universeDomain, "googleapis.com");
-        });
+    it('has universeDomain', () => {
+      const client = new sqlconnectserviceModule.v1.SqlConnectServiceClient();
+      const universeDomain = client.universeDomain;
+      assert.strictEqual(universeDomain, 'googleapis.com');
+    });
 
-        if (typeof process === 'object' && typeof process.emitWarning === 'function') {
-            it('throws DeprecationWarning if static servicePath is used', () => {
-                const stub = sinon.stub(process, 'emitWarning');
-                const servicePath = sqlconnectserviceModule.v1.SqlConnectServiceClient.servicePath;
-                assert.strictEqual(servicePath, 'sqladmin.googleapis.com');
-                assert(stub.called);
-                stub.restore();
-            });
-
-            it('throws DeprecationWarning if static apiEndpoint is used', () => {
-                const stub = sinon.stub(process, 'emitWarning');
-                const apiEndpoint = sqlconnectserviceModule.v1.SqlConnectServiceClient.apiEndpoint;
-                assert.strictEqual(apiEndpoint, 'sqladmin.googleapis.com');
-                assert(stub.called);
-                stub.restore();
-            });
-        }
-        it('sets apiEndpoint according to universe domain camelCase', () => {
-            const client = new sqlconnectserviceModule.v1.SqlConnectServiceClient({universeDomain: 'example.com'});
-            const servicePath = client.apiEndpoint;
-            assert.strictEqual(servicePath, 'sqladmin.example.com');
-        });
+    if (
+      typeof process === 'object' &&
+      typeof process.emitWarning === 'function'
+    ) {
+      it('throws DeprecationWarning if static servicePath is used', () => {
+        const stub = sinon.stub(process, 'emitWarning');
+        const servicePath =
+          sqlconnectserviceModule.v1.SqlConnectServiceClient.servicePath;
+        assert.strictEqual(servicePath, 'sqladmin.googleapis.com');
+        assert(stub.called);
+        stub.restore();
+      });
+
+      it('throws DeprecationWarning if static apiEndpoint is used', () => {
+        const stub = sinon.stub(process, 'emitWarning');
+        const apiEndpoint =
+          sqlconnectserviceModule.v1.SqlConnectServiceClient.apiEndpoint;
+        assert.strictEqual(apiEndpoint, 'sqladmin.googleapis.com');
+        assert(stub.called);
+        stub.restore();
+      });
+    }
+    it('sets apiEndpoint according to universe domain camelCase', () => {
+      const client = new sqlconnectserviceModule.v1.SqlConnectServiceClient({
+        universeDomain: 'example.com',
+      });
+      const servicePath = client.apiEndpoint;
+      assert.strictEqual(servicePath, 'sqladmin.example.com');
+    });
 
-        it('sets apiEndpoint according to universe domain snakeCase', () => {
-            const client = new sqlconnectserviceModule.v1.SqlConnectServiceClient({universe_domain: 'example.com'});
-            const servicePath = client.apiEndpoint;
-            assert.strictEqual(servicePath, 'sqladmin.example.com');
-        });
+    it('sets apiEndpoint according to universe domain snakeCase', () => {
+      const client = new sqlconnectserviceModule.v1.SqlConnectServiceClient({
+        universe_domain: 'example.com',
+      });
+      const servicePath = client.apiEndpoint;
+      assert.strictEqual(servicePath, 'sqladmin.example.com');
+    });
 
-        if (typeof process === 'object' && 'env' in process) {
-            describe('GOOGLE_CLOUD_UNIVERSE_DOMAIN environment variable', () => {
-                it('sets apiEndpoint from environment variable', () => {
-                    const saved = process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
-                    process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = 'example.com';
-                    const client = new sqlconnectserviceModule.v1.SqlConnectServiceClient();
-                    const servicePath = client.apiEndpoint;
-                    assert.strictEqual(servicePath, 'sqladmin.example.com');
-                    if (saved) {
-                        process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = saved;
-                    } else {
-                        delete process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
-                    }
-                });
-
-                it('value configured in code has priority over environment variable', () => {
-                    const saved = process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
-                    process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = 'example.com';
-                    const client = new sqlconnectserviceModule.v1.SqlConnectServiceClient({universeDomain: 'configured.example.com'});
-                    const servicePath = client.apiEndpoint;
-                    assert.strictEqual(servicePath, 'sqladmin.configured.example.com');
-                    if (saved) {
-                        process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = saved;
-                    } else {
-                        delete process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
-                    }
-                });
-            });
-        }
-        it('does not allow setting both universeDomain and universe_domain', () => {
-            assert.throws(() => { new sqlconnectserviceModule.v1.SqlConnectServiceClient({universe_domain: 'example.com', universeDomain: 'example.net'}); });
+    if (typeof process === 'object' && 'env' in process) {
+      describe('GOOGLE_CLOUD_UNIVERSE_DOMAIN environment variable', () => {
+        it('sets apiEndpoint from environment variable', () => {
+          const saved = process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
+          process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = 'example.com';
+          const client =
+            new sqlconnectserviceModule.v1.SqlConnectServiceClient();
+          const servicePath = client.apiEndpoint;
+          assert.strictEqual(servicePath, 'sqladmin.example.com');
+          if (saved) {
+            process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = saved;
+          } else {
+            delete process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
+          }
         });
 
-        it('has port', () => {
-            const port = sqlconnectserviceModule.v1.SqlConnectServiceClient.port;
-            assert(port);
-            assert(typeof port === 'number');
+        it('value configured in code has priority over environment variable', () => {
+          const saved = process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
+          process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = 'example.com';
+          const client = new sqlconnectserviceModule.v1.SqlConnectServiceClient(
+            { universeDomain: 'configured.example.com' },
+          );
+          const servicePath = client.apiEndpoint;
+          assert.strictEqual(servicePath, 'sqladmin.configured.example.com');
+          if (saved) {
+            process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = saved;
+          } else {
+            delete process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
+          }
         });
-
-        it('should create a client with no option', () => {
-            const client = new sqlconnectserviceModule.v1.SqlConnectServiceClient();
-            assert(client);
+      });
+    }
+    it('does not allow setting both universeDomain and universe_domain', () => {
+      assert.throws(() => {
+        new sqlconnectserviceModule.v1.SqlConnectServiceClient({
+          universe_domain: 'example.com',
+          universeDomain: 'example.net',
         });
+      });
+    });
 
-        it('should create a client with gRPC fallback', () => {
-            const client = new sqlconnectserviceModule.v1.SqlConnectServiceClient({
-                fallback: true,
-            });
-            assert(client);
-        });
+    it('has port', () => {
+      const port = sqlconnectserviceModule.v1.SqlConnectServiceClient.port;
+      assert(port);
+      assert(typeof port === 'number');
+    });
 
-        it('has initialize method and supports deferred initialization', async () => {
-            const client = new sqlconnectserviceModule.v1.SqlConnectServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            assert.strictEqual(client.sqlConnectServiceStub, undefined);
-            await client.initialize();
-            assert(client.sqlConnectServiceStub);
-        });
+    it('should create a client with no option', () => {
+      const client = new sqlconnectserviceModule.v1.SqlConnectServiceClient();
+      assert(client);
+    });
 
-        it('has close method for the initialized client', done => {
-            const client = new sqlconnectserviceModule.v1.SqlConnectServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            client.initialize().catch(err => {throw err});
-            assert(client.sqlConnectServiceStub);
-            client.close().then(() => {
-                done();
-            }).catch(err => {throw err});
-        });
+    it('should create a client with gRPC fallback', () => {
+      const client = new sqlconnectserviceModule.v1.SqlConnectServiceClient({
+        fallback: true,
+      });
+      assert(client);
+    });
 
-        it('has close method for the non-initialized client', done => {
-            const client = new sqlconnectserviceModule.v1.SqlConnectServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            assert.strictEqual(client.sqlConnectServiceStub, undefined);
-            client.close().then(() => {
-                done();
-            }).catch(err => {throw err});
-        });
+    it('has initialize method and supports deferred initialization', async () => {
+      const client = new sqlconnectserviceModule.v1.SqlConnectServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      assert.strictEqual(client.sqlConnectServiceStub, undefined);
+      await client.initialize();
+      assert(client.sqlConnectServiceStub);
+    });
 
-        it('has getProjectId method', async () => {
-            const fakeProjectId = 'fake-project-id';
-            const client = new sqlconnectserviceModule.v1.SqlConnectServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            client.auth.getProjectId = sinon.stub().resolves(fakeProjectId);
-            const result = await client.getProjectId();
-            assert.strictEqual(result, fakeProjectId);
-            assert((client.auth.getProjectId as SinonStub).calledWithExactly());
+    it('has close method for the initialized client', (done) => {
+      const client = new sqlconnectserviceModule.v1.SqlConnectServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      client.initialize().catch((err) => {
+        throw err;
+      });
+      assert(client.sqlConnectServiceStub);
+      client
+        .close()
+        .then(() => {
+          done();
+        })
+        .catch((err) => {
+          throw err;
         });
+    });
 
-        it('has getProjectId method with callback', async () => {
-            const fakeProjectId = 'fake-project-id';
-            const client = new sqlconnectserviceModule.v1.SqlConnectServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            client.auth.getProjectId = sinon.stub().callsArgWith(0, null, fakeProjectId);
-            const promise = new Promise((resolve, reject) => {
-                client.getProjectId((err?: Error|null, projectId?: string|null) => {
-                    if (err) {
-                        reject(err);
-                    } else {
-                        resolve(projectId);
-                    }
-                });
-            });
-            const result = await promise;
-            assert.strictEqual(result, fakeProjectId);
+    it('has close method for the non-initialized client', (done) => {
+      const client = new sqlconnectserviceModule.v1.SqlConnectServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      assert.strictEqual(client.sqlConnectServiceStub, undefined);
+      client
+        .close()
+        .then(() => {
+          done();
+        })
+        .catch((err) => {
+          throw err;
         });
     });
 
-    describe('getConnectSettings', () => {
-        it('invokes getConnectSettings without error', async () => {
-            const client = new sqlconnectserviceModule.v1.SqlConnectServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.GetConnectSettingsRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.GetConnectSettingsRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.GetConnectSettingsRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1.ConnectSettings()
-            );
-            client.innerApiCalls.getConnectSettings = stubSimpleCall(expectedResponse);
-            const [response] = await client.getConnectSettings(request);
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.getConnectSettings as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.getConnectSettings as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+    it('has getProjectId method', async () => {
+      const fakeProjectId = 'fake-project-id';
+      const client = new sqlconnectserviceModule.v1.SqlConnectServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      client.auth.getProjectId = sinon.stub().resolves(fakeProjectId);
+      const result = await client.getProjectId();
+      assert.strictEqual(result, fakeProjectId);
+      assert((client.auth.getProjectId as SinonStub).calledWithExactly());
+    });
 
-        it('invokes getConnectSettings without error using callback', async () => {
-            const client = new sqlconnectserviceModule.v1.SqlConnectServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.GetConnectSettingsRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.GetConnectSettingsRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.GetConnectSettingsRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1.ConnectSettings()
-            );
-            client.innerApiCalls.getConnectSettings = stubSimpleCallWithCallback(expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.getConnectSettings(
-                    request,
-                    (err?: Error|null, result?: protos.google.cloud.sql.v1.IConnectSettings|null) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.getConnectSettings as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.getConnectSettings as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    it('has getProjectId method with callback', async () => {
+      const fakeProjectId = 'fake-project-id';
+      const client = new sqlconnectserviceModule.v1.SqlConnectServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      client.auth.getProjectId = sinon
+        .stub()
+        .callsArgWith(0, null, fakeProjectId);
+      const promise = new Promise((resolve, reject) => {
+        client.getProjectId((err?: Error | null, projectId?: string | null) => {
+          if (err) {
+            reject(err);
+          } else {
+            resolve(projectId);
+          }
         });
+      });
+      const result = await promise;
+      assert.strictEqual(result, fakeProjectId);
+    });
+  });
+
+  describe('getConnectSettings', () => {
+    it('invokes getConnectSettings without error', async () => {
+      const client = new sqlconnectserviceModule.v1.SqlConnectServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.GetConnectSettingsRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.GetConnectSettingsRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.GetConnectSettingsRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1.ConnectSettings(),
+      );
+      client.innerApiCalls.getConnectSettings =
+        stubSimpleCall(expectedResponse);
+      const [response] = await client.getConnectSettings(request);
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (
+        client.innerApiCalls.getConnectSettings as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.getConnectSettings as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes getConnectSettings with error', async () => {
-            const client = new sqlconnectserviceModule.v1.SqlConnectServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.GetConnectSettingsRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.GetConnectSettingsRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.GetConnectSettingsRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedError = new Error('expected');
-            client.innerApiCalls.getConnectSettings = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.getConnectSettings(request), expectedError);
-            const actualRequest = (client.innerApiCalls.getConnectSettings as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.getConnectSettings as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+    it('invokes getConnectSettings without error using callback', async () => {
+      const client = new sqlconnectserviceModule.v1.SqlConnectServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.GetConnectSettingsRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.GetConnectSettingsRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.GetConnectSettingsRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1.ConnectSettings(),
+      );
+      client.innerApiCalls.getConnectSettings =
+        stubSimpleCallWithCallback(expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.getConnectSettings(
+          request,
+          (
+            err?: Error | null,
+            result?: protos.google.cloud.sql.v1.IConnectSettings | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
+            }
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (
+        client.innerApiCalls.getConnectSettings as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.getConnectSettings as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes getConnectSettings with closed client', async () => {
-            const client = new sqlconnectserviceModule.v1.SqlConnectServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.GetConnectSettingsRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.GetConnectSettingsRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.GetConnectSettingsRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedError = new Error('The client has already been closed.');
-            client.close().catch(err => {throw err});
-            await assert.rejects(client.getConnectSettings(request), expectedError);
-        });
+    it('invokes getConnectSettings with error', async () => {
+      const client = new sqlconnectserviceModule.v1.SqlConnectServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.GetConnectSettingsRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.GetConnectSettingsRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.GetConnectSettingsRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedError = new Error('expected');
+      client.innerApiCalls.getConnectSettings = stubSimpleCall(
+        undefined,
+        expectedError,
+      );
+      await assert.rejects(client.getConnectSettings(request), expectedError);
+      const actualRequest = (
+        client.innerApiCalls.getConnectSettings as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.getConnectSettings as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
     });
 
-    describe('generateEphemeralCert', () => {
-        it('invokes generateEphemeralCert without error', async () => {
-            const client = new sqlconnectserviceModule.v1.SqlConnectServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.GenerateEphemeralCertRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.GenerateEphemeralCertRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.GenerateEphemeralCertRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1.GenerateEphemeralCertResponse()
-            );
-            client.innerApiCalls.generateEphemeralCert = stubSimpleCall(expectedResponse);
-            const [response] = await client.generateEphemeralCert(request);
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.generateEphemeralCert as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.generateEphemeralCert as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+    it('invokes getConnectSettings with closed client', async () => {
+      const client = new sqlconnectserviceModule.v1.SqlConnectServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.GetConnectSettingsRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.GetConnectSettingsRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.GetConnectSettingsRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedError = new Error('The client has already been closed.');
+      client.close().catch((err) => {
+        throw err;
+      });
+      await assert.rejects(client.getConnectSettings(request), expectedError);
+    });
+  });
+
+  describe('generateEphemeralCert', () => {
+    it('invokes generateEphemeralCert without error', async () => {
+      const client = new sqlconnectserviceModule.v1.SqlConnectServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.GenerateEphemeralCertRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.GenerateEphemeralCertRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.GenerateEphemeralCertRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1.GenerateEphemeralCertResponse(),
+      );
+      client.innerApiCalls.generateEphemeralCert =
+        stubSimpleCall(expectedResponse);
+      const [response] = await client.generateEphemeralCert(request);
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (
+        client.innerApiCalls.generateEphemeralCert as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.generateEphemeralCert as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes generateEphemeralCert without error using callback', async () => {
-            const client = new sqlconnectserviceModule.v1.SqlConnectServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.GenerateEphemeralCertRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.GenerateEphemeralCertRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.GenerateEphemeralCertRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1.GenerateEphemeralCertResponse()
-            );
-            client.innerApiCalls.generateEphemeralCert = stubSimpleCallWithCallback(expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.generateEphemeralCert(
-                    request,
-                    (err?: Error|null, result?: protos.google.cloud.sql.v1.IGenerateEphemeralCertResponse|null) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.generateEphemeralCert as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.generateEphemeralCert as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+    it('invokes generateEphemeralCert without error using callback', async () => {
+      const client = new sqlconnectserviceModule.v1.SqlConnectServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.GenerateEphemeralCertRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.GenerateEphemeralCertRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.GenerateEphemeralCertRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1.GenerateEphemeralCertResponse(),
+      );
+      client.innerApiCalls.generateEphemeralCert =
+        stubSimpleCallWithCallback(expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.generateEphemeralCert(
+          request,
+          (
+            err?: Error | null,
+            result?: protos.google.cloud.sql.v1.IGenerateEphemeralCertResponse | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
+            }
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (
+        client.innerApiCalls.generateEphemeralCert as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.generateEphemeralCert as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes generateEphemeralCert with error', async () => {
-            const client = new sqlconnectserviceModule.v1.SqlConnectServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.GenerateEphemeralCertRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.GenerateEphemeralCertRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.GenerateEphemeralCertRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedError = new Error('expected');
-            client.innerApiCalls.generateEphemeralCert = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.generateEphemeralCert(request), expectedError);
-            const actualRequest = (client.innerApiCalls.generateEphemeralCert as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.generateEphemeralCert as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+    it('invokes generateEphemeralCert with error', async () => {
+      const client = new sqlconnectserviceModule.v1.SqlConnectServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.GenerateEphemeralCertRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.GenerateEphemeralCertRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.GenerateEphemeralCertRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedError = new Error('expected');
+      client.innerApiCalls.generateEphemeralCert = stubSimpleCall(
+        undefined,
+        expectedError,
+      );
+      await assert.rejects(
+        client.generateEphemeralCert(request),
+        expectedError,
+      );
+      const actualRequest = (
+        client.innerApiCalls.generateEphemeralCert as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.generateEphemeralCert as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes generateEphemeralCert with closed client', async () => {
-            const client = new sqlconnectserviceModule.v1.SqlConnectServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.GenerateEphemeralCertRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.GenerateEphemeralCertRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.GenerateEphemeralCertRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedError = new Error('The client has already been closed.');
-            client.close().catch(err => {throw err});
-            await assert.rejects(client.generateEphemeralCert(request), expectedError);
-        });
+    it('invokes generateEphemeralCert with closed client', async () => {
+      const client = new sqlconnectserviceModule.v1.SqlConnectServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.GenerateEphemeralCertRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.GenerateEphemeralCertRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.GenerateEphemeralCertRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedError = new Error('The client has already been closed.');
+      client.close().catch((err) => {
+        throw err;
+      });
+      await assert.rejects(
+        client.generateEphemeralCert(request),
+        expectedError,
+      );
     });
-    describe('getLocation', () => {
-        it('invokes getLocation without error', async () => {
-            const client = new sqlconnectserviceModule.v1.SqlConnectServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new LocationProtos.google.cloud.location.GetLocationRequest()
-            );
-            request.name = '';
-            const expectedHeaderRequestParams = 'name=';
-            const expectedOptions = {
-                otherArgs: {
-                    headers: {
-                        'x-goog-request-params': expectedHeaderRequestParams,
-                    },
-                },
-            };
-            const expectedResponse = generateSampleMessage(
-              new LocationProtos.google.cloud.location.Location()
-            );
-            client.locationsClient.getLocation = stubSimpleCall(expectedResponse);
-            const response = await client.getLocation(request, expectedOptions);
-            assert.deepStrictEqual(response, [expectedResponse]);
-            assert((client.locationsClient.getLocation as SinonStub)
-                .getCall(0).calledWith(request, expectedOptions, undefined));
-        });
-        it('invokes getLocation without error using callback', async () => {
-            const client = new sqlconnectserviceModule.v1.SqlConnectServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new LocationProtos.google.cloud.location.GetLocationRequest()
-            );
-            request.name = '';
-            const expectedHeaderRequestParams = 'name=';
-            const expectedOptions = {
-                otherArgs: {
-                    headers: {
-                        'x-goog-request-params': expectedHeaderRequestParams,
-                    },
-                },
-            };
-            const expectedResponse = generateSampleMessage(
-              new LocationProtos.google.cloud.location.Location()
-            );
-            client.locationsClient.getLocation = sinon.stub().callsArgWith(2, null, expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.getLocation(
-                    request,
-                    expectedOptions,
-                    (
-                        err?: Error | null,
-                        result?: LocationProtos.google.cloud.location.ILocation | null
-                    ) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            assert((client.locationsClient.getLocation as SinonStub)
-                .getCall(0));
-        });
-        it('invokes getLocation with error', async () => {
-            const client = new sqlconnectserviceModule.v1.SqlConnectServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new LocationProtos.google.cloud.location.GetLocationRequest()
-            );
-            request.name = '';
-            const expectedHeaderRequestParams = 'name=';
-            const expectedOptions = {
-                otherArgs: {
-                    headers: {
-                        'x-goog-request-params': expectedHeaderRequestParams,
-                    },
-                },
-            };
-            const expectedError = new Error('expected');
-            client.locationsClient.getLocation = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.getLocation(request, expectedOptions), expectedError);
-            assert((client.locationsClient.getLocation as SinonStub)
-                .getCall(0).calledWith(request, expectedOptions, undefined));
-        });
+  });
+  describe('getLocation', () => {
+    it('invokes getLocation without error', async () => {
+      const client = new sqlconnectserviceModule.v1.SqlConnectServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new LocationProtos.google.cloud.location.GetLocationRequest(),
+      );
+      request.name = '';
+      const expectedHeaderRequestParams = 'name=';
+      const expectedOptions = {
+        otherArgs: {
+          headers: {
+            'x-goog-request-params': expectedHeaderRequestParams,
+          },
+        },
+      };
+      const expectedResponse = generateSampleMessage(
+        new LocationProtos.google.cloud.location.Location(),
+      );
+      client.locationsClient.getLocation = stubSimpleCall(expectedResponse);
+      const response = await client.getLocation(request, expectedOptions);
+      assert.deepStrictEqual(response, [expectedResponse]);
+      assert(
+        (client.locationsClient.getLocation as SinonStub)
+          .getCall(0)
+          .calledWith(request, expectedOptions, undefined),
+      );
     });
-    describe('listLocationsAsync', () => {
-        it('uses async iteration with listLocations without error', async () => {
-            const client = new sqlconnectserviceModule.v1.SqlConnectServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-                new LocationProtos.google.cloud.location.ListLocationsRequest()
-            );
-            request.name = '';
-            const expectedHeaderRequestParams = 'name=';
-            const expectedResponse = [
-                generateSampleMessage(
-                    new LocationProtos.google.cloud.location.Location()
-                ),
-                generateSampleMessage(
-                    new LocationProtos.google.cloud.location.Location()
-                ),
-                generateSampleMessage(
-                    new LocationProtos.google.cloud.location.Location()
-                ),
-            ];
-            client.locationsClient.descriptors.page.listLocations.asyncIterate = stubAsyncIterationCall(expectedResponse);
-            const responses: LocationProtos.google.cloud.location.ILocation[] = [];
-            const iterable = client.listLocationsAsync(request);
-            for await (const resource of iterable) {
-                responses.push(resource!);
+    it('invokes getLocation without error using callback', async () => {
+      const client = new sqlconnectserviceModule.v1.SqlConnectServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new LocationProtos.google.cloud.location.GetLocationRequest(),
+      );
+      request.name = '';
+      const expectedHeaderRequestParams = 'name=';
+      const expectedOptions = {
+        otherArgs: {
+          headers: {
+            'x-goog-request-params': expectedHeaderRequestParams,
+          },
+        },
+      };
+      const expectedResponse = generateSampleMessage(
+        new LocationProtos.google.cloud.location.Location(),
+      );
+      client.locationsClient.getLocation = sinon
+        .stub()
+        .callsArgWith(2, null, expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.getLocation(
+          request,
+          expectedOptions,
+          (
+            err?: Error | null,
+            result?: LocationProtos.google.cloud.location.ILocation | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
             }
-            assert.deepStrictEqual(responses, expectedResponse);
-            assert.deepStrictEqual(
-                (client.locationsClient.descriptors.page.listLocations.asyncIterate as SinonStub)
-                    .getCall(0).args[1], request);
-            assert(
-                (client.locationsClient.descriptors.page.listLocations.asyncIterate as SinonStub)
-                    .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes(
-                        expectedHeaderRequestParams
-                    )
-            );
-        });
-        it('uses async iteration with listLocations with error', async () => {
-            const client = new sqlconnectserviceModule.v1.SqlConnectServiceClient({
-                credentials: {client_email: 'bogus', private_key: 'bogus'},
-                projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new LocationProtos.google.cloud.location.ListLocationsRequest()
-            );
-            request.name = '';
-            const expectedHeaderRequestParams = 'name=';
-            const expectedError = new Error('expected');
-            client.locationsClient.descriptors.page.listLocations.asyncIterate = stubAsyncIterationCall(undefined, expectedError);
-            const iterable = client.listLocationsAsync(request);
-            await assert.rejects(async () => {
-                const responses: LocationProtos.google.cloud.location.ILocation[] = [];
-                for await (const resource of iterable) {
-                    responses.push(resource!);
-                }
-            });
-            assert.deepStrictEqual(
-                (client.locationsClient.descriptors.page.listLocations.asyncIterate as SinonStub)
-                    .getCall(0).args[1], request);
-            assert(
-                (client.locationsClient.descriptors.page.listLocations.asyncIterate as SinonStub)
-                    .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes(
-                        expectedHeaderRequestParams
-                    )
-            );
-        });
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      assert((client.locationsClient.getLocation as SinonStub).getCall(0));
     });
-
-    describe('Path templates', () => {
-
-        describe('backup', async () => {
-            const fakePath = "/rendered/path/backup";
-            const expectedParameters = {
-                project: "projectValue",
-                backup: "backupValue",
-            };
-            const client = new sqlconnectserviceModule.v1.SqlConnectServiceClient({
-                credentials: {client_email: 'bogus', private_key: 'bogus'},
-                projectId: 'bogus',
-            });
-            await client.initialize();
-            client.pathTemplates.backupPathTemplate.render =
-                sinon.stub().returns(fakePath);
-            client.pathTemplates.backupPathTemplate.match =
-                sinon.stub().returns(expectedParameters);
-
-            it('backupPath', () => {
-                const result = client.backupPath("projectValue", "backupValue");
-                assert.strictEqual(result, fakePath);
-                assert((client.pathTemplates.backupPathTemplate.render as SinonStub)
-                    .getCall(-1).calledWith(expectedParameters));
-            });
-
-            it('matchProjectFromBackupName', () => {
-                const result = client.matchProjectFromBackupName(fakePath);
-                assert.strictEqual(result, "projectValue");
-                assert((client.pathTemplates.backupPathTemplate.match as SinonStub)
-                    .getCall(-1).calledWith(fakePath));
-            });
-
-            it('matchBackupFromBackupName', () => {
-                const result = client.matchBackupFromBackupName(fakePath);
-                assert.strictEqual(result, "backupValue");
-                assert((client.pathTemplates.backupPathTemplate.match as SinonStub)
-                    .getCall(-1).calledWith(fakePath));
-            });
-        });
+    it('invokes getLocation with error', async () => {
+      const client = new sqlconnectserviceModule.v1.SqlConnectServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new LocationProtos.google.cloud.location.GetLocationRequest(),
+      );
+      request.name = '';
+      const expectedHeaderRequestParams = 'name=';
+      const expectedOptions = {
+        otherArgs: {
+          headers: {
+            'x-goog-request-params': expectedHeaderRequestParams,
+          },
+        },
+      };
+      const expectedError = new Error('expected');
+      client.locationsClient.getLocation = stubSimpleCall(
+        undefined,
+        expectedError,
+      );
+      await assert.rejects(
+        client.getLocation(request, expectedOptions),
+        expectedError,
+      );
+      assert(
+        (client.locationsClient.getLocation as SinonStub)
+          .getCall(0)
+          .calledWith(request, expectedOptions, undefined),
+      );
+    });
+  });
+  describe('listLocationsAsync', () => {
+    it('uses async iteration with listLocations without error', async () => {
+      const client = new sqlconnectserviceModule.v1.SqlConnectServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new LocationProtos.google.cloud.location.ListLocationsRequest(),
+      );
+      request.name = '';
+      const expectedHeaderRequestParams = 'name=';
+      const expectedResponse = [
+        generateSampleMessage(
+          new LocationProtos.google.cloud.location.Location(),
+        ),
+        generateSampleMessage(
+          new LocationProtos.google.cloud.location.Location(),
+        ),
+        generateSampleMessage(
+          new LocationProtos.google.cloud.location.Location(),
+        ),
+      ];
+      client.locationsClient.descriptors.page.listLocations.asyncIterate =
+        stubAsyncIterationCall(expectedResponse);
+      const responses: LocationProtos.google.cloud.location.ILocation[] = [];
+      const iterable = client.listLocationsAsync(request);
+      for await (const resource of iterable) {
+        responses.push(resource!);
+      }
+      assert.deepStrictEqual(responses, expectedResponse);
+      assert.deepStrictEqual(
+        (
+          client.locationsClient.descriptors.page.listLocations
+            .asyncIterate as SinonStub
+        ).getCall(0).args[1],
+        request,
+      );
+      assert(
+        (
+          client.locationsClient.descriptors.page.listLocations
+            .asyncIterate as SinonStub
+        )
+          .getCall(0)
+          .args[2].otherArgs.headers['x-goog-request-params'].includes(
+            expectedHeaderRequestParams,
+          ),
+      );
+    });
+    it('uses async iteration with listLocations with error', async () => {
+      const client = new sqlconnectserviceModule.v1.SqlConnectServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new LocationProtos.google.cloud.location.ListLocationsRequest(),
+      );
+      request.name = '';
+      const expectedHeaderRequestParams = 'name=';
+      const expectedError = new Error('expected');
+      client.locationsClient.descriptors.page.listLocations.asyncIterate =
+        stubAsyncIterationCall(undefined, expectedError);
+      const iterable = client.listLocationsAsync(request);
+      await assert.rejects(async () => {
+        const responses: LocationProtos.google.cloud.location.ILocation[] = [];
+        for await (const resource of iterable) {
+          responses.push(resource!);
+        }
+      });
+      assert.deepStrictEqual(
+        (
+          client.locationsClient.descriptors.page.listLocations
+            .asyncIterate as SinonStub
+        ).getCall(0).args[1],
+        request,
+      );
+      assert(
+        (
+          client.locationsClient.descriptors.page.listLocations
+            .asyncIterate as SinonStub
+        )
+          .getCall(0)
+          .args[2].otherArgs.headers['x-goog-request-params'].includes(
+            expectedHeaderRequestParams,
+          ),
+      );
+    });
+  });
+
+  describe('Path templates', () => {
+    describe('backup', async () => {
+      const fakePath = '/rendered/path/backup';
+      const expectedParameters = {
+        project: 'projectValue',
+        backup: 'backupValue',
+      };
+      const client = new sqlconnectserviceModule.v1.SqlConnectServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      await client.initialize();
+      client.pathTemplates.backupPathTemplate.render = sinon
+        .stub()
+        .returns(fakePath);
+      client.pathTemplates.backupPathTemplate.match = sinon
+        .stub()
+        .returns(expectedParameters);
+
+      it('backupPath', () => {
+        const result = client.backupPath('projectValue', 'backupValue');
+        assert.strictEqual(result, fakePath);
+        assert(
+          (client.pathTemplates.backupPathTemplate.render as SinonStub)
+            .getCall(-1)
+            .calledWith(expectedParameters),
+        );
+      });
+
+      it('matchProjectFromBackupName', () => {
+        const result = client.matchProjectFromBackupName(fakePath);
+        assert.strictEqual(result, 'projectValue');
+        assert(
+          (client.pathTemplates.backupPathTemplate.match as SinonStub)
+            .getCall(-1)
+            .calledWith(fakePath),
+        );
+      });
+
+      it('matchBackupFromBackupName', () => {
+        const result = client.matchBackupFromBackupName(fakePath);
+        assert.strictEqual(result, 'backupValue');
+        assert(
+          (client.pathTemplates.backupPathTemplate.match as SinonStub)
+            .getCall(-1)
+            .calledWith(fakePath),
+        );
+      });
     });
+  });
 });
diff --git a/packages/google-cloud-sql/test/gapic_sql_connect_service_v1beta4.ts b/packages/google-cloud-sql/test/gapic_sql_connect_service_v1beta4.ts
index cf1df12ba74f..7a26e7c169f0 100644
--- a/packages/google-cloud-sql/test/gapic_sql_connect_service_v1beta4.ts
+++ b/packages/google-cloud-sql/test/gapic_sql_connect_service_v1beta4.ts
@@ -19,663 +19,849 @@
 import * as protos from '../protos/protos';
 import * as assert from 'assert';
 import * as sinon from 'sinon';
-import {SinonStub} from 'sinon';
-import {describe, it} from 'mocha';
+import { SinonStub } from 'sinon';
+import { describe, it } from 'mocha';
 import * as sqlconnectserviceModule from '../src';
 
-import {protobuf, LocationProtos} from 'google-gax';
+import { protobuf, LocationProtos } from 'google-gax';
 
 // Dynamically loaded proto JSON is needed to get the type information
 // to fill in default values for request objects
-const root = protobuf.Root.fromJSON(require('../protos/protos.json')).resolveAll();
+const root = protobuf.Root.fromJSON(
+  require('../protos/protos.json'),
+).resolveAll();
 
 // eslint-disable-next-line @typescript-eslint/no-unused-vars
 function getTypeDefaultValue(typeName: string, fields: string[]) {
-    let type = root.lookupType(typeName) as protobuf.Type;
-    for (const field of fields.slice(0, -1)) {
-        type = type.fields[field]?.resolvedType as protobuf.Type;
-    }
-    return type.fields[fields[fields.length - 1]]?.defaultValue;
+  let type = root.lookupType(typeName) as protobuf.Type;
+  for (const field of fields.slice(0, -1)) {
+    type = type.fields[field]?.resolvedType as protobuf.Type;
+  }
+  return type.fields[fields[fields.length - 1]]?.defaultValue;
 }
 
 function generateSampleMessage<T extends object>(instance: T) {
-    const filledObject = (instance.constructor as typeof protobuf.Message)
-        .toObject(instance as protobuf.Message<T>, {defaults: true});
-    return (instance.constructor as typeof protobuf.Message).fromObject(filledObject) as T;
+  const filledObject = (
+    instance.constructor as typeof protobuf.Message
+  ).toObject(instance as protobuf.Message<T>, { defaults: true });
+  return (instance.constructor as typeof protobuf.Message).fromObject(
+    filledObject,
+  ) as T;
 }
 
 function stubSimpleCall<ResponseType>(response?: ResponseType, error?: Error) {
-    return error ? sinon.stub().rejects(error) : sinon.stub().resolves([response]);
+  return error
+    ? sinon.stub().rejects(error)
+    : sinon.stub().resolves([response]);
 }
 
-function stubSimpleCallWithCallback<ResponseType>(response?: ResponseType, error?: Error) {
-    return error ? sinon.stub().callsArgWith(2, error) : sinon.stub().callsArgWith(2, null, response);
+function stubSimpleCallWithCallback<ResponseType>(
+  response?: ResponseType,
+  error?: Error,
+) {
+  return error
+    ? sinon.stub().callsArgWith(2, error)
+    : sinon.stub().callsArgWith(2, null, response);
 }
 
-function stubAsyncIterationCall<ResponseType>(responses?: ResponseType[], error?: Error) {
-    let counter = 0;
-    const asyncIterable = {
-        [Symbol.asyncIterator]() {
-            return {
-                async next() {
-                    if (error) {
-                        return Promise.reject(error);
-                    }
-                    if (counter >= responses!.length) {
-                        return Promise.resolve({done: true, value: undefined});
-                    }
-                    return Promise.resolve({done: false, value: responses![counter++]});
-                }
-            };
-        }
-    };
-    return sinon.stub().returns(asyncIterable);
+function stubAsyncIterationCall<ResponseType>(
+  responses?: ResponseType[],
+  error?: Error,
+) {
+  let counter = 0;
+  const asyncIterable = {
+    [Symbol.asyncIterator]() {
+      return {
+        async next() {
+          if (error) {
+            return Promise.reject(error);
+          }
+          if (counter >= responses!.length) {
+            return Promise.resolve({ done: true, value: undefined });
+          }
+          return Promise.resolve({ done: false, value: responses![counter++] });
+        },
+      };
+    },
+  };
+  return sinon.stub().returns(asyncIterable);
 }
 
 describe('v1beta4.SqlConnectServiceClient', () => {
-    describe('Common methods', () => {
-        it('has apiEndpoint', () => {
-            const client = new sqlconnectserviceModule.v1beta4.SqlConnectServiceClient();
-            const apiEndpoint = client.apiEndpoint;
-            assert.strictEqual(apiEndpoint, 'sqladmin.googleapis.com');
-        });
+  describe('Common methods', () => {
+    it('has apiEndpoint', () => {
+      const client =
+        new sqlconnectserviceModule.v1beta4.SqlConnectServiceClient();
+      const apiEndpoint = client.apiEndpoint;
+      assert.strictEqual(apiEndpoint, 'sqladmin.googleapis.com');
+    });
 
-        it('has universeDomain', () => {
-            const client = new sqlconnectserviceModule.v1beta4.SqlConnectServiceClient();
-            const universeDomain = client.universeDomain;
-            assert.strictEqual(universeDomain, "googleapis.com");
-        });
+    it('has universeDomain', () => {
+      const client =
+        new sqlconnectserviceModule.v1beta4.SqlConnectServiceClient();
+      const universeDomain = client.universeDomain;
+      assert.strictEqual(universeDomain, 'googleapis.com');
+    });
 
-        if (typeof process === 'object' && typeof process.emitWarning === 'function') {
-            it('throws DeprecationWarning if static servicePath is used', () => {
-                const stub = sinon.stub(process, 'emitWarning');
-                const servicePath = sqlconnectserviceModule.v1beta4.SqlConnectServiceClient.servicePath;
-                assert.strictEqual(servicePath, 'sqladmin.googleapis.com');
-                assert(stub.called);
-                stub.restore();
-            });
+    if (
+      typeof process === 'object' &&
+      typeof process.emitWarning === 'function'
+    ) {
+      it('throws DeprecationWarning if static servicePath is used', () => {
+        const stub = sinon.stub(process, 'emitWarning');
+        const servicePath =
+          sqlconnectserviceModule.v1beta4.SqlConnectServiceClient.servicePath;
+        assert.strictEqual(servicePath, 'sqladmin.googleapis.com');
+        assert(stub.called);
+        stub.restore();
+      });
+
+      it('throws DeprecationWarning if static apiEndpoint is used', () => {
+        const stub = sinon.stub(process, 'emitWarning');
+        const apiEndpoint =
+          sqlconnectserviceModule.v1beta4.SqlConnectServiceClient.apiEndpoint;
+        assert.strictEqual(apiEndpoint, 'sqladmin.googleapis.com');
+        assert(stub.called);
+        stub.restore();
+      });
+    }
+    it('sets apiEndpoint according to universe domain camelCase', () => {
+      const client =
+        new sqlconnectserviceModule.v1beta4.SqlConnectServiceClient({
+          universeDomain: 'example.com',
+        });
+      const servicePath = client.apiEndpoint;
+      assert.strictEqual(servicePath, 'sqladmin.example.com');
+    });
 
-            it('throws DeprecationWarning if static apiEndpoint is used', () => {
-                const stub = sinon.stub(process, 'emitWarning');
-                const apiEndpoint = sqlconnectserviceModule.v1beta4.SqlConnectServiceClient.apiEndpoint;
-                assert.strictEqual(apiEndpoint, 'sqladmin.googleapis.com');
-                assert(stub.called);
-                stub.restore();
-            });
-        }
-        it('sets apiEndpoint according to universe domain camelCase', () => {
-            const client = new sqlconnectserviceModule.v1beta4.SqlConnectServiceClient({universeDomain: 'example.com'});
-            const servicePath = client.apiEndpoint;
-            assert.strictEqual(servicePath, 'sqladmin.example.com');
+    it('sets apiEndpoint according to universe domain snakeCase', () => {
+      const client =
+        new sqlconnectserviceModule.v1beta4.SqlConnectServiceClient({
+          universe_domain: 'example.com',
         });
+      const servicePath = client.apiEndpoint;
+      assert.strictEqual(servicePath, 'sqladmin.example.com');
+    });
 
-        it('sets apiEndpoint according to universe domain snakeCase', () => {
-            const client = new sqlconnectserviceModule.v1beta4.SqlConnectServiceClient({universe_domain: 'example.com'});
-            const servicePath = client.apiEndpoint;
-            assert.strictEqual(servicePath, 'sqladmin.example.com');
+    if (typeof process === 'object' && 'env' in process) {
+      describe('GOOGLE_CLOUD_UNIVERSE_DOMAIN environment variable', () => {
+        it('sets apiEndpoint from environment variable', () => {
+          const saved = process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
+          process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = 'example.com';
+          const client =
+            new sqlconnectserviceModule.v1beta4.SqlConnectServiceClient();
+          const servicePath = client.apiEndpoint;
+          assert.strictEqual(servicePath, 'sqladmin.example.com');
+          if (saved) {
+            process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = saved;
+          } else {
+            delete process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
+          }
         });
 
-        if (typeof process === 'object' && 'env' in process) {
-            describe('GOOGLE_CLOUD_UNIVERSE_DOMAIN environment variable', () => {
-                it('sets apiEndpoint from environment variable', () => {
-                    const saved = process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
-                    process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = 'example.com';
-                    const client = new sqlconnectserviceModule.v1beta4.SqlConnectServiceClient();
-                    const servicePath = client.apiEndpoint;
-                    assert.strictEqual(servicePath, 'sqladmin.example.com');
-                    if (saved) {
-                        process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = saved;
-                    } else {
-                        delete process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
-                    }
-                });
-
-                it('value configured in code has priority over environment variable', () => {
-                    const saved = process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
-                    process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = 'example.com';
-                    const client = new sqlconnectserviceModule.v1beta4.SqlConnectServiceClient({universeDomain: 'configured.example.com'});
-                    const servicePath = client.apiEndpoint;
-                    assert.strictEqual(servicePath, 'sqladmin.configured.example.com');
-                    if (saved) {
-                        process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = saved;
-                    } else {
-                        delete process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
-                    }
-                });
+        it('value configured in code has priority over environment variable', () => {
+          const saved = process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
+          process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = 'example.com';
+          const client =
+            new sqlconnectserviceModule.v1beta4.SqlConnectServiceClient({
+              universeDomain: 'configured.example.com',
             });
-        }
-        it('does not allow setting both universeDomain and universe_domain', () => {
-            assert.throws(() => { new sqlconnectserviceModule.v1beta4.SqlConnectServiceClient({universe_domain: 'example.com', universeDomain: 'example.net'}); });
+          const servicePath = client.apiEndpoint;
+          assert.strictEqual(servicePath, 'sqladmin.configured.example.com');
+          if (saved) {
+            process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = saved;
+          } else {
+            delete process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
+          }
         });
-
-        it('has port', () => {
-            const port = sqlconnectserviceModule.v1beta4.SqlConnectServiceClient.port;
-            assert(port);
-            assert(typeof port === 'number');
+      });
+    }
+    it('does not allow setting both universeDomain and universe_domain', () => {
+      assert.throws(() => {
+        new sqlconnectserviceModule.v1beta4.SqlConnectServiceClient({
+          universe_domain: 'example.com',
+          universeDomain: 'example.net',
         });
+      });
+    });
 
-        it('should create a client with no option', () => {
-            const client = new sqlconnectserviceModule.v1beta4.SqlConnectServiceClient();
-            assert(client);
-        });
+    it('has port', () => {
+      const port = sqlconnectserviceModule.v1beta4.SqlConnectServiceClient.port;
+      assert(port);
+      assert(typeof port === 'number');
+    });
 
-        it('should create a client with gRPC fallback', () => {
-            const client = new sqlconnectserviceModule.v1beta4.SqlConnectServiceClient({
-                fallback: true,
-            });
-            assert(client);
-        });
+    it('should create a client with no option', () => {
+      const client =
+        new sqlconnectserviceModule.v1beta4.SqlConnectServiceClient();
+      assert(client);
+    });
 
-        it('has initialize method and supports deferred initialization', async () => {
-            const client = new sqlconnectserviceModule.v1beta4.SqlConnectServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            assert.strictEqual(client.sqlConnectServiceStub, undefined);
-            await client.initialize();
-            assert(client.sqlConnectServiceStub);
+    it('should create a client with gRPC fallback', () => {
+      const client =
+        new sqlconnectserviceModule.v1beta4.SqlConnectServiceClient({
+          fallback: true,
         });
+      assert(client);
+    });
 
-        it('has close method for the initialized client', done => {
-            const client = new sqlconnectserviceModule.v1beta4.SqlConnectServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            client.initialize().catch(err => {throw err});
-            assert(client.sqlConnectServiceStub);
-            client.close().then(() => {
-                done();
-            }).catch(err => {throw err});
+    it('has initialize method and supports deferred initialization', async () => {
+      const client =
+        new sqlconnectserviceModule.v1beta4.SqlConnectServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
         });
+      assert.strictEqual(client.sqlConnectServiceStub, undefined);
+      await client.initialize();
+      assert(client.sqlConnectServiceStub);
+    });
 
-        it('has close method for the non-initialized client', done => {
-            const client = new sqlconnectserviceModule.v1beta4.SqlConnectServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            assert.strictEqual(client.sqlConnectServiceStub, undefined);
-            client.close().then(() => {
-                done();
-            }).catch(err => {throw err});
+    it('has close method for the initialized client', (done) => {
+      const client =
+        new sqlconnectserviceModule.v1beta4.SqlConnectServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
         });
-
-        it('has getProjectId method', async () => {
-            const fakeProjectId = 'fake-project-id';
-            const client = new sqlconnectserviceModule.v1beta4.SqlConnectServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            client.auth.getProjectId = sinon.stub().resolves(fakeProjectId);
-            const result = await client.getProjectId();
-            assert.strictEqual(result, fakeProjectId);
-            assert((client.auth.getProjectId as SinonStub).calledWithExactly());
+      client.initialize().catch((err) => {
+        throw err;
+      });
+      assert(client.sqlConnectServiceStub);
+      client
+        .close()
+        .then(() => {
+          done();
+        })
+        .catch((err) => {
+          throw err;
         });
+    });
 
-        it('has getProjectId method with callback', async () => {
-            const fakeProjectId = 'fake-project-id';
-            const client = new sqlconnectserviceModule.v1beta4.SqlConnectServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            client.auth.getProjectId = sinon.stub().callsArgWith(0, null, fakeProjectId);
-            const promise = new Promise((resolve, reject) => {
-                client.getProjectId((err?: Error|null, projectId?: string|null) => {
-                    if (err) {
-                        reject(err);
-                    } else {
-                        resolve(projectId);
-                    }
-                });
-            });
-            const result = await promise;
-            assert.strictEqual(result, fakeProjectId);
+    it('has close method for the non-initialized client', (done) => {
+      const client =
+        new sqlconnectserviceModule.v1beta4.SqlConnectServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      assert.strictEqual(client.sqlConnectServiceStub, undefined);
+      client
+        .close()
+        .then(() => {
+          done();
+        })
+        .catch((err) => {
+          throw err;
         });
     });
 
-    describe('getConnectSettings', () => {
-        it('invokes getConnectSettings without error', async () => {
-            const client = new sqlconnectserviceModule.v1beta4.SqlConnectServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.GetConnectSettingsRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.GetConnectSettingsRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.GetConnectSettingsRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.ConnectSettings()
-            );
-            client.innerApiCalls.getConnectSettings = stubSimpleCall(expectedResponse);
-            const [response] = await client.getConnectSettings(request);
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.getConnectSettings as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.getConnectSettings as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    it('has getProjectId method', async () => {
+      const fakeProjectId = 'fake-project-id';
+      const client =
+        new sqlconnectserviceModule.v1beta4.SqlConnectServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
         });
+      client.auth.getProjectId = sinon.stub().resolves(fakeProjectId);
+      const result = await client.getProjectId();
+      assert.strictEqual(result, fakeProjectId);
+      assert((client.auth.getProjectId as SinonStub).calledWithExactly());
+    });
 
-        it('invokes getConnectSettings without error using callback', async () => {
-            const client = new sqlconnectserviceModule.v1beta4.SqlConnectServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.GetConnectSettingsRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.GetConnectSettingsRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.GetConnectSettingsRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.ConnectSettings()
-            );
-            client.innerApiCalls.getConnectSettings = stubSimpleCallWithCallback(expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.getConnectSettings(
-                    request,
-                    (err?: Error|null, result?: protos.google.cloud.sql.v1beta4.IConnectSettings|null) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.getConnectSettings as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.getConnectSettings as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    it('has getProjectId method with callback', async () => {
+      const fakeProjectId = 'fake-project-id';
+      const client =
+        new sqlconnectserviceModule.v1beta4.SqlConnectServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      client.auth.getProjectId = sinon
+        .stub()
+        .callsArgWith(0, null, fakeProjectId);
+      const promise = new Promise((resolve, reject) => {
+        client.getProjectId((err?: Error | null, projectId?: string | null) => {
+          if (err) {
+            reject(err);
+          } else {
+            resolve(projectId);
+          }
         });
+      });
+      const result = await promise;
+      assert.strictEqual(result, fakeProjectId);
+    });
+  });
+
+  describe('getConnectSettings', () => {
+    it('invokes getConnectSettings without error', async () => {
+      const client =
+        new sqlconnectserviceModule.v1beta4.SqlConnectServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.GetConnectSettingsRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.GetConnectSettingsRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.GetConnectSettingsRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.ConnectSettings(),
+      );
+      client.innerApiCalls.getConnectSettings =
+        stubSimpleCall(expectedResponse);
+      const [response] = await client.getConnectSettings(request);
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (
+        client.innerApiCalls.getConnectSettings as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.getConnectSettings as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes getConnectSettings with error', async () => {
-            const client = new sqlconnectserviceModule.v1beta4.SqlConnectServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.GetConnectSettingsRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.GetConnectSettingsRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.GetConnectSettingsRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedError = new Error('expected');
-            client.innerApiCalls.getConnectSettings = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.getConnectSettings(request), expectedError);
-            const actualRequest = (client.innerApiCalls.getConnectSettings as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.getConnectSettings as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    it('invokes getConnectSettings without error using callback', async () => {
+      const client =
+        new sqlconnectserviceModule.v1beta4.SqlConnectServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
         });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.GetConnectSettingsRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.GetConnectSettingsRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.GetConnectSettingsRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.ConnectSettings(),
+      );
+      client.innerApiCalls.getConnectSettings =
+        stubSimpleCallWithCallback(expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.getConnectSettings(
+          request,
+          (
+            err?: Error | null,
+            result?: protos.google.cloud.sql.v1beta4.IConnectSettings | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
+            }
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (
+        client.innerApiCalls.getConnectSettings as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.getConnectSettings as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes getConnectSettings with closed client', async () => {
-            const client = new sqlconnectserviceModule.v1beta4.SqlConnectServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.GetConnectSettingsRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.GetConnectSettingsRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.GetConnectSettingsRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedError = new Error('The client has already been closed.');
-            client.close().catch(err => {throw err});
-            await assert.rejects(client.getConnectSettings(request), expectedError);
+    it('invokes getConnectSettings with error', async () => {
+      const client =
+        new sqlconnectserviceModule.v1beta4.SqlConnectServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
         });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.GetConnectSettingsRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.GetConnectSettingsRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.GetConnectSettingsRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedError = new Error('expected');
+      client.innerApiCalls.getConnectSettings = stubSimpleCall(
+        undefined,
+        expectedError,
+      );
+      await assert.rejects(client.getConnectSettings(request), expectedError);
+      const actualRequest = (
+        client.innerApiCalls.getConnectSettings as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.getConnectSettings as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
     });
 
-    describe('generateEphemeralCert', () => {
-        it('invokes generateEphemeralCert without error', async () => {
-            const client = new sqlconnectserviceModule.v1beta4.SqlConnectServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.GenerateEphemeralCertRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.GenerateEphemeralCertRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.GenerateEphemeralCertRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.GenerateEphemeralCertResponse()
-            );
-            client.innerApiCalls.generateEphemeralCert = stubSimpleCall(expectedResponse);
-            const [response] = await client.generateEphemeralCert(request);
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.generateEphemeralCert as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.generateEphemeralCert as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    it('invokes getConnectSettings with closed client', async () => {
+      const client =
+        new sqlconnectserviceModule.v1beta4.SqlConnectServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.GetConnectSettingsRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.GetConnectSettingsRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.GetConnectSettingsRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedError = new Error('The client has already been closed.');
+      client.close().catch((err) => {
+        throw err;
+      });
+      await assert.rejects(client.getConnectSettings(request), expectedError);
+    });
+  });
+
+  describe('generateEphemeralCert', () => {
+    it('invokes generateEphemeralCert without error', async () => {
+      const client =
+        new sqlconnectserviceModule.v1beta4.SqlConnectServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
         });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.GenerateEphemeralCertRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.GenerateEphemeralCertRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.GenerateEphemeralCertRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.GenerateEphemeralCertResponse(),
+      );
+      client.innerApiCalls.generateEphemeralCert =
+        stubSimpleCall(expectedResponse);
+      const [response] = await client.generateEphemeralCert(request);
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (
+        client.innerApiCalls.generateEphemeralCert as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.generateEphemeralCert as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes generateEphemeralCert without error using callback', async () => {
-            const client = new sqlconnectserviceModule.v1beta4.SqlConnectServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.GenerateEphemeralCertRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.GenerateEphemeralCertRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.GenerateEphemeralCertRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.GenerateEphemeralCertResponse()
-            );
-            client.innerApiCalls.generateEphemeralCert = stubSimpleCallWithCallback(expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.generateEphemeralCert(
-                    request,
-                    (err?: Error|null, result?: protos.google.cloud.sql.v1beta4.IGenerateEphemeralCertResponse|null) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.generateEphemeralCert as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.generateEphemeralCert as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    it('invokes generateEphemeralCert without error using callback', async () => {
+      const client =
+        new sqlconnectserviceModule.v1beta4.SqlConnectServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
         });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.GenerateEphemeralCertRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.GenerateEphemeralCertRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.GenerateEphemeralCertRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.GenerateEphemeralCertResponse(),
+      );
+      client.innerApiCalls.generateEphemeralCert =
+        stubSimpleCallWithCallback(expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.generateEphemeralCert(
+          request,
+          (
+            err?: Error | null,
+            result?: protos.google.cloud.sql.v1beta4.IGenerateEphemeralCertResponse | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
+            }
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (
+        client.innerApiCalls.generateEphemeralCert as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.generateEphemeralCert as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes generateEphemeralCert with error', async () => {
-            const client = new sqlconnectserviceModule.v1beta4.SqlConnectServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.GenerateEphemeralCertRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.GenerateEphemeralCertRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.GenerateEphemeralCertRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedError = new Error('expected');
-            client.innerApiCalls.generateEphemeralCert = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.generateEphemeralCert(request), expectedError);
-            const actualRequest = (client.innerApiCalls.generateEphemeralCert as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.generateEphemeralCert as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    it('invokes generateEphemeralCert with error', async () => {
+      const client =
+        new sqlconnectserviceModule.v1beta4.SqlConnectServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
         });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.GenerateEphemeralCertRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.GenerateEphemeralCertRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.GenerateEphemeralCertRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedError = new Error('expected');
+      client.innerApiCalls.generateEphemeralCert = stubSimpleCall(
+        undefined,
+        expectedError,
+      );
+      await assert.rejects(
+        client.generateEphemeralCert(request),
+        expectedError,
+      );
+      const actualRequest = (
+        client.innerApiCalls.generateEphemeralCert as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.generateEphemeralCert as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes generateEphemeralCert with closed client', async () => {
-            const client = new sqlconnectserviceModule.v1beta4.SqlConnectServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.GenerateEphemeralCertRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.GenerateEphemeralCertRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.GenerateEphemeralCertRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedError = new Error('The client has already been closed.');
-            client.close().catch(err => {throw err});
-            await assert.rejects(client.generateEphemeralCert(request), expectedError);
+    it('invokes generateEphemeralCert with closed client', async () => {
+      const client =
+        new sqlconnectserviceModule.v1beta4.SqlConnectServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
         });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.GenerateEphemeralCertRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.GenerateEphemeralCertRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.GenerateEphemeralCertRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedError = new Error('The client has already been closed.');
+      client.close().catch((err) => {
+        throw err;
+      });
+      await assert.rejects(
+        client.generateEphemeralCert(request),
+        expectedError,
+      );
     });
-    describe('getLocation', () => {
-        it('invokes getLocation without error', async () => {
-            const client = new sqlconnectserviceModule.v1beta4.SqlConnectServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new LocationProtos.google.cloud.location.GetLocationRequest()
-            );
-            request.name = '';
-            const expectedHeaderRequestParams = 'name=';
-            const expectedOptions = {
-                otherArgs: {
-                    headers: {
-                        'x-goog-request-params': expectedHeaderRequestParams,
-                    },
-                },
-            };
-            const expectedResponse = generateSampleMessage(
-              new LocationProtos.google.cloud.location.Location()
-            );
-            client.locationsClient.getLocation = stubSimpleCall(expectedResponse);
-            const response = await client.getLocation(request, expectedOptions);
-            assert.deepStrictEqual(response, [expectedResponse]);
-            assert((client.locationsClient.getLocation as SinonStub)
-                .getCall(0).calledWith(request, expectedOptions, undefined));
+  });
+  describe('getLocation', () => {
+    it('invokes getLocation without error', async () => {
+      const client =
+        new sqlconnectserviceModule.v1beta4.SqlConnectServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
         });
-        it('invokes getLocation without error using callback', async () => {
-            const client = new sqlconnectserviceModule.v1beta4.SqlConnectServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new LocationProtos.google.cloud.location.GetLocationRequest()
-            );
-            request.name = '';
-            const expectedHeaderRequestParams = 'name=';
-            const expectedOptions = {
-                otherArgs: {
-                    headers: {
-                        'x-goog-request-params': expectedHeaderRequestParams,
-                    },
-                },
-            };
-            const expectedResponse = generateSampleMessage(
-              new LocationProtos.google.cloud.location.Location()
-            );
-            client.locationsClient.getLocation = sinon.stub().callsArgWith(2, null, expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.getLocation(
-                    request,
-                    expectedOptions,
-                    (
-                        err?: Error | null,
-                        result?: LocationProtos.google.cloud.location.ILocation | null
-                    ) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            assert((client.locationsClient.getLocation as SinonStub)
-                .getCall(0));
+      await client.initialize();
+      const request = generateSampleMessage(
+        new LocationProtos.google.cloud.location.GetLocationRequest(),
+      );
+      request.name = '';
+      const expectedHeaderRequestParams = 'name=';
+      const expectedOptions = {
+        otherArgs: {
+          headers: {
+            'x-goog-request-params': expectedHeaderRequestParams,
+          },
+        },
+      };
+      const expectedResponse = generateSampleMessage(
+        new LocationProtos.google.cloud.location.Location(),
+      );
+      client.locationsClient.getLocation = stubSimpleCall(expectedResponse);
+      const response = await client.getLocation(request, expectedOptions);
+      assert.deepStrictEqual(response, [expectedResponse]);
+      assert(
+        (client.locationsClient.getLocation as SinonStub)
+          .getCall(0)
+          .calledWith(request, expectedOptions, undefined),
+      );
+    });
+    it('invokes getLocation without error using callback', async () => {
+      const client =
+        new sqlconnectserviceModule.v1beta4.SqlConnectServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
         });
-        it('invokes getLocation with error', async () => {
-            const client = new sqlconnectserviceModule.v1beta4.SqlConnectServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new LocationProtos.google.cloud.location.GetLocationRequest()
-            );
-            request.name = '';
-            const expectedHeaderRequestParams = 'name=';
-            const expectedOptions = {
-                otherArgs: {
-                    headers: {
-                        'x-goog-request-params': expectedHeaderRequestParams,
-                    },
-                },
-            };
-            const expectedError = new Error('expected');
-            client.locationsClient.getLocation = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.getLocation(request, expectedOptions), expectedError);
-            assert((client.locationsClient.getLocation as SinonStub)
-                .getCall(0).calledWith(request, expectedOptions, undefined));
+      await client.initialize();
+      const request = generateSampleMessage(
+        new LocationProtos.google.cloud.location.GetLocationRequest(),
+      );
+      request.name = '';
+      const expectedHeaderRequestParams = 'name=';
+      const expectedOptions = {
+        otherArgs: {
+          headers: {
+            'x-goog-request-params': expectedHeaderRequestParams,
+          },
+        },
+      };
+      const expectedResponse = generateSampleMessage(
+        new LocationProtos.google.cloud.location.Location(),
+      );
+      client.locationsClient.getLocation = sinon
+        .stub()
+        .callsArgWith(2, null, expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.getLocation(
+          request,
+          expectedOptions,
+          (
+            err?: Error | null,
+            result?: LocationProtos.google.cloud.location.ILocation | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
+            }
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      assert((client.locationsClient.getLocation as SinonStub).getCall(0));
+    });
+    it('invokes getLocation with error', async () => {
+      const client =
+        new sqlconnectserviceModule.v1beta4.SqlConnectServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
         });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new LocationProtos.google.cloud.location.GetLocationRequest(),
+      );
+      request.name = '';
+      const expectedHeaderRequestParams = 'name=';
+      const expectedOptions = {
+        otherArgs: {
+          headers: {
+            'x-goog-request-params': expectedHeaderRequestParams,
+          },
+        },
+      };
+      const expectedError = new Error('expected');
+      client.locationsClient.getLocation = stubSimpleCall(
+        undefined,
+        expectedError,
+      );
+      await assert.rejects(
+        client.getLocation(request, expectedOptions),
+        expectedError,
+      );
+      assert(
+        (client.locationsClient.getLocation as SinonStub)
+          .getCall(0)
+          .calledWith(request, expectedOptions, undefined),
+      );
     });
-    describe('listLocationsAsync', () => {
-        it('uses async iteration with listLocations without error', async () => {
-            const client = new sqlconnectserviceModule.v1beta4.SqlConnectServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-                new LocationProtos.google.cloud.location.ListLocationsRequest()
-            );
-            request.name = '';
-            const expectedHeaderRequestParams = 'name=';
-            const expectedResponse = [
-                generateSampleMessage(
-                    new LocationProtos.google.cloud.location.Location()
-                ),
-                generateSampleMessage(
-                    new LocationProtos.google.cloud.location.Location()
-                ),
-                generateSampleMessage(
-                    new LocationProtos.google.cloud.location.Location()
-                ),
-            ];
-            client.locationsClient.descriptors.page.listLocations.asyncIterate = stubAsyncIterationCall(expectedResponse);
-            const responses: LocationProtos.google.cloud.location.ILocation[] = [];
-            const iterable = client.listLocationsAsync(request);
-            for await (const resource of iterable) {
-                responses.push(resource!);
-            }
-            assert.deepStrictEqual(responses, expectedResponse);
-            assert.deepStrictEqual(
-                (client.locationsClient.descriptors.page.listLocations.asyncIterate as SinonStub)
-                    .getCall(0).args[1], request);
-            assert(
-                (client.locationsClient.descriptors.page.listLocations.asyncIterate as SinonStub)
-                    .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes(
-                        expectedHeaderRequestParams
-                    )
-            );
+  });
+  describe('listLocationsAsync', () => {
+    it('uses async iteration with listLocations without error', async () => {
+      const client =
+        new sqlconnectserviceModule.v1beta4.SqlConnectServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
         });
-        it('uses async iteration with listLocations with error', async () => {
-            const client = new sqlconnectserviceModule.v1beta4.SqlConnectServiceClient({
-                credentials: {client_email: 'bogus', private_key: 'bogus'},
-                projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new LocationProtos.google.cloud.location.ListLocationsRequest()
-            );
-            request.name = '';
-            const expectedHeaderRequestParams = 'name=';
-            const expectedError = new Error('expected');
-            client.locationsClient.descriptors.page.listLocations.asyncIterate = stubAsyncIterationCall(undefined, expectedError);
-            const iterable = client.listLocationsAsync(request);
-            await assert.rejects(async () => {
-                const responses: LocationProtos.google.cloud.location.ILocation[] = [];
-                for await (const resource of iterable) {
-                    responses.push(resource!);
-                }
-            });
-            assert.deepStrictEqual(
-                (client.locationsClient.descriptors.page.listLocations.asyncIterate as SinonStub)
-                    .getCall(0).args[1], request);
-            assert(
-                (client.locationsClient.descriptors.page.listLocations.asyncIterate as SinonStub)
-                    .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes(
-                        expectedHeaderRequestParams
-                    )
-            );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new LocationProtos.google.cloud.location.ListLocationsRequest(),
+      );
+      request.name = '';
+      const expectedHeaderRequestParams = 'name=';
+      const expectedResponse = [
+        generateSampleMessage(
+          new LocationProtos.google.cloud.location.Location(),
+        ),
+        generateSampleMessage(
+          new LocationProtos.google.cloud.location.Location(),
+        ),
+        generateSampleMessage(
+          new LocationProtos.google.cloud.location.Location(),
+        ),
+      ];
+      client.locationsClient.descriptors.page.listLocations.asyncIterate =
+        stubAsyncIterationCall(expectedResponse);
+      const responses: LocationProtos.google.cloud.location.ILocation[] = [];
+      const iterable = client.listLocationsAsync(request);
+      for await (const resource of iterable) {
+        responses.push(resource!);
+      }
+      assert.deepStrictEqual(responses, expectedResponse);
+      assert.deepStrictEqual(
+        (
+          client.locationsClient.descriptors.page.listLocations
+            .asyncIterate as SinonStub
+        ).getCall(0).args[1],
+        request,
+      );
+      assert(
+        (
+          client.locationsClient.descriptors.page.listLocations
+            .asyncIterate as SinonStub
+        )
+          .getCall(0)
+          .args[2].otherArgs.headers['x-goog-request-params'].includes(
+            expectedHeaderRequestParams,
+          ),
+      );
+    });
+    it('uses async iteration with listLocations with error', async () => {
+      const client =
+        new sqlconnectserviceModule.v1beta4.SqlConnectServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
         });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new LocationProtos.google.cloud.location.ListLocationsRequest(),
+      );
+      request.name = '';
+      const expectedHeaderRequestParams = 'name=';
+      const expectedError = new Error('expected');
+      client.locationsClient.descriptors.page.listLocations.asyncIterate =
+        stubAsyncIterationCall(undefined, expectedError);
+      const iterable = client.listLocationsAsync(request);
+      await assert.rejects(async () => {
+        const responses: LocationProtos.google.cloud.location.ILocation[] = [];
+        for await (const resource of iterable) {
+          responses.push(resource!);
+        }
+      });
+      assert.deepStrictEqual(
+        (
+          client.locationsClient.descriptors.page.listLocations
+            .asyncIterate as SinonStub
+        ).getCall(0).args[1],
+        request,
+      );
+      assert(
+        (
+          client.locationsClient.descriptors.page.listLocations
+            .asyncIterate as SinonStub
+        )
+          .getCall(0)
+          .args[2].otherArgs.headers['x-goog-request-params'].includes(
+            expectedHeaderRequestParams,
+          ),
+      );
     });
-
-    describe('Path templates', () => {
-
-        describe('backup', async () => {
-            const fakePath = "/rendered/path/backup";
-            const expectedParameters = {
-                project: "projectValue",
-                backup: "backupValue",
-            };
-            const client = new sqlconnectserviceModule.v1beta4.SqlConnectServiceClient({
-                credentials: {client_email: 'bogus', private_key: 'bogus'},
-                projectId: 'bogus',
-            });
-            await client.initialize();
-            client.pathTemplates.backupPathTemplate.render =
-                sinon.stub().returns(fakePath);
-            client.pathTemplates.backupPathTemplate.match =
-                sinon.stub().returns(expectedParameters);
-
-            it('backupPath', () => {
-                const result = client.backupPath("projectValue", "backupValue");
-                assert.strictEqual(result, fakePath);
-                assert((client.pathTemplates.backupPathTemplate.render as SinonStub)
-                    .getCall(-1).calledWith(expectedParameters));
-            });
-
-            it('matchProjectFromBackupName', () => {
-                const result = client.matchProjectFromBackupName(fakePath);
-                assert.strictEqual(result, "projectValue");
-                assert((client.pathTemplates.backupPathTemplate.match as SinonStub)
-                    .getCall(-1).calledWith(fakePath));
-            });
-
-            it('matchBackupFromBackupName', () => {
-                const result = client.matchBackupFromBackupName(fakePath);
-                assert.strictEqual(result, "backupValue");
-                assert((client.pathTemplates.backupPathTemplate.match as SinonStub)
-                    .getCall(-1).calledWith(fakePath));
-            });
+  });
+
+  describe('Path templates', () => {
+    describe('backup', async () => {
+      const fakePath = '/rendered/path/backup';
+      const expectedParameters = {
+        project: 'projectValue',
+        backup: 'backupValue',
+      };
+      const client =
+        new sqlconnectserviceModule.v1beta4.SqlConnectServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
         });
+      await client.initialize();
+      client.pathTemplates.backupPathTemplate.render = sinon
+        .stub()
+        .returns(fakePath);
+      client.pathTemplates.backupPathTemplate.match = sinon
+        .stub()
+        .returns(expectedParameters);
+
+      it('backupPath', () => {
+        const result = client.backupPath('projectValue', 'backupValue');
+        assert.strictEqual(result, fakePath);
+        assert(
+          (client.pathTemplates.backupPathTemplate.render as SinonStub)
+            .getCall(-1)
+            .calledWith(expectedParameters),
+        );
+      });
+
+      it('matchProjectFromBackupName', () => {
+        const result = client.matchProjectFromBackupName(fakePath);
+        assert.strictEqual(result, 'projectValue');
+        assert(
+          (client.pathTemplates.backupPathTemplate.match as SinonStub)
+            .getCall(-1)
+            .calledWith(fakePath),
+        );
+      });
+
+      it('matchBackupFromBackupName', () => {
+        const result = client.matchBackupFromBackupName(fakePath);
+        assert.strictEqual(result, 'backupValue');
+        assert(
+          (client.pathTemplates.backupPathTemplate.match as SinonStub)
+            .getCall(-1)
+            .calledWith(fakePath),
+        );
+      });
     });
+  });
 });
diff --git a/packages/google-cloud-sql/test/gapic_sql_databases_service_v1.ts b/packages/google-cloud-sql/test/gapic_sql_databases_service_v1.ts
index cca0b07a3c6e..15097fddb205 100644
--- a/packages/google-cloud-sql/test/gapic_sql_databases_service_v1.ts
+++ b/packages/google-cloud-sql/test/gapic_sql_databases_service_v1.ts
@@ -19,1191 +19,1549 @@
 import * as protos from '../protos/protos';
 import * as assert from 'assert';
 import * as sinon from 'sinon';
-import {SinonStub} from 'sinon';
-import {describe, it} from 'mocha';
+import { SinonStub } from 'sinon';
+import { describe, it } from 'mocha';
 import * as sqldatabasesserviceModule from '../src';
 
-import {protobuf, LocationProtos} from 'google-gax';
+import { protobuf, LocationProtos } from 'google-gax';
 
 // Dynamically loaded proto JSON is needed to get the type information
 // to fill in default values for request objects
-const root = protobuf.Root.fromJSON(require('../protos/protos.json')).resolveAll();
+const root = protobuf.Root.fromJSON(
+  require('../protos/protos.json'),
+).resolveAll();
 
 // eslint-disable-next-line @typescript-eslint/no-unused-vars
 function getTypeDefaultValue(typeName: string, fields: string[]) {
-    let type = root.lookupType(typeName) as protobuf.Type;
-    for (const field of fields.slice(0, -1)) {
-        type = type.fields[field]?.resolvedType as protobuf.Type;
-    }
-    return type.fields[fields[fields.length - 1]]?.defaultValue;
+  let type = root.lookupType(typeName) as protobuf.Type;
+  for (const field of fields.slice(0, -1)) {
+    type = type.fields[field]?.resolvedType as protobuf.Type;
+  }
+  return type.fields[fields[fields.length - 1]]?.defaultValue;
 }
 
 function generateSampleMessage<T extends object>(instance: T) {
-    const filledObject = (instance.constructor as typeof protobuf.Message)
-        .toObject(instance as protobuf.Message<T>, {defaults: true});
-    return (instance.constructor as typeof protobuf.Message).fromObject(filledObject) as T;
+  const filledObject = (
+    instance.constructor as typeof protobuf.Message
+  ).toObject(instance as protobuf.Message<T>, { defaults: true });
+  return (instance.constructor as typeof protobuf.Message).fromObject(
+    filledObject,
+  ) as T;
 }
 
 function stubSimpleCall<ResponseType>(response?: ResponseType, error?: Error) {
-    return error ? sinon.stub().rejects(error) : sinon.stub().resolves([response]);
+  return error
+    ? sinon.stub().rejects(error)
+    : sinon.stub().resolves([response]);
 }
 
-function stubSimpleCallWithCallback<ResponseType>(response?: ResponseType, error?: Error) {
-    return error ? sinon.stub().callsArgWith(2, error) : sinon.stub().callsArgWith(2, null, response);
+function stubSimpleCallWithCallback<ResponseType>(
+  response?: ResponseType,
+  error?: Error,
+) {
+  return error
+    ? sinon.stub().callsArgWith(2, error)
+    : sinon.stub().callsArgWith(2, null, response);
 }
 
-function stubAsyncIterationCall<ResponseType>(responses?: ResponseType[], error?: Error) {
-    let counter = 0;
-    const asyncIterable = {
-        [Symbol.asyncIterator]() {
-            return {
-                async next() {
-                    if (error) {
-                        return Promise.reject(error);
-                    }
-                    if (counter >= responses!.length) {
-                        return Promise.resolve({done: true, value: undefined});
-                    }
-                    return Promise.resolve({done: false, value: responses![counter++]});
-                }
-            };
-        }
-    };
-    return sinon.stub().returns(asyncIterable);
+function stubAsyncIterationCall<ResponseType>(
+  responses?: ResponseType[],
+  error?: Error,
+) {
+  let counter = 0;
+  const asyncIterable = {
+    [Symbol.asyncIterator]() {
+      return {
+        async next() {
+          if (error) {
+            return Promise.reject(error);
+          }
+          if (counter >= responses!.length) {
+            return Promise.resolve({ done: true, value: undefined });
+          }
+          return Promise.resolve({ done: false, value: responses![counter++] });
+        },
+      };
+    },
+  };
+  return sinon.stub().returns(asyncIterable);
 }
 
 describe('v1.SqlDatabasesServiceClient', () => {
-    describe('Common methods', () => {
-        it('has apiEndpoint', () => {
-            const client = new sqldatabasesserviceModule.v1.SqlDatabasesServiceClient();
-            const apiEndpoint = client.apiEndpoint;
-            assert.strictEqual(apiEndpoint, 'sqladmin.googleapis.com');
-        });
+  describe('Common methods', () => {
+    it('has apiEndpoint', () => {
+      const client =
+        new sqldatabasesserviceModule.v1.SqlDatabasesServiceClient();
+      const apiEndpoint = client.apiEndpoint;
+      assert.strictEqual(apiEndpoint, 'sqladmin.googleapis.com');
+    });
 
-        it('has universeDomain', () => {
-            const client = new sqldatabasesserviceModule.v1.SqlDatabasesServiceClient();
-            const universeDomain = client.universeDomain;
-            assert.strictEqual(universeDomain, "googleapis.com");
-        });
+    it('has universeDomain', () => {
+      const client =
+        new sqldatabasesserviceModule.v1.SqlDatabasesServiceClient();
+      const universeDomain = client.universeDomain;
+      assert.strictEqual(universeDomain, 'googleapis.com');
+    });
 
-        if (typeof process === 'object' && typeof process.emitWarning === 'function') {
-            it('throws DeprecationWarning if static servicePath is used', () => {
-                const stub = sinon.stub(process, 'emitWarning');
-                const servicePath = sqldatabasesserviceModule.v1.SqlDatabasesServiceClient.servicePath;
-                assert.strictEqual(servicePath, 'sqladmin.googleapis.com');
-                assert(stub.called);
-                stub.restore();
-            });
+    if (
+      typeof process === 'object' &&
+      typeof process.emitWarning === 'function'
+    ) {
+      it('throws DeprecationWarning if static servicePath is used', () => {
+        const stub = sinon.stub(process, 'emitWarning');
+        const servicePath =
+          sqldatabasesserviceModule.v1.SqlDatabasesServiceClient.servicePath;
+        assert.strictEqual(servicePath, 'sqladmin.googleapis.com');
+        assert(stub.called);
+        stub.restore();
+      });
 
-            it('throws DeprecationWarning if static apiEndpoint is used', () => {
-                const stub = sinon.stub(process, 'emitWarning');
-                const apiEndpoint = sqldatabasesserviceModule.v1.SqlDatabasesServiceClient.apiEndpoint;
-                assert.strictEqual(apiEndpoint, 'sqladmin.googleapis.com');
-                assert(stub.called);
-                stub.restore();
-            });
-        }
-        it('sets apiEndpoint according to universe domain camelCase', () => {
-            const client = new sqldatabasesserviceModule.v1.SqlDatabasesServiceClient({universeDomain: 'example.com'});
-            const servicePath = client.apiEndpoint;
-            assert.strictEqual(servicePath, 'sqladmin.example.com');
-        });
+      it('throws DeprecationWarning if static apiEndpoint is used', () => {
+        const stub = sinon.stub(process, 'emitWarning');
+        const apiEndpoint =
+          sqldatabasesserviceModule.v1.SqlDatabasesServiceClient.apiEndpoint;
+        assert.strictEqual(apiEndpoint, 'sqladmin.googleapis.com');
+        assert(stub.called);
+        stub.restore();
+      });
+    }
+    it('sets apiEndpoint according to universe domain camelCase', () => {
+      const client = new sqldatabasesserviceModule.v1.SqlDatabasesServiceClient(
+        { universeDomain: 'example.com' },
+      );
+      const servicePath = client.apiEndpoint;
+      assert.strictEqual(servicePath, 'sqladmin.example.com');
+    });
 
-        it('sets apiEndpoint according to universe domain snakeCase', () => {
-            const client = new sqldatabasesserviceModule.v1.SqlDatabasesServiceClient({universe_domain: 'example.com'});
-            const servicePath = client.apiEndpoint;
-            assert.strictEqual(servicePath, 'sqladmin.example.com');
-        });
+    it('sets apiEndpoint according to universe domain snakeCase', () => {
+      const client = new sqldatabasesserviceModule.v1.SqlDatabasesServiceClient(
+        { universe_domain: 'example.com' },
+      );
+      const servicePath = client.apiEndpoint;
+      assert.strictEqual(servicePath, 'sqladmin.example.com');
+    });
 
-        if (typeof process === 'object' && 'env' in process) {
-            describe('GOOGLE_CLOUD_UNIVERSE_DOMAIN environment variable', () => {
-                it('sets apiEndpoint from environment variable', () => {
-                    const saved = process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
-                    process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = 'example.com';
-                    const client = new sqldatabasesserviceModule.v1.SqlDatabasesServiceClient();
-                    const servicePath = client.apiEndpoint;
-                    assert.strictEqual(servicePath, 'sqladmin.example.com');
-                    if (saved) {
-                        process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = saved;
-                    } else {
-                        delete process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
-                    }
-                });
+    if (typeof process === 'object' && 'env' in process) {
+      describe('GOOGLE_CLOUD_UNIVERSE_DOMAIN environment variable', () => {
+        it('sets apiEndpoint from environment variable', () => {
+          const saved = process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
+          process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = 'example.com';
+          const client =
+            new sqldatabasesserviceModule.v1.SqlDatabasesServiceClient();
+          const servicePath = client.apiEndpoint;
+          assert.strictEqual(servicePath, 'sqladmin.example.com');
+          if (saved) {
+            process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = saved;
+          } else {
+            delete process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
+          }
+        });
 
-                it('value configured in code has priority over environment variable', () => {
-                    const saved = process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
-                    process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = 'example.com';
-                    const client = new sqldatabasesserviceModule.v1.SqlDatabasesServiceClient({universeDomain: 'configured.example.com'});
-                    const servicePath = client.apiEndpoint;
-                    assert.strictEqual(servicePath, 'sqladmin.configured.example.com');
-                    if (saved) {
-                        process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = saved;
-                    } else {
-                        delete process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
-                    }
-                });
+        it('value configured in code has priority over environment variable', () => {
+          const saved = process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
+          process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = 'example.com';
+          const client =
+            new sqldatabasesserviceModule.v1.SqlDatabasesServiceClient({
+              universeDomain: 'configured.example.com',
             });
-        }
-        it('does not allow setting both universeDomain and universe_domain', () => {
-            assert.throws(() => { new sqldatabasesserviceModule.v1.SqlDatabasesServiceClient({universe_domain: 'example.com', universeDomain: 'example.net'}); });
+          const servicePath = client.apiEndpoint;
+          assert.strictEqual(servicePath, 'sqladmin.configured.example.com');
+          if (saved) {
+            process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = saved;
+          } else {
+            delete process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
+          }
         });
-
-        it('has port', () => {
-            const port = sqldatabasesserviceModule.v1.SqlDatabasesServiceClient.port;
-            assert(port);
-            assert(typeof port === 'number');
+      });
+    }
+    it('does not allow setting both universeDomain and universe_domain', () => {
+      assert.throws(() => {
+        new sqldatabasesserviceModule.v1.SqlDatabasesServiceClient({
+          universe_domain: 'example.com',
+          universeDomain: 'example.net',
         });
+      });
+    });
 
-        it('should create a client with no option', () => {
-            const client = new sqldatabasesserviceModule.v1.SqlDatabasesServiceClient();
-            assert(client);
-        });
+    it('has port', () => {
+      const port = sqldatabasesserviceModule.v1.SqlDatabasesServiceClient.port;
+      assert(port);
+      assert(typeof port === 'number');
+    });
 
-        it('should create a client with gRPC fallback', () => {
-            const client = new sqldatabasesserviceModule.v1.SqlDatabasesServiceClient({
-                fallback: true,
-            });
-            assert(client);
-        });
+    it('should create a client with no option', () => {
+      const client =
+        new sqldatabasesserviceModule.v1.SqlDatabasesServiceClient();
+      assert(client);
+    });
 
-        it('has initialize method and supports deferred initialization', async () => {
-            const client = new sqldatabasesserviceModule.v1.SqlDatabasesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            assert.strictEqual(client.sqlDatabasesServiceStub, undefined);
-            await client.initialize();
-            assert(client.sqlDatabasesServiceStub);
-        });
+    it('should create a client with gRPC fallback', () => {
+      const client = new sqldatabasesserviceModule.v1.SqlDatabasesServiceClient(
+        {
+          fallback: true,
+        },
+      );
+      assert(client);
+    });
 
-        it('has close method for the initialized client', done => {
-            const client = new sqldatabasesserviceModule.v1.SqlDatabasesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            client.initialize().catch(err => {throw err});
-            assert(client.sqlDatabasesServiceStub);
-            client.close().then(() => {
-                done();
-            }).catch(err => {throw err});
-        });
+    it('has initialize method and supports deferred initialization', async () => {
+      const client = new sqldatabasesserviceModule.v1.SqlDatabasesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      assert.strictEqual(client.sqlDatabasesServiceStub, undefined);
+      await client.initialize();
+      assert(client.sqlDatabasesServiceStub);
+    });
 
-        it('has close method for the non-initialized client', done => {
-            const client = new sqldatabasesserviceModule.v1.SqlDatabasesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            assert.strictEqual(client.sqlDatabasesServiceStub, undefined);
-            client.close().then(() => {
-                done();
-            }).catch(err => {throw err});
+    it('has close method for the initialized client', (done) => {
+      const client = new sqldatabasesserviceModule.v1.SqlDatabasesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      client.initialize().catch((err) => {
+        throw err;
+      });
+      assert(client.sqlDatabasesServiceStub);
+      client
+        .close()
+        .then(() => {
+          done();
+        })
+        .catch((err) => {
+          throw err;
         });
+    });
 
-        it('has getProjectId method', async () => {
-            const fakeProjectId = 'fake-project-id';
-            const client = new sqldatabasesserviceModule.v1.SqlDatabasesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            client.auth.getProjectId = sinon.stub().resolves(fakeProjectId);
-            const result = await client.getProjectId();
-            assert.strictEqual(result, fakeProjectId);
-            assert((client.auth.getProjectId as SinonStub).calledWithExactly());
+    it('has close method for the non-initialized client', (done) => {
+      const client = new sqldatabasesserviceModule.v1.SqlDatabasesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      assert.strictEqual(client.sqlDatabasesServiceStub, undefined);
+      client
+        .close()
+        .then(() => {
+          done();
+        })
+        .catch((err) => {
+          throw err;
         });
+    });
 
-        it('has getProjectId method with callback', async () => {
-            const fakeProjectId = 'fake-project-id';
-            const client = new sqldatabasesserviceModule.v1.SqlDatabasesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            client.auth.getProjectId = sinon.stub().callsArgWith(0, null, fakeProjectId);
-            const promise = new Promise((resolve, reject) => {
-                client.getProjectId((err?: Error|null, projectId?: string|null) => {
-                    if (err) {
-                        reject(err);
-                    } else {
-                        resolve(projectId);
-                    }
-                });
-            });
-            const result = await promise;
-            assert.strictEqual(result, fakeProjectId);
-        });
+    it('has getProjectId method', async () => {
+      const fakeProjectId = 'fake-project-id';
+      const client = new sqldatabasesserviceModule.v1.SqlDatabasesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      client.auth.getProjectId = sinon.stub().resolves(fakeProjectId);
+      const result = await client.getProjectId();
+      assert.strictEqual(result, fakeProjectId);
+      assert((client.auth.getProjectId as SinonStub).calledWithExactly());
     });
 
-    describe('delete', () => {
-        it('invokes delete without error', async () => {
-            const client = new sqldatabasesserviceModule.v1.SqlDatabasesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlDatabasesDeleteRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlDatabasesDeleteRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlDatabasesDeleteRequest', ['instance']);
-            request.instance = defaultValue2;
-            const defaultValue3 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlDatabasesDeleteRequest', ['database']);
-            request.database = defaultValue3;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }&database=${defaultValue3 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1.Operation()
-            );
-            client.innerApiCalls.delete = stubSimpleCall(expectedResponse);
-            const [response] = await client.delete(request);
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.delete as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.delete as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    it('has getProjectId method with callback', async () => {
+      const fakeProjectId = 'fake-project-id';
+      const client = new sqldatabasesserviceModule.v1.SqlDatabasesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      client.auth.getProjectId = sinon
+        .stub()
+        .callsArgWith(0, null, fakeProjectId);
+      const promise = new Promise((resolve, reject) => {
+        client.getProjectId((err?: Error | null, projectId?: string | null) => {
+          if (err) {
+            reject(err);
+          } else {
+            resolve(projectId);
+          }
         });
+      });
+      const result = await promise;
+      assert.strictEqual(result, fakeProjectId);
+    });
+  });
 
-        it('invokes delete without error using callback', async () => {
-            const client = new sqldatabasesserviceModule.v1.SqlDatabasesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlDatabasesDeleteRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlDatabasesDeleteRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlDatabasesDeleteRequest', ['instance']);
-            request.instance = defaultValue2;
-            const defaultValue3 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlDatabasesDeleteRequest', ['database']);
-            request.database = defaultValue3;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }&database=${defaultValue3 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1.Operation()
-            );
-            client.innerApiCalls.delete = stubSimpleCallWithCallback(expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.delete(
-                    request,
-                    (err?: Error|null, result?: protos.google.cloud.sql.v1.IOperation|null) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.delete as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.delete as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+  describe('delete', () => {
+    it('invokes delete without error', async () => {
+      const client = new sqldatabasesserviceModule.v1.SqlDatabasesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlDatabasesDeleteRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlDatabasesDeleteRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlDatabasesDeleteRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const defaultValue3 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlDatabasesDeleteRequest',
+        ['database'],
+      );
+      request.database = defaultValue3;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}&database=${defaultValue3 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1.Operation(),
+      );
+      client.innerApiCalls.delete = stubSimpleCall(expectedResponse);
+      const [response] = await client.delete(request);
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (client.innerApiCalls.delete as SinonStub).getCall(
+        0,
+      ).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.delete as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes delete with error', async () => {
-            const client = new sqldatabasesserviceModule.v1.SqlDatabasesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlDatabasesDeleteRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlDatabasesDeleteRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlDatabasesDeleteRequest', ['instance']);
-            request.instance = defaultValue2;
-            const defaultValue3 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlDatabasesDeleteRequest', ['database']);
-            request.database = defaultValue3;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }&database=${defaultValue3 ?? '' }`;
-            const expectedError = new Error('expected');
-            client.innerApiCalls.delete = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.delete(request), expectedError);
-            const actualRequest = (client.innerApiCalls.delete as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.delete as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+    it('invokes delete without error using callback', async () => {
+      const client = new sqldatabasesserviceModule.v1.SqlDatabasesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlDatabasesDeleteRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlDatabasesDeleteRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlDatabasesDeleteRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const defaultValue3 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlDatabasesDeleteRequest',
+        ['database'],
+      );
+      request.database = defaultValue3;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}&database=${defaultValue3 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1.Operation(),
+      );
+      client.innerApiCalls.delete =
+        stubSimpleCallWithCallback(expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.delete(
+          request,
+          (
+            err?: Error | null,
+            result?: protos.google.cloud.sql.v1.IOperation | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
+            }
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (client.innerApiCalls.delete as SinonStub).getCall(
+        0,
+      ).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.delete as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes delete with closed client', async () => {
-            const client = new sqldatabasesserviceModule.v1.SqlDatabasesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlDatabasesDeleteRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlDatabasesDeleteRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlDatabasesDeleteRequest', ['instance']);
-            request.instance = defaultValue2;
-            const defaultValue3 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlDatabasesDeleteRequest', ['database']);
-            request.database = defaultValue3;
-            const expectedError = new Error('The client has already been closed.');
-            client.close().catch(err => {throw err});
-            await assert.rejects(client.delete(request), expectedError);
-        });
+    it('invokes delete with error', async () => {
+      const client = new sqldatabasesserviceModule.v1.SqlDatabasesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlDatabasesDeleteRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlDatabasesDeleteRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlDatabasesDeleteRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const defaultValue3 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlDatabasesDeleteRequest',
+        ['database'],
+      );
+      request.database = defaultValue3;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}&database=${defaultValue3 ?? ''}`;
+      const expectedError = new Error('expected');
+      client.innerApiCalls.delete = stubSimpleCall(undefined, expectedError);
+      await assert.rejects(client.delete(request), expectedError);
+      const actualRequest = (client.innerApiCalls.delete as SinonStub).getCall(
+        0,
+      ).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.delete as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
     });
 
-    describe('get', () => {
-        it('invokes get without error', async () => {
-            const client = new sqldatabasesserviceModule.v1.SqlDatabasesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlDatabasesGetRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlDatabasesGetRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlDatabasesGetRequest', ['instance']);
-            request.instance = defaultValue2;
-            const defaultValue3 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlDatabasesGetRequest', ['database']);
-            request.database = defaultValue3;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }&database=${defaultValue3 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1.Database()
-            );
-            client.innerApiCalls.get = stubSimpleCall(expectedResponse);
-            const [response] = await client.get(request);
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.get as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.get as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+    it('invokes delete with closed client', async () => {
+      const client = new sqldatabasesserviceModule.v1.SqlDatabasesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlDatabasesDeleteRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlDatabasesDeleteRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlDatabasesDeleteRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const defaultValue3 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlDatabasesDeleteRequest',
+        ['database'],
+      );
+      request.database = defaultValue3;
+      const expectedError = new Error('The client has already been closed.');
+      client.close().catch((err) => {
+        throw err;
+      });
+      await assert.rejects(client.delete(request), expectedError);
+    });
+  });
 
-        it('invokes get without error using callback', async () => {
-            const client = new sqldatabasesserviceModule.v1.SqlDatabasesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlDatabasesGetRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlDatabasesGetRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlDatabasesGetRequest', ['instance']);
-            request.instance = defaultValue2;
-            const defaultValue3 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlDatabasesGetRequest', ['database']);
-            request.database = defaultValue3;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }&database=${defaultValue3 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1.Database()
-            );
-            client.innerApiCalls.get = stubSimpleCallWithCallback(expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.get(
-                    request,
-                    (err?: Error|null, result?: protos.google.cloud.sql.v1.IDatabase|null) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.get as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.get as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+  describe('get', () => {
+    it('invokes get without error', async () => {
+      const client = new sqldatabasesserviceModule.v1.SqlDatabasesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlDatabasesGetRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlDatabasesGetRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlDatabasesGetRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const defaultValue3 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlDatabasesGetRequest',
+        ['database'],
+      );
+      request.database = defaultValue3;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}&database=${defaultValue3 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1.Database(),
+      );
+      client.innerApiCalls.get = stubSimpleCall(expectedResponse);
+      const [response] = await client.get(request);
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (client.innerApiCalls.get as SinonStub).getCall(0)
+        .args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.get as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes get with error', async () => {
-            const client = new sqldatabasesserviceModule.v1.SqlDatabasesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlDatabasesGetRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlDatabasesGetRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlDatabasesGetRequest', ['instance']);
-            request.instance = defaultValue2;
-            const defaultValue3 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlDatabasesGetRequest', ['database']);
-            request.database = defaultValue3;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }&database=${defaultValue3 ?? '' }`;
-            const expectedError = new Error('expected');
-            client.innerApiCalls.get = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.get(request), expectedError);
-            const actualRequest = (client.innerApiCalls.get as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.get as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+    it('invokes get without error using callback', async () => {
+      const client = new sqldatabasesserviceModule.v1.SqlDatabasesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlDatabasesGetRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlDatabasesGetRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlDatabasesGetRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const defaultValue3 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlDatabasesGetRequest',
+        ['database'],
+      );
+      request.database = defaultValue3;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}&database=${defaultValue3 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1.Database(),
+      );
+      client.innerApiCalls.get = stubSimpleCallWithCallback(expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.get(
+          request,
+          (
+            err?: Error | null,
+            result?: protos.google.cloud.sql.v1.IDatabase | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
+            }
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (client.innerApiCalls.get as SinonStub).getCall(0)
+        .args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.get as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes get with closed client', async () => {
-            const client = new sqldatabasesserviceModule.v1.SqlDatabasesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlDatabasesGetRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlDatabasesGetRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlDatabasesGetRequest', ['instance']);
-            request.instance = defaultValue2;
-            const defaultValue3 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlDatabasesGetRequest', ['database']);
-            request.database = defaultValue3;
-            const expectedError = new Error('The client has already been closed.');
-            client.close().catch(err => {throw err});
-            await assert.rejects(client.get(request), expectedError);
-        });
+    it('invokes get with error', async () => {
+      const client = new sqldatabasesserviceModule.v1.SqlDatabasesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlDatabasesGetRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlDatabasesGetRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlDatabasesGetRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const defaultValue3 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlDatabasesGetRequest',
+        ['database'],
+      );
+      request.database = defaultValue3;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}&database=${defaultValue3 ?? ''}`;
+      const expectedError = new Error('expected');
+      client.innerApiCalls.get = stubSimpleCall(undefined, expectedError);
+      await assert.rejects(client.get(request), expectedError);
+      const actualRequest = (client.innerApiCalls.get as SinonStub).getCall(0)
+        .args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.get as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
     });
 
-    describe('insert', () => {
-        it('invokes insert without error', async () => {
-            const client = new sqldatabasesserviceModule.v1.SqlDatabasesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlDatabasesInsertRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlDatabasesInsertRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlDatabasesInsertRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1.Operation()
-            );
-            client.innerApiCalls.insert = stubSimpleCall(expectedResponse);
-            const [response] = await client.insert(request);
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.insert as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.insert as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+    it('invokes get with closed client', async () => {
+      const client = new sqldatabasesserviceModule.v1.SqlDatabasesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlDatabasesGetRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlDatabasesGetRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlDatabasesGetRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const defaultValue3 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlDatabasesGetRequest',
+        ['database'],
+      );
+      request.database = defaultValue3;
+      const expectedError = new Error('The client has already been closed.');
+      client.close().catch((err) => {
+        throw err;
+      });
+      await assert.rejects(client.get(request), expectedError);
+    });
+  });
 
-        it('invokes insert without error using callback', async () => {
-            const client = new sqldatabasesserviceModule.v1.SqlDatabasesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlDatabasesInsertRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlDatabasesInsertRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlDatabasesInsertRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1.Operation()
-            );
-            client.innerApiCalls.insert = stubSimpleCallWithCallback(expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.insert(
-                    request,
-                    (err?: Error|null, result?: protos.google.cloud.sql.v1.IOperation|null) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.insert as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.insert as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+  describe('insert', () => {
+    it('invokes insert without error', async () => {
+      const client = new sqldatabasesserviceModule.v1.SqlDatabasesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlDatabasesInsertRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlDatabasesInsertRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlDatabasesInsertRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1.Operation(),
+      );
+      client.innerApiCalls.insert = stubSimpleCall(expectedResponse);
+      const [response] = await client.insert(request);
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (client.innerApiCalls.insert as SinonStub).getCall(
+        0,
+      ).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.insert as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes insert with error', async () => {
-            const client = new sqldatabasesserviceModule.v1.SqlDatabasesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlDatabasesInsertRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlDatabasesInsertRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlDatabasesInsertRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedError = new Error('expected');
-            client.innerApiCalls.insert = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.insert(request), expectedError);
-            const actualRequest = (client.innerApiCalls.insert as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.insert as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+    it('invokes insert without error using callback', async () => {
+      const client = new sqldatabasesserviceModule.v1.SqlDatabasesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlDatabasesInsertRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlDatabasesInsertRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlDatabasesInsertRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1.Operation(),
+      );
+      client.innerApiCalls.insert =
+        stubSimpleCallWithCallback(expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.insert(
+          request,
+          (
+            err?: Error | null,
+            result?: protos.google.cloud.sql.v1.IOperation | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
+            }
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (client.innerApiCalls.insert as SinonStub).getCall(
+        0,
+      ).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.insert as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes insert with closed client', async () => {
-            const client = new sqldatabasesserviceModule.v1.SqlDatabasesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlDatabasesInsertRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlDatabasesInsertRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlDatabasesInsertRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedError = new Error('The client has already been closed.');
-            client.close().catch(err => {throw err});
-            await assert.rejects(client.insert(request), expectedError);
-        });
+    it('invokes insert with error', async () => {
+      const client = new sqldatabasesserviceModule.v1.SqlDatabasesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlDatabasesInsertRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlDatabasesInsertRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlDatabasesInsertRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedError = new Error('expected');
+      client.innerApiCalls.insert = stubSimpleCall(undefined, expectedError);
+      await assert.rejects(client.insert(request), expectedError);
+      const actualRequest = (client.innerApiCalls.insert as SinonStub).getCall(
+        0,
+      ).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.insert as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
     });
 
-    describe('list', () => {
-        it('invokes list without error', async () => {
-            const client = new sqldatabasesserviceModule.v1.SqlDatabasesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlDatabasesListRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlDatabasesListRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlDatabasesListRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1.DatabasesListResponse()
-            );
-            client.innerApiCalls.list = stubSimpleCall(expectedResponse);
-            const [response] = await client.list(request);
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.list as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.list as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+    it('invokes insert with closed client', async () => {
+      const client = new sqldatabasesserviceModule.v1.SqlDatabasesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlDatabasesInsertRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlDatabasesInsertRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlDatabasesInsertRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedError = new Error('The client has already been closed.');
+      client.close().catch((err) => {
+        throw err;
+      });
+      await assert.rejects(client.insert(request), expectedError);
+    });
+  });
 
-        it('invokes list without error using callback', async () => {
-            const client = new sqldatabasesserviceModule.v1.SqlDatabasesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlDatabasesListRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlDatabasesListRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlDatabasesListRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1.DatabasesListResponse()
-            );
-            client.innerApiCalls.list = stubSimpleCallWithCallback(expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.list(
-                    request,
-                    (err?: Error|null, result?: protos.google.cloud.sql.v1.IDatabasesListResponse|null) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.list as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.list as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+  describe('list', () => {
+    it('invokes list without error', async () => {
+      const client = new sqldatabasesserviceModule.v1.SqlDatabasesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlDatabasesListRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlDatabasesListRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlDatabasesListRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1.DatabasesListResponse(),
+      );
+      client.innerApiCalls.list = stubSimpleCall(expectedResponse);
+      const [response] = await client.list(request);
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (client.innerApiCalls.list as SinonStub).getCall(0)
+        .args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.list as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes list with error', async () => {
-            const client = new sqldatabasesserviceModule.v1.SqlDatabasesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlDatabasesListRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlDatabasesListRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlDatabasesListRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedError = new Error('expected');
-            client.innerApiCalls.list = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.list(request), expectedError);
-            const actualRequest = (client.innerApiCalls.list as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.list as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+    it('invokes list without error using callback', async () => {
+      const client = new sqldatabasesserviceModule.v1.SqlDatabasesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlDatabasesListRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlDatabasesListRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlDatabasesListRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1.DatabasesListResponse(),
+      );
+      client.innerApiCalls.list = stubSimpleCallWithCallback(expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.list(
+          request,
+          (
+            err?: Error | null,
+            result?: protos.google.cloud.sql.v1.IDatabasesListResponse | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
+            }
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (client.innerApiCalls.list as SinonStub).getCall(0)
+        .args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.list as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes list with closed client', async () => {
-            const client = new sqldatabasesserviceModule.v1.SqlDatabasesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlDatabasesListRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlDatabasesListRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlDatabasesListRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedError = new Error('The client has already been closed.');
-            client.close().catch(err => {throw err});
-            await assert.rejects(client.list(request), expectedError);
-        });
+    it('invokes list with error', async () => {
+      const client = new sqldatabasesserviceModule.v1.SqlDatabasesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlDatabasesListRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlDatabasesListRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlDatabasesListRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedError = new Error('expected');
+      client.innerApiCalls.list = stubSimpleCall(undefined, expectedError);
+      await assert.rejects(client.list(request), expectedError);
+      const actualRequest = (client.innerApiCalls.list as SinonStub).getCall(0)
+        .args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.list as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
     });
 
-    describe('patch', () => {
-        it('invokes patch without error', async () => {
-            const client = new sqldatabasesserviceModule.v1.SqlDatabasesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlDatabasesUpdateRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlDatabasesUpdateRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlDatabasesUpdateRequest', ['instance']);
-            request.instance = defaultValue2;
-            const defaultValue3 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlDatabasesUpdateRequest', ['database']);
-            request.database = defaultValue3;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }&database=${defaultValue3 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1.Operation()
-            );
-            client.innerApiCalls.patch = stubSimpleCall(expectedResponse);
-            const [response] = await client.patch(request);
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.patch as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.patch as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+    it('invokes list with closed client', async () => {
+      const client = new sqldatabasesserviceModule.v1.SqlDatabasesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlDatabasesListRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlDatabasesListRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlDatabasesListRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedError = new Error('The client has already been closed.');
+      client.close().catch((err) => {
+        throw err;
+      });
+      await assert.rejects(client.list(request), expectedError);
+    });
+  });
 
-        it('invokes patch without error using callback', async () => {
-            const client = new sqldatabasesserviceModule.v1.SqlDatabasesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlDatabasesUpdateRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlDatabasesUpdateRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlDatabasesUpdateRequest', ['instance']);
-            request.instance = defaultValue2;
-            const defaultValue3 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlDatabasesUpdateRequest', ['database']);
-            request.database = defaultValue3;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }&database=${defaultValue3 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1.Operation()
-            );
-            client.innerApiCalls.patch = stubSimpleCallWithCallback(expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.patch(
-                    request,
-                    (err?: Error|null, result?: protos.google.cloud.sql.v1.IOperation|null) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.patch as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.patch as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+  describe('patch', () => {
+    it('invokes patch without error', async () => {
+      const client = new sqldatabasesserviceModule.v1.SqlDatabasesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlDatabasesUpdateRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlDatabasesUpdateRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlDatabasesUpdateRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const defaultValue3 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlDatabasesUpdateRequest',
+        ['database'],
+      );
+      request.database = defaultValue3;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}&database=${defaultValue3 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1.Operation(),
+      );
+      client.innerApiCalls.patch = stubSimpleCall(expectedResponse);
+      const [response] = await client.patch(request);
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (client.innerApiCalls.patch as SinonStub).getCall(0)
+        .args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.patch as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes patch with error', async () => {
-            const client = new sqldatabasesserviceModule.v1.SqlDatabasesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlDatabasesUpdateRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlDatabasesUpdateRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlDatabasesUpdateRequest', ['instance']);
-            request.instance = defaultValue2;
-            const defaultValue3 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlDatabasesUpdateRequest', ['database']);
-            request.database = defaultValue3;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }&database=${defaultValue3 ?? '' }`;
-            const expectedError = new Error('expected');
-            client.innerApiCalls.patch = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.patch(request), expectedError);
-            const actualRequest = (client.innerApiCalls.patch as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.patch as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+    it('invokes patch without error using callback', async () => {
+      const client = new sqldatabasesserviceModule.v1.SqlDatabasesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlDatabasesUpdateRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlDatabasesUpdateRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlDatabasesUpdateRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const defaultValue3 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlDatabasesUpdateRequest',
+        ['database'],
+      );
+      request.database = defaultValue3;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}&database=${defaultValue3 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1.Operation(),
+      );
+      client.innerApiCalls.patch = stubSimpleCallWithCallback(expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.patch(
+          request,
+          (
+            err?: Error | null,
+            result?: protos.google.cloud.sql.v1.IOperation | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
+            }
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (client.innerApiCalls.patch as SinonStub).getCall(0)
+        .args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.patch as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes patch with closed client', async () => {
-            const client = new sqldatabasesserviceModule.v1.SqlDatabasesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlDatabasesUpdateRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlDatabasesUpdateRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlDatabasesUpdateRequest', ['instance']);
-            request.instance = defaultValue2;
-            const defaultValue3 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlDatabasesUpdateRequest', ['database']);
-            request.database = defaultValue3;
-            const expectedError = new Error('The client has already been closed.');
-            client.close().catch(err => {throw err});
-            await assert.rejects(client.patch(request), expectedError);
-        });
+    it('invokes patch with error', async () => {
+      const client = new sqldatabasesserviceModule.v1.SqlDatabasesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlDatabasesUpdateRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlDatabasesUpdateRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlDatabasesUpdateRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const defaultValue3 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlDatabasesUpdateRequest',
+        ['database'],
+      );
+      request.database = defaultValue3;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}&database=${defaultValue3 ?? ''}`;
+      const expectedError = new Error('expected');
+      client.innerApiCalls.patch = stubSimpleCall(undefined, expectedError);
+      await assert.rejects(client.patch(request), expectedError);
+      const actualRequest = (client.innerApiCalls.patch as SinonStub).getCall(0)
+        .args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.patch as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
     });
 
-    describe('update', () => {
-        it('invokes update without error', async () => {
-            const client = new sqldatabasesserviceModule.v1.SqlDatabasesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlDatabasesUpdateRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlDatabasesUpdateRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlDatabasesUpdateRequest', ['instance']);
-            request.instance = defaultValue2;
-            const defaultValue3 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlDatabasesUpdateRequest', ['database']);
-            request.database = defaultValue3;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }&database=${defaultValue3 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1.Operation()
-            );
-            client.innerApiCalls.update = stubSimpleCall(expectedResponse);
-            const [response] = await client.update(request);
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.update as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.update as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+    it('invokes patch with closed client', async () => {
+      const client = new sqldatabasesserviceModule.v1.SqlDatabasesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlDatabasesUpdateRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlDatabasesUpdateRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlDatabasesUpdateRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const defaultValue3 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlDatabasesUpdateRequest',
+        ['database'],
+      );
+      request.database = defaultValue3;
+      const expectedError = new Error('The client has already been closed.');
+      client.close().catch((err) => {
+        throw err;
+      });
+      await assert.rejects(client.patch(request), expectedError);
+    });
+  });
 
-        it('invokes update without error using callback', async () => {
-            const client = new sqldatabasesserviceModule.v1.SqlDatabasesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlDatabasesUpdateRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlDatabasesUpdateRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlDatabasesUpdateRequest', ['instance']);
-            request.instance = defaultValue2;
-            const defaultValue3 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlDatabasesUpdateRequest', ['database']);
-            request.database = defaultValue3;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }&database=${defaultValue3 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1.Operation()
-            );
-            client.innerApiCalls.update = stubSimpleCallWithCallback(expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.update(
-                    request,
-                    (err?: Error|null, result?: protos.google.cloud.sql.v1.IOperation|null) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.update as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.update as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+  describe('update', () => {
+    it('invokes update without error', async () => {
+      const client = new sqldatabasesserviceModule.v1.SqlDatabasesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlDatabasesUpdateRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlDatabasesUpdateRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlDatabasesUpdateRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const defaultValue3 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlDatabasesUpdateRequest',
+        ['database'],
+      );
+      request.database = defaultValue3;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}&database=${defaultValue3 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1.Operation(),
+      );
+      client.innerApiCalls.update = stubSimpleCall(expectedResponse);
+      const [response] = await client.update(request);
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (client.innerApiCalls.update as SinonStub).getCall(
+        0,
+      ).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.update as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes update with error', async () => {
-            const client = new sqldatabasesserviceModule.v1.SqlDatabasesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlDatabasesUpdateRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlDatabasesUpdateRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlDatabasesUpdateRequest', ['instance']);
-            request.instance = defaultValue2;
-            const defaultValue3 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlDatabasesUpdateRequest', ['database']);
-            request.database = defaultValue3;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }&database=${defaultValue3 ?? '' }`;
-            const expectedError = new Error('expected');
-            client.innerApiCalls.update = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.update(request), expectedError);
-            const actualRequest = (client.innerApiCalls.update as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.update as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+    it('invokes update without error using callback', async () => {
+      const client = new sqldatabasesserviceModule.v1.SqlDatabasesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlDatabasesUpdateRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlDatabasesUpdateRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlDatabasesUpdateRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const defaultValue3 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlDatabasesUpdateRequest',
+        ['database'],
+      );
+      request.database = defaultValue3;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}&database=${defaultValue3 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1.Operation(),
+      );
+      client.innerApiCalls.update =
+        stubSimpleCallWithCallback(expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.update(
+          request,
+          (
+            err?: Error | null,
+            result?: protos.google.cloud.sql.v1.IOperation | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
+            }
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (client.innerApiCalls.update as SinonStub).getCall(
+        0,
+      ).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.update as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes update with closed client', async () => {
-            const client = new sqldatabasesserviceModule.v1.SqlDatabasesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlDatabasesUpdateRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlDatabasesUpdateRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlDatabasesUpdateRequest', ['instance']);
-            request.instance = defaultValue2;
-            const defaultValue3 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlDatabasesUpdateRequest', ['database']);
-            request.database = defaultValue3;
-            const expectedError = new Error('The client has already been closed.');
-            client.close().catch(err => {throw err});
-            await assert.rejects(client.update(request), expectedError);
-        });
+    it('invokes update with error', async () => {
+      const client = new sqldatabasesserviceModule.v1.SqlDatabasesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlDatabasesUpdateRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlDatabasesUpdateRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlDatabasesUpdateRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const defaultValue3 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlDatabasesUpdateRequest',
+        ['database'],
+      );
+      request.database = defaultValue3;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}&database=${defaultValue3 ?? ''}`;
+      const expectedError = new Error('expected');
+      client.innerApiCalls.update = stubSimpleCall(undefined, expectedError);
+      await assert.rejects(client.update(request), expectedError);
+      const actualRequest = (client.innerApiCalls.update as SinonStub).getCall(
+        0,
+      ).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.update as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
     });
-    describe('getLocation', () => {
-        it('invokes getLocation without error', async () => {
-            const client = new sqldatabasesserviceModule.v1.SqlDatabasesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new LocationProtos.google.cloud.location.GetLocationRequest()
-            );
-            request.name = '';
-            const expectedHeaderRequestParams = 'name=';
-            const expectedOptions = {
-                otherArgs: {
-                    headers: {
-                        'x-goog-request-params': expectedHeaderRequestParams,
-                    },
-                },
-            };
-            const expectedResponse = generateSampleMessage(
-              new LocationProtos.google.cloud.location.Location()
-            );
-            client.locationsClient.getLocation = stubSimpleCall(expectedResponse);
-            const response = await client.getLocation(request, expectedOptions);
-            assert.deepStrictEqual(response, [expectedResponse]);
-            assert((client.locationsClient.getLocation as SinonStub)
-                .getCall(0).calledWith(request, expectedOptions, undefined));
-        });
-        it('invokes getLocation without error using callback', async () => {
-            const client = new sqldatabasesserviceModule.v1.SqlDatabasesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new LocationProtos.google.cloud.location.GetLocationRequest()
-            );
-            request.name = '';
-            const expectedHeaderRequestParams = 'name=';
-            const expectedOptions = {
-                otherArgs: {
-                    headers: {
-                        'x-goog-request-params': expectedHeaderRequestParams,
-                    },
-                },
-            };
-            const expectedResponse = generateSampleMessage(
-              new LocationProtos.google.cloud.location.Location()
-            );
-            client.locationsClient.getLocation = sinon.stub().callsArgWith(2, null, expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.getLocation(
-                    request,
-                    expectedOptions,
-                    (
-                        err?: Error | null,
-                        result?: LocationProtos.google.cloud.location.ILocation | null
-                    ) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            assert((client.locationsClient.getLocation as SinonStub)
-                .getCall(0));
-        });
-        it('invokes getLocation with error', async () => {
-            const client = new sqldatabasesserviceModule.v1.SqlDatabasesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new LocationProtos.google.cloud.location.GetLocationRequest()
-            );
-            request.name = '';
-            const expectedHeaderRequestParams = 'name=';
-            const expectedOptions = {
-                otherArgs: {
-                    headers: {
-                        'x-goog-request-params': expectedHeaderRequestParams,
-                    },
-                },
-            };
-            const expectedError = new Error('expected');
-            client.locationsClient.getLocation = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.getLocation(request, expectedOptions), expectedError);
-            assert((client.locationsClient.getLocation as SinonStub)
-                .getCall(0).calledWith(request, expectedOptions, undefined));
-        });
+
+    it('invokes update with closed client', async () => {
+      const client = new sqldatabasesserviceModule.v1.SqlDatabasesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlDatabasesUpdateRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlDatabasesUpdateRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlDatabasesUpdateRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const defaultValue3 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlDatabasesUpdateRequest',
+        ['database'],
+      );
+      request.database = defaultValue3;
+      const expectedError = new Error('The client has already been closed.');
+      client.close().catch((err) => {
+        throw err;
+      });
+      await assert.rejects(client.update(request), expectedError);
     });
-    describe('listLocationsAsync', () => {
-        it('uses async iteration with listLocations without error', async () => {
-            const client = new sqldatabasesserviceModule.v1.SqlDatabasesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-                new LocationProtos.google.cloud.location.ListLocationsRequest()
-            );
-            request.name = '';
-            const expectedHeaderRequestParams = 'name=';
-            const expectedResponse = [
-                generateSampleMessage(
-                    new LocationProtos.google.cloud.location.Location()
-                ),
-                generateSampleMessage(
-                    new LocationProtos.google.cloud.location.Location()
-                ),
-                generateSampleMessage(
-                    new LocationProtos.google.cloud.location.Location()
-                ),
-            ];
-            client.locationsClient.descriptors.page.listLocations.asyncIterate = stubAsyncIterationCall(expectedResponse);
-            const responses: LocationProtos.google.cloud.location.ILocation[] = [];
-            const iterable = client.listLocationsAsync(request);
-            for await (const resource of iterable) {
-                responses.push(resource!);
+  });
+  describe('getLocation', () => {
+    it('invokes getLocation without error', async () => {
+      const client = new sqldatabasesserviceModule.v1.SqlDatabasesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new LocationProtos.google.cloud.location.GetLocationRequest(),
+      );
+      request.name = '';
+      const expectedHeaderRequestParams = 'name=';
+      const expectedOptions = {
+        otherArgs: {
+          headers: {
+            'x-goog-request-params': expectedHeaderRequestParams,
+          },
+        },
+      };
+      const expectedResponse = generateSampleMessage(
+        new LocationProtos.google.cloud.location.Location(),
+      );
+      client.locationsClient.getLocation = stubSimpleCall(expectedResponse);
+      const response = await client.getLocation(request, expectedOptions);
+      assert.deepStrictEqual(response, [expectedResponse]);
+      assert(
+        (client.locationsClient.getLocation as SinonStub)
+          .getCall(0)
+          .calledWith(request, expectedOptions, undefined),
+      );
+    });
+    it('invokes getLocation without error using callback', async () => {
+      const client = new sqldatabasesserviceModule.v1.SqlDatabasesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new LocationProtos.google.cloud.location.GetLocationRequest(),
+      );
+      request.name = '';
+      const expectedHeaderRequestParams = 'name=';
+      const expectedOptions = {
+        otherArgs: {
+          headers: {
+            'x-goog-request-params': expectedHeaderRequestParams,
+          },
+        },
+      };
+      const expectedResponse = generateSampleMessage(
+        new LocationProtos.google.cloud.location.Location(),
+      );
+      client.locationsClient.getLocation = sinon
+        .stub()
+        .callsArgWith(2, null, expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.getLocation(
+          request,
+          expectedOptions,
+          (
+            err?: Error | null,
+            result?: LocationProtos.google.cloud.location.ILocation | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
             }
-            assert.deepStrictEqual(responses, expectedResponse);
-            assert.deepStrictEqual(
-                (client.locationsClient.descriptors.page.listLocations.asyncIterate as SinonStub)
-                    .getCall(0).args[1], request);
-            assert(
-                (client.locationsClient.descriptors.page.listLocations.asyncIterate as SinonStub)
-                    .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes(
-                        expectedHeaderRequestParams
-                    )
-            );
-        });
-        it('uses async iteration with listLocations with error', async () => {
-            const client = new sqldatabasesserviceModule.v1.SqlDatabasesServiceClient({
-                credentials: {client_email: 'bogus', private_key: 'bogus'},
-                projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new LocationProtos.google.cloud.location.ListLocationsRequest()
-            );
-            request.name = '';
-            const expectedHeaderRequestParams = 'name=';
-            const expectedError = new Error('expected');
-            client.locationsClient.descriptors.page.listLocations.asyncIterate = stubAsyncIterationCall(undefined, expectedError);
-            const iterable = client.listLocationsAsync(request);
-            await assert.rejects(async () => {
-                const responses: LocationProtos.google.cloud.location.ILocation[] = [];
-                for await (const resource of iterable) {
-                    responses.push(resource!);
-                }
-            });
-            assert.deepStrictEqual(
-                (client.locationsClient.descriptors.page.listLocations.asyncIterate as SinonStub)
-                    .getCall(0).args[1], request);
-            assert(
-                (client.locationsClient.descriptors.page.listLocations.asyncIterate as SinonStub)
-                    .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes(
-                        expectedHeaderRequestParams
-                    )
-            );
-        });
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      assert((client.locationsClient.getLocation as SinonStub).getCall(0));
     });
+    it('invokes getLocation with error', async () => {
+      const client = new sqldatabasesserviceModule.v1.SqlDatabasesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new LocationProtos.google.cloud.location.GetLocationRequest(),
+      );
+      request.name = '';
+      const expectedHeaderRequestParams = 'name=';
+      const expectedOptions = {
+        otherArgs: {
+          headers: {
+            'x-goog-request-params': expectedHeaderRequestParams,
+          },
+        },
+      };
+      const expectedError = new Error('expected');
+      client.locationsClient.getLocation = stubSimpleCall(
+        undefined,
+        expectedError,
+      );
+      await assert.rejects(
+        client.getLocation(request, expectedOptions),
+        expectedError,
+      );
+      assert(
+        (client.locationsClient.getLocation as SinonStub)
+          .getCall(0)
+          .calledWith(request, expectedOptions, undefined),
+      );
+    });
+  });
+  describe('listLocationsAsync', () => {
+    it('uses async iteration with listLocations without error', async () => {
+      const client = new sqldatabasesserviceModule.v1.SqlDatabasesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new LocationProtos.google.cloud.location.ListLocationsRequest(),
+      );
+      request.name = '';
+      const expectedHeaderRequestParams = 'name=';
+      const expectedResponse = [
+        generateSampleMessage(
+          new LocationProtos.google.cloud.location.Location(),
+        ),
+        generateSampleMessage(
+          new LocationProtos.google.cloud.location.Location(),
+        ),
+        generateSampleMessage(
+          new LocationProtos.google.cloud.location.Location(),
+        ),
+      ];
+      client.locationsClient.descriptors.page.listLocations.asyncIterate =
+        stubAsyncIterationCall(expectedResponse);
+      const responses: LocationProtos.google.cloud.location.ILocation[] = [];
+      const iterable = client.listLocationsAsync(request);
+      for await (const resource of iterable) {
+        responses.push(resource!);
+      }
+      assert.deepStrictEqual(responses, expectedResponse);
+      assert.deepStrictEqual(
+        (
+          client.locationsClient.descriptors.page.listLocations
+            .asyncIterate as SinonStub
+        ).getCall(0).args[1],
+        request,
+      );
+      assert(
+        (
+          client.locationsClient.descriptors.page.listLocations
+            .asyncIterate as SinonStub
+        )
+          .getCall(0)
+          .args[2].otherArgs.headers['x-goog-request-params'].includes(
+            expectedHeaderRequestParams,
+          ),
+      );
+    });
+    it('uses async iteration with listLocations with error', async () => {
+      const client = new sqldatabasesserviceModule.v1.SqlDatabasesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new LocationProtos.google.cloud.location.ListLocationsRequest(),
+      );
+      request.name = '';
+      const expectedHeaderRequestParams = 'name=';
+      const expectedError = new Error('expected');
+      client.locationsClient.descriptors.page.listLocations.asyncIterate =
+        stubAsyncIterationCall(undefined, expectedError);
+      const iterable = client.listLocationsAsync(request);
+      await assert.rejects(async () => {
+        const responses: LocationProtos.google.cloud.location.ILocation[] = [];
+        for await (const resource of iterable) {
+          responses.push(resource!);
+        }
+      });
+      assert.deepStrictEqual(
+        (
+          client.locationsClient.descriptors.page.listLocations
+            .asyncIterate as SinonStub
+        ).getCall(0).args[1],
+        request,
+      );
+      assert(
+        (
+          client.locationsClient.descriptors.page.listLocations
+            .asyncIterate as SinonStub
+        )
+          .getCall(0)
+          .args[2].otherArgs.headers['x-goog-request-params'].includes(
+            expectedHeaderRequestParams,
+          ),
+      );
+    });
+  });
 
-    describe('Path templates', () => {
-
-        describe('backup', async () => {
-            const fakePath = "/rendered/path/backup";
-            const expectedParameters = {
-                project: "projectValue",
-                backup: "backupValue",
-            };
-            const client = new sqldatabasesserviceModule.v1.SqlDatabasesServiceClient({
-                credentials: {client_email: 'bogus', private_key: 'bogus'},
-                projectId: 'bogus',
-            });
-            await client.initialize();
-            client.pathTemplates.backupPathTemplate.render =
-                sinon.stub().returns(fakePath);
-            client.pathTemplates.backupPathTemplate.match =
-                sinon.stub().returns(expectedParameters);
+  describe('Path templates', () => {
+    describe('backup', async () => {
+      const fakePath = '/rendered/path/backup';
+      const expectedParameters = {
+        project: 'projectValue',
+        backup: 'backupValue',
+      };
+      const client = new sqldatabasesserviceModule.v1.SqlDatabasesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      client.pathTemplates.backupPathTemplate.render = sinon
+        .stub()
+        .returns(fakePath);
+      client.pathTemplates.backupPathTemplate.match = sinon
+        .stub()
+        .returns(expectedParameters);
 
-            it('backupPath', () => {
-                const result = client.backupPath("projectValue", "backupValue");
-                assert.strictEqual(result, fakePath);
-                assert((client.pathTemplates.backupPathTemplate.render as SinonStub)
-                    .getCall(-1).calledWith(expectedParameters));
-            });
+      it('backupPath', () => {
+        const result = client.backupPath('projectValue', 'backupValue');
+        assert.strictEqual(result, fakePath);
+        assert(
+          (client.pathTemplates.backupPathTemplate.render as SinonStub)
+            .getCall(-1)
+            .calledWith(expectedParameters),
+        );
+      });
 
-            it('matchProjectFromBackupName', () => {
-                const result = client.matchProjectFromBackupName(fakePath);
-                assert.strictEqual(result, "projectValue");
-                assert((client.pathTemplates.backupPathTemplate.match as SinonStub)
-                    .getCall(-1).calledWith(fakePath));
-            });
+      it('matchProjectFromBackupName', () => {
+        const result = client.matchProjectFromBackupName(fakePath);
+        assert.strictEqual(result, 'projectValue');
+        assert(
+          (client.pathTemplates.backupPathTemplate.match as SinonStub)
+            .getCall(-1)
+            .calledWith(fakePath),
+        );
+      });
 
-            it('matchBackupFromBackupName', () => {
-                const result = client.matchBackupFromBackupName(fakePath);
-                assert.strictEqual(result, "backupValue");
-                assert((client.pathTemplates.backupPathTemplate.match as SinonStub)
-                    .getCall(-1).calledWith(fakePath));
-            });
-        });
+      it('matchBackupFromBackupName', () => {
+        const result = client.matchBackupFromBackupName(fakePath);
+        assert.strictEqual(result, 'backupValue');
+        assert(
+          (client.pathTemplates.backupPathTemplate.match as SinonStub)
+            .getCall(-1)
+            .calledWith(fakePath),
+        );
+      });
     });
+  });
 });
diff --git a/packages/google-cloud-sql/test/gapic_sql_databases_service_v1beta4.ts b/packages/google-cloud-sql/test/gapic_sql_databases_service_v1beta4.ts
index 888634ab0244..3f9edfa33005 100644
--- a/packages/google-cloud-sql/test/gapic_sql_databases_service_v1beta4.ts
+++ b/packages/google-cloud-sql/test/gapic_sql_databases_service_v1beta4.ts
@@ -19,1221 +19,1557 @@
 import * as protos from '../protos/protos';
 import * as assert from 'assert';
 import * as sinon from 'sinon';
-import {SinonStub} from 'sinon';
-import {describe, it} from 'mocha';
+import { SinonStub } from 'sinon';
+import { describe, it } from 'mocha';
 import * as sqldatabasesserviceModule from '../src';
 
-import {protobuf, LocationProtos} from 'google-gax';
+import { protobuf, LocationProtos } from 'google-gax';
 
 // Dynamically loaded proto JSON is needed to get the type information
 // to fill in default values for request objects
-const root = protobuf.Root.fromJSON(require('../protos/protos.json')).resolveAll();
+const root = protobuf.Root.fromJSON(
+  require('../protos/protos.json'),
+).resolveAll();
 
 // eslint-disable-next-line @typescript-eslint/no-unused-vars
 function getTypeDefaultValue(typeName: string, fields: string[]) {
-    let type = root.lookupType(typeName) as protobuf.Type;
-    for (const field of fields.slice(0, -1)) {
-        type = type.fields[field]?.resolvedType as protobuf.Type;
-    }
-    return type.fields[fields[fields.length - 1]]?.defaultValue;
+  let type = root.lookupType(typeName) as protobuf.Type;
+  for (const field of fields.slice(0, -1)) {
+    type = type.fields[field]?.resolvedType as protobuf.Type;
+  }
+  return type.fields[fields[fields.length - 1]]?.defaultValue;
 }
 
 function generateSampleMessage<T extends object>(instance: T) {
-    const filledObject = (instance.constructor as typeof protobuf.Message)
-        .toObject(instance as protobuf.Message<T>, {defaults: true});
-    return (instance.constructor as typeof protobuf.Message).fromObject(filledObject) as T;
+  const filledObject = (
+    instance.constructor as typeof protobuf.Message
+  ).toObject(instance as protobuf.Message<T>, { defaults: true });
+  return (instance.constructor as typeof protobuf.Message).fromObject(
+    filledObject,
+  ) as T;
 }
 
 function stubSimpleCall<ResponseType>(response?: ResponseType, error?: Error) {
-    return error ? sinon.stub().rejects(error) : sinon.stub().resolves([response]);
+  return error
+    ? sinon.stub().rejects(error)
+    : sinon.stub().resolves([response]);
 }
 
-function stubSimpleCallWithCallback<ResponseType>(response?: ResponseType, error?: Error) {
-    return error ? sinon.stub().callsArgWith(2, error) : sinon.stub().callsArgWith(2, null, response);
+function stubSimpleCallWithCallback<ResponseType>(
+  response?: ResponseType,
+  error?: Error,
+) {
+  return error
+    ? sinon.stub().callsArgWith(2, error)
+    : sinon.stub().callsArgWith(2, null, response);
 }
 
-function stubAsyncIterationCall<ResponseType>(responses?: ResponseType[], error?: Error) {
-    let counter = 0;
-    const asyncIterable = {
-        [Symbol.asyncIterator]() {
-            return {
-                async next() {
-                    if (error) {
-                        return Promise.reject(error);
-                    }
-                    if (counter >= responses!.length) {
-                        return Promise.resolve({done: true, value: undefined});
-                    }
-                    return Promise.resolve({done: false, value: responses![counter++]});
-                }
-            };
-        }
-    };
-    return sinon.stub().returns(asyncIterable);
+function stubAsyncIterationCall<ResponseType>(
+  responses?: ResponseType[],
+  error?: Error,
+) {
+  let counter = 0;
+  const asyncIterable = {
+    [Symbol.asyncIterator]() {
+      return {
+        async next() {
+          if (error) {
+            return Promise.reject(error);
+          }
+          if (counter >= responses!.length) {
+            return Promise.resolve({ done: true, value: undefined });
+          }
+          return Promise.resolve({ done: false, value: responses![counter++] });
+        },
+      };
+    },
+  };
+  return sinon.stub().returns(asyncIterable);
 }
 
 describe('v1beta4.SqlDatabasesServiceClient', () => {
-    describe('Common methods', () => {
-        it('has apiEndpoint', () => {
-            const client = new sqldatabasesserviceModule.v1beta4.SqlDatabasesServiceClient();
-            const apiEndpoint = client.apiEndpoint;
-            assert.strictEqual(apiEndpoint, 'sqladmin.googleapis.com');
-        });
+  describe('Common methods', () => {
+    it('has apiEndpoint', () => {
+      const client =
+        new sqldatabasesserviceModule.v1beta4.SqlDatabasesServiceClient();
+      const apiEndpoint = client.apiEndpoint;
+      assert.strictEqual(apiEndpoint, 'sqladmin.googleapis.com');
+    });
 
-        it('has universeDomain', () => {
-            const client = new sqldatabasesserviceModule.v1beta4.SqlDatabasesServiceClient();
-            const universeDomain = client.universeDomain;
-            assert.strictEqual(universeDomain, "googleapis.com");
-        });
+    it('has universeDomain', () => {
+      const client =
+        new sqldatabasesserviceModule.v1beta4.SqlDatabasesServiceClient();
+      const universeDomain = client.universeDomain;
+      assert.strictEqual(universeDomain, 'googleapis.com');
+    });
 
-        if (typeof process === 'object' && typeof process.emitWarning === 'function') {
-            it('throws DeprecationWarning if static servicePath is used', () => {
-                const stub = sinon.stub(process, 'emitWarning');
-                const servicePath = sqldatabasesserviceModule.v1beta4.SqlDatabasesServiceClient.servicePath;
-                assert.strictEqual(servicePath, 'sqladmin.googleapis.com');
-                assert(stub.called);
-                stub.restore();
-            });
+    if (
+      typeof process === 'object' &&
+      typeof process.emitWarning === 'function'
+    ) {
+      it('throws DeprecationWarning if static servicePath is used', () => {
+        const stub = sinon.stub(process, 'emitWarning');
+        const servicePath =
+          sqldatabasesserviceModule.v1beta4.SqlDatabasesServiceClient
+            .servicePath;
+        assert.strictEqual(servicePath, 'sqladmin.googleapis.com');
+        assert(stub.called);
+        stub.restore();
+      });
 
-            it('throws DeprecationWarning if static apiEndpoint is used', () => {
-                const stub = sinon.stub(process, 'emitWarning');
-                const apiEndpoint = sqldatabasesserviceModule.v1beta4.SqlDatabasesServiceClient.apiEndpoint;
-                assert.strictEqual(apiEndpoint, 'sqladmin.googleapis.com');
-                assert(stub.called);
-                stub.restore();
-            });
-        }
-        it('sets apiEndpoint according to universe domain camelCase', () => {
-            const client = new sqldatabasesserviceModule.v1beta4.SqlDatabasesServiceClient({universeDomain: 'example.com'});
-            const servicePath = client.apiEndpoint;
-            assert.strictEqual(servicePath, 'sqladmin.example.com');
+      it('throws DeprecationWarning if static apiEndpoint is used', () => {
+        const stub = sinon.stub(process, 'emitWarning');
+        const apiEndpoint =
+          sqldatabasesserviceModule.v1beta4.SqlDatabasesServiceClient
+            .apiEndpoint;
+        assert.strictEqual(apiEndpoint, 'sqladmin.googleapis.com');
+        assert(stub.called);
+        stub.restore();
+      });
+    }
+    it('sets apiEndpoint according to universe domain camelCase', () => {
+      const client =
+        new sqldatabasesserviceModule.v1beta4.SqlDatabasesServiceClient({
+          universeDomain: 'example.com',
         });
+      const servicePath = client.apiEndpoint;
+      assert.strictEqual(servicePath, 'sqladmin.example.com');
+    });
 
-        it('sets apiEndpoint according to universe domain snakeCase', () => {
-            const client = new sqldatabasesserviceModule.v1beta4.SqlDatabasesServiceClient({universe_domain: 'example.com'});
-            const servicePath = client.apiEndpoint;
-            assert.strictEqual(servicePath, 'sqladmin.example.com');
+    it('sets apiEndpoint according to universe domain snakeCase', () => {
+      const client =
+        new sqldatabasesserviceModule.v1beta4.SqlDatabasesServiceClient({
+          universe_domain: 'example.com',
         });
+      const servicePath = client.apiEndpoint;
+      assert.strictEqual(servicePath, 'sqladmin.example.com');
+    });
 
-        if (typeof process === 'object' && 'env' in process) {
-            describe('GOOGLE_CLOUD_UNIVERSE_DOMAIN environment variable', () => {
-                it('sets apiEndpoint from environment variable', () => {
-                    const saved = process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
-                    process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = 'example.com';
-                    const client = new sqldatabasesserviceModule.v1beta4.SqlDatabasesServiceClient();
-                    const servicePath = client.apiEndpoint;
-                    assert.strictEqual(servicePath, 'sqladmin.example.com');
-                    if (saved) {
-                        process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = saved;
-                    } else {
-                        delete process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
-                    }
-                });
+    if (typeof process === 'object' && 'env' in process) {
+      describe('GOOGLE_CLOUD_UNIVERSE_DOMAIN environment variable', () => {
+        it('sets apiEndpoint from environment variable', () => {
+          const saved = process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
+          process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = 'example.com';
+          const client =
+            new sqldatabasesserviceModule.v1beta4.SqlDatabasesServiceClient();
+          const servicePath = client.apiEndpoint;
+          assert.strictEqual(servicePath, 'sqladmin.example.com');
+          if (saved) {
+            process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = saved;
+          } else {
+            delete process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
+          }
+        });
 
-                it('value configured in code has priority over environment variable', () => {
-                    const saved = process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
-                    process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = 'example.com';
-                    const client = new sqldatabasesserviceModule.v1beta4.SqlDatabasesServiceClient({universeDomain: 'configured.example.com'});
-                    const servicePath = client.apiEndpoint;
-                    assert.strictEqual(servicePath, 'sqladmin.configured.example.com');
-                    if (saved) {
-                        process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = saved;
-                    } else {
-                        delete process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
-                    }
-                });
+        it('value configured in code has priority over environment variable', () => {
+          const saved = process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
+          process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = 'example.com';
+          const client =
+            new sqldatabasesserviceModule.v1beta4.SqlDatabasesServiceClient({
+              universeDomain: 'configured.example.com',
             });
-        }
-        it('does not allow setting both universeDomain and universe_domain', () => {
-            assert.throws(() => { new sqldatabasesserviceModule.v1beta4.SqlDatabasesServiceClient({universe_domain: 'example.com', universeDomain: 'example.net'}); });
+          const servicePath = client.apiEndpoint;
+          assert.strictEqual(servicePath, 'sqladmin.configured.example.com');
+          if (saved) {
+            process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = saved;
+          } else {
+            delete process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
+          }
         });
-
-        it('has port', () => {
-            const port = sqldatabasesserviceModule.v1beta4.SqlDatabasesServiceClient.port;
-            assert(port);
-            assert(typeof port === 'number');
+      });
+    }
+    it('does not allow setting both universeDomain and universe_domain', () => {
+      assert.throws(() => {
+        new sqldatabasesserviceModule.v1beta4.SqlDatabasesServiceClient({
+          universe_domain: 'example.com',
+          universeDomain: 'example.net',
         });
+      });
+    });
 
-        it('should create a client with no option', () => {
-            const client = new sqldatabasesserviceModule.v1beta4.SqlDatabasesServiceClient();
-            assert(client);
-        });
+    it('has port', () => {
+      const port =
+        sqldatabasesserviceModule.v1beta4.SqlDatabasesServiceClient.port;
+      assert(port);
+      assert(typeof port === 'number');
+    });
 
-        it('should create a client with gRPC fallback', () => {
-            const client = new sqldatabasesserviceModule.v1beta4.SqlDatabasesServiceClient({
-                fallback: true,
-            });
-            assert(client);
+    it('should create a client with no option', () => {
+      const client =
+        new sqldatabasesserviceModule.v1beta4.SqlDatabasesServiceClient();
+      assert(client);
+    });
+
+    it('should create a client with gRPC fallback', () => {
+      const client =
+        new sqldatabasesserviceModule.v1beta4.SqlDatabasesServiceClient({
+          fallback: true,
         });
+      assert(client);
+    });
 
-        it('has initialize method and supports deferred initialization', async () => {
-            const client = new sqldatabasesserviceModule.v1beta4.SqlDatabasesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            assert.strictEqual(client.sqlDatabasesServiceStub, undefined);
-            await client.initialize();
-            assert(client.sqlDatabasesServiceStub);
+    it('has initialize method and supports deferred initialization', async () => {
+      const client =
+        new sqldatabasesserviceModule.v1beta4.SqlDatabasesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
         });
+      assert.strictEqual(client.sqlDatabasesServiceStub, undefined);
+      await client.initialize();
+      assert(client.sqlDatabasesServiceStub);
+    });
 
-        it('has close method for the initialized client', done => {
-            const client = new sqldatabasesserviceModule.v1beta4.SqlDatabasesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            client.initialize().catch(err => {throw err});
-            assert(client.sqlDatabasesServiceStub);
-            client.close().then(() => {
-                done();
-            }).catch(err => {throw err});
+    it('has close method for the initialized client', (done) => {
+      const client =
+        new sqldatabasesserviceModule.v1beta4.SqlDatabasesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
         });
+      client.initialize().catch((err) => {
+        throw err;
+      });
+      assert(client.sqlDatabasesServiceStub);
+      client
+        .close()
+        .then(() => {
+          done();
+        })
+        .catch((err) => {
+          throw err;
+        });
+    });
 
-        it('has close method for the non-initialized client', done => {
-            const client = new sqldatabasesserviceModule.v1beta4.SqlDatabasesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            assert.strictEqual(client.sqlDatabasesServiceStub, undefined);
-            client.close().then(() => {
-                done();
-            }).catch(err => {throw err});
+    it('has close method for the non-initialized client', (done) => {
+      const client =
+        new sqldatabasesserviceModule.v1beta4.SqlDatabasesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
         });
+      assert.strictEqual(client.sqlDatabasesServiceStub, undefined);
+      client
+        .close()
+        .then(() => {
+          done();
+        })
+        .catch((err) => {
+          throw err;
+        });
+    });
 
-        it('has getProjectId method', async () => {
-            const fakeProjectId = 'fake-project-id';
-            const client = new sqldatabasesserviceModule.v1beta4.SqlDatabasesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            client.auth.getProjectId = sinon.stub().resolves(fakeProjectId);
-            const result = await client.getProjectId();
-            assert.strictEqual(result, fakeProjectId);
-            assert((client.auth.getProjectId as SinonStub).calledWithExactly());
+    it('has getProjectId method', async () => {
+      const fakeProjectId = 'fake-project-id';
+      const client =
+        new sqldatabasesserviceModule.v1beta4.SqlDatabasesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
         });
+      client.auth.getProjectId = sinon.stub().resolves(fakeProjectId);
+      const result = await client.getProjectId();
+      assert.strictEqual(result, fakeProjectId);
+      assert((client.auth.getProjectId as SinonStub).calledWithExactly());
+    });
 
-        it('has getProjectId method with callback', async () => {
-            const fakeProjectId = 'fake-project-id';
-            const client = new sqldatabasesserviceModule.v1beta4.SqlDatabasesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            client.auth.getProjectId = sinon.stub().callsArgWith(0, null, fakeProjectId);
-            const promise = new Promise((resolve, reject) => {
-                client.getProjectId((err?: Error|null, projectId?: string|null) => {
-                    if (err) {
-                        reject(err);
-                    } else {
-                        resolve(projectId);
-                    }
-                });
-            });
-            const result = await promise;
-            assert.strictEqual(result, fakeProjectId);
+    it('has getProjectId method with callback', async () => {
+      const fakeProjectId = 'fake-project-id';
+      const client =
+        new sqldatabasesserviceModule.v1beta4.SqlDatabasesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      client.auth.getProjectId = sinon
+        .stub()
+        .callsArgWith(0, null, fakeProjectId);
+      const promise = new Promise((resolve, reject) => {
+        client.getProjectId((err?: Error | null, projectId?: string | null) => {
+          if (err) {
+            reject(err);
+          } else {
+            resolve(projectId);
+          }
         });
+      });
+      const result = await promise;
+      assert.strictEqual(result, fakeProjectId);
     });
+  });
 
-    describe('delete', () => {
-        it('invokes delete without error', async () => {
-            const client = new sqldatabasesserviceModule.v1beta4.SqlDatabasesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlDatabasesDeleteRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlDatabasesDeleteRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlDatabasesDeleteRequest', ['instance']);
-            request.instance = defaultValue2;
-            const defaultValue3 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlDatabasesDeleteRequest', ['database']);
-            request.database = defaultValue3;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }&database=${defaultValue3 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.Operation()
-            );
-            client.innerApiCalls.delete = stubSimpleCall(expectedResponse);
-            const [response] = await client.delete(request);
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.delete as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.delete as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+  describe('delete', () => {
+    it('invokes delete without error', async () => {
+      const client =
+        new sqldatabasesserviceModule.v1beta4.SqlDatabasesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
         });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlDatabasesDeleteRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlDatabasesDeleteRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlDatabasesDeleteRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const defaultValue3 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlDatabasesDeleteRequest',
+        ['database'],
+      );
+      request.database = defaultValue3;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}&database=${defaultValue3 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.Operation(),
+      );
+      client.innerApiCalls.delete = stubSimpleCall(expectedResponse);
+      const [response] = await client.delete(request);
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (client.innerApiCalls.delete as SinonStub).getCall(
+        0,
+      ).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.delete as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes delete without error using callback', async () => {
-            const client = new sqldatabasesserviceModule.v1beta4.SqlDatabasesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlDatabasesDeleteRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlDatabasesDeleteRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlDatabasesDeleteRequest', ['instance']);
-            request.instance = defaultValue2;
-            const defaultValue3 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlDatabasesDeleteRequest', ['database']);
-            request.database = defaultValue3;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }&database=${defaultValue3 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.Operation()
-            );
-            client.innerApiCalls.delete = stubSimpleCallWithCallback(expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.delete(
-                    request,
-                    (err?: Error|null, result?: protos.google.cloud.sql.v1beta4.IOperation|null) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.delete as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.delete as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    it('invokes delete without error using callback', async () => {
+      const client =
+        new sqldatabasesserviceModule.v1beta4.SqlDatabasesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
         });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlDatabasesDeleteRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlDatabasesDeleteRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlDatabasesDeleteRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const defaultValue3 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlDatabasesDeleteRequest',
+        ['database'],
+      );
+      request.database = defaultValue3;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}&database=${defaultValue3 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.Operation(),
+      );
+      client.innerApiCalls.delete =
+        stubSimpleCallWithCallback(expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.delete(
+          request,
+          (
+            err?: Error | null,
+            result?: protos.google.cloud.sql.v1beta4.IOperation | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
+            }
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (client.innerApiCalls.delete as SinonStub).getCall(
+        0,
+      ).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.delete as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes delete with error', async () => {
-            const client = new sqldatabasesserviceModule.v1beta4.SqlDatabasesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlDatabasesDeleteRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlDatabasesDeleteRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlDatabasesDeleteRequest', ['instance']);
-            request.instance = defaultValue2;
-            const defaultValue3 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlDatabasesDeleteRequest', ['database']);
-            request.database = defaultValue3;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }&database=${defaultValue3 ?? '' }`;
-            const expectedError = new Error('expected');
-            client.innerApiCalls.delete = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.delete(request), expectedError);
-            const actualRequest = (client.innerApiCalls.delete as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.delete as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    it('invokes delete with error', async () => {
+      const client =
+        new sqldatabasesserviceModule.v1beta4.SqlDatabasesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
         });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlDatabasesDeleteRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlDatabasesDeleteRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlDatabasesDeleteRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const defaultValue3 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlDatabasesDeleteRequest',
+        ['database'],
+      );
+      request.database = defaultValue3;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}&database=${defaultValue3 ?? ''}`;
+      const expectedError = new Error('expected');
+      client.innerApiCalls.delete = stubSimpleCall(undefined, expectedError);
+      await assert.rejects(client.delete(request), expectedError);
+      const actualRequest = (client.innerApiCalls.delete as SinonStub).getCall(
+        0,
+      ).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.delete as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes delete with closed client', async () => {
-            const client = new sqldatabasesserviceModule.v1beta4.SqlDatabasesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlDatabasesDeleteRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlDatabasesDeleteRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlDatabasesDeleteRequest', ['instance']);
-            request.instance = defaultValue2;
-            const defaultValue3 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlDatabasesDeleteRequest', ['database']);
-            request.database = defaultValue3;
-            const expectedError = new Error('The client has already been closed.');
-            client.close().catch(err => {throw err});
-            await assert.rejects(client.delete(request), expectedError);
+    it('invokes delete with closed client', async () => {
+      const client =
+        new sqldatabasesserviceModule.v1beta4.SqlDatabasesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
         });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlDatabasesDeleteRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlDatabasesDeleteRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlDatabasesDeleteRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const defaultValue3 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlDatabasesDeleteRequest',
+        ['database'],
+      );
+      request.database = defaultValue3;
+      const expectedError = new Error('The client has already been closed.');
+      client.close().catch((err) => {
+        throw err;
+      });
+      await assert.rejects(client.delete(request), expectedError);
     });
+  });
 
-    describe('get', () => {
-        it('invokes get without error', async () => {
-            const client = new sqldatabasesserviceModule.v1beta4.SqlDatabasesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlDatabasesGetRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlDatabasesGetRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlDatabasesGetRequest', ['instance']);
-            request.instance = defaultValue2;
-            const defaultValue3 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlDatabasesGetRequest', ['database']);
-            request.database = defaultValue3;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }&database=${defaultValue3 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.Database()
-            );
-            client.innerApiCalls.get = stubSimpleCall(expectedResponse);
-            const [response] = await client.get(request);
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.get as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.get as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+  describe('get', () => {
+    it('invokes get without error', async () => {
+      const client =
+        new sqldatabasesserviceModule.v1beta4.SqlDatabasesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
         });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlDatabasesGetRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlDatabasesGetRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlDatabasesGetRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const defaultValue3 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlDatabasesGetRequest',
+        ['database'],
+      );
+      request.database = defaultValue3;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}&database=${defaultValue3 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.Database(),
+      );
+      client.innerApiCalls.get = stubSimpleCall(expectedResponse);
+      const [response] = await client.get(request);
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (client.innerApiCalls.get as SinonStub).getCall(0)
+        .args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.get as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes get without error using callback', async () => {
-            const client = new sqldatabasesserviceModule.v1beta4.SqlDatabasesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlDatabasesGetRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlDatabasesGetRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlDatabasesGetRequest', ['instance']);
-            request.instance = defaultValue2;
-            const defaultValue3 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlDatabasesGetRequest', ['database']);
-            request.database = defaultValue3;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }&database=${defaultValue3 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.Database()
-            );
-            client.innerApiCalls.get = stubSimpleCallWithCallback(expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.get(
-                    request,
-                    (err?: Error|null, result?: protos.google.cloud.sql.v1beta4.IDatabase|null) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.get as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.get as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    it('invokes get without error using callback', async () => {
+      const client =
+        new sqldatabasesserviceModule.v1beta4.SqlDatabasesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
         });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlDatabasesGetRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlDatabasesGetRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlDatabasesGetRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const defaultValue3 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlDatabasesGetRequest',
+        ['database'],
+      );
+      request.database = defaultValue3;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}&database=${defaultValue3 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.Database(),
+      );
+      client.innerApiCalls.get = stubSimpleCallWithCallback(expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.get(
+          request,
+          (
+            err?: Error | null,
+            result?: protos.google.cloud.sql.v1beta4.IDatabase | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
+            }
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (client.innerApiCalls.get as SinonStub).getCall(0)
+        .args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.get as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes get with error', async () => {
-            const client = new sqldatabasesserviceModule.v1beta4.SqlDatabasesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlDatabasesGetRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlDatabasesGetRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlDatabasesGetRequest', ['instance']);
-            request.instance = defaultValue2;
-            const defaultValue3 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlDatabasesGetRequest', ['database']);
-            request.database = defaultValue3;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }&database=${defaultValue3 ?? '' }`;
-            const expectedError = new Error('expected');
-            client.innerApiCalls.get = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.get(request), expectedError);
-            const actualRequest = (client.innerApiCalls.get as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.get as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    it('invokes get with error', async () => {
+      const client =
+        new sqldatabasesserviceModule.v1beta4.SqlDatabasesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
         });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlDatabasesGetRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlDatabasesGetRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlDatabasesGetRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const defaultValue3 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlDatabasesGetRequest',
+        ['database'],
+      );
+      request.database = defaultValue3;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}&database=${defaultValue3 ?? ''}`;
+      const expectedError = new Error('expected');
+      client.innerApiCalls.get = stubSimpleCall(undefined, expectedError);
+      await assert.rejects(client.get(request), expectedError);
+      const actualRequest = (client.innerApiCalls.get as SinonStub).getCall(0)
+        .args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.get as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes get with closed client', async () => {
-            const client = new sqldatabasesserviceModule.v1beta4.SqlDatabasesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlDatabasesGetRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlDatabasesGetRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlDatabasesGetRequest', ['instance']);
-            request.instance = defaultValue2;
-            const defaultValue3 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlDatabasesGetRequest', ['database']);
-            request.database = defaultValue3;
-            const expectedError = new Error('The client has already been closed.');
-            client.close().catch(err => {throw err});
-            await assert.rejects(client.get(request), expectedError);
+    it('invokes get with closed client', async () => {
+      const client =
+        new sqldatabasesserviceModule.v1beta4.SqlDatabasesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
         });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlDatabasesGetRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlDatabasesGetRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlDatabasesGetRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const defaultValue3 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlDatabasesGetRequest',
+        ['database'],
+      );
+      request.database = defaultValue3;
+      const expectedError = new Error('The client has already been closed.');
+      client.close().catch((err) => {
+        throw err;
+      });
+      await assert.rejects(client.get(request), expectedError);
     });
+  });
 
-    describe('insert', () => {
-        it('invokes insert without error', async () => {
-            const client = new sqldatabasesserviceModule.v1beta4.SqlDatabasesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlDatabasesInsertRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlDatabasesInsertRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlDatabasesInsertRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.Operation()
-            );
-            client.innerApiCalls.insert = stubSimpleCall(expectedResponse);
-            const [response] = await client.insert(request);
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.insert as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.insert as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+  describe('insert', () => {
+    it('invokes insert without error', async () => {
+      const client =
+        new sqldatabasesserviceModule.v1beta4.SqlDatabasesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
         });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlDatabasesInsertRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlDatabasesInsertRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlDatabasesInsertRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.Operation(),
+      );
+      client.innerApiCalls.insert = stubSimpleCall(expectedResponse);
+      const [response] = await client.insert(request);
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (client.innerApiCalls.insert as SinonStub).getCall(
+        0,
+      ).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.insert as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes insert without error using callback', async () => {
-            const client = new sqldatabasesserviceModule.v1beta4.SqlDatabasesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlDatabasesInsertRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlDatabasesInsertRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlDatabasesInsertRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.Operation()
-            );
-            client.innerApiCalls.insert = stubSimpleCallWithCallback(expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.insert(
-                    request,
-                    (err?: Error|null, result?: protos.google.cloud.sql.v1beta4.IOperation|null) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.insert as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.insert as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    it('invokes insert without error using callback', async () => {
+      const client =
+        new sqldatabasesserviceModule.v1beta4.SqlDatabasesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
         });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlDatabasesInsertRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlDatabasesInsertRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlDatabasesInsertRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.Operation(),
+      );
+      client.innerApiCalls.insert =
+        stubSimpleCallWithCallback(expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.insert(
+          request,
+          (
+            err?: Error | null,
+            result?: protos.google.cloud.sql.v1beta4.IOperation | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
+            }
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (client.innerApiCalls.insert as SinonStub).getCall(
+        0,
+      ).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.insert as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes insert with error', async () => {
-            const client = new sqldatabasesserviceModule.v1beta4.SqlDatabasesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlDatabasesInsertRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlDatabasesInsertRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlDatabasesInsertRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedError = new Error('expected');
-            client.innerApiCalls.insert = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.insert(request), expectedError);
-            const actualRequest = (client.innerApiCalls.insert as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.insert as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    it('invokes insert with error', async () => {
+      const client =
+        new sqldatabasesserviceModule.v1beta4.SqlDatabasesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
         });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlDatabasesInsertRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlDatabasesInsertRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlDatabasesInsertRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedError = new Error('expected');
+      client.innerApiCalls.insert = stubSimpleCall(undefined, expectedError);
+      await assert.rejects(client.insert(request), expectedError);
+      const actualRequest = (client.innerApiCalls.insert as SinonStub).getCall(
+        0,
+      ).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.insert as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes insert with closed client', async () => {
-            const client = new sqldatabasesserviceModule.v1beta4.SqlDatabasesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlDatabasesInsertRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlDatabasesInsertRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlDatabasesInsertRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedError = new Error('The client has already been closed.');
-            client.close().catch(err => {throw err});
-            await assert.rejects(client.insert(request), expectedError);
+    it('invokes insert with closed client', async () => {
+      const client =
+        new sqldatabasesserviceModule.v1beta4.SqlDatabasesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
         });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlDatabasesInsertRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlDatabasesInsertRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlDatabasesInsertRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedError = new Error('The client has already been closed.');
+      client.close().catch((err) => {
+        throw err;
+      });
+      await assert.rejects(client.insert(request), expectedError);
     });
+  });
 
-    describe('list', () => {
-        it('invokes list without error', async () => {
-            const client = new sqldatabasesserviceModule.v1beta4.SqlDatabasesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlDatabasesListRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlDatabasesListRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlDatabasesListRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.DatabasesListResponse()
-            );
-            client.innerApiCalls.list = stubSimpleCall(expectedResponse);
-            const [response] = await client.list(request);
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.list as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.list as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+  describe('list', () => {
+    it('invokes list without error', async () => {
+      const client =
+        new sqldatabasesserviceModule.v1beta4.SqlDatabasesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
         });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlDatabasesListRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlDatabasesListRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlDatabasesListRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.DatabasesListResponse(),
+      );
+      client.innerApiCalls.list = stubSimpleCall(expectedResponse);
+      const [response] = await client.list(request);
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (client.innerApiCalls.list as SinonStub).getCall(0)
+        .args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.list as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes list without error using callback', async () => {
-            const client = new sqldatabasesserviceModule.v1beta4.SqlDatabasesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlDatabasesListRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlDatabasesListRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlDatabasesListRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.DatabasesListResponse()
-            );
-            client.innerApiCalls.list = stubSimpleCallWithCallback(expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.list(
-                    request,
-                    (err?: Error|null, result?: protos.google.cloud.sql.v1beta4.IDatabasesListResponse|null) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.list as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.list as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    it('invokes list without error using callback', async () => {
+      const client =
+        new sqldatabasesserviceModule.v1beta4.SqlDatabasesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
         });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlDatabasesListRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlDatabasesListRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlDatabasesListRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.DatabasesListResponse(),
+      );
+      client.innerApiCalls.list = stubSimpleCallWithCallback(expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.list(
+          request,
+          (
+            err?: Error | null,
+            result?: protos.google.cloud.sql.v1beta4.IDatabasesListResponse | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
+            }
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (client.innerApiCalls.list as SinonStub).getCall(0)
+        .args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.list as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes list with error', async () => {
-            const client = new sqldatabasesserviceModule.v1beta4.SqlDatabasesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlDatabasesListRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlDatabasesListRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlDatabasesListRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedError = new Error('expected');
-            client.innerApiCalls.list = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.list(request), expectedError);
-            const actualRequest = (client.innerApiCalls.list as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.list as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    it('invokes list with error', async () => {
+      const client =
+        new sqldatabasesserviceModule.v1beta4.SqlDatabasesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
         });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlDatabasesListRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlDatabasesListRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlDatabasesListRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedError = new Error('expected');
+      client.innerApiCalls.list = stubSimpleCall(undefined, expectedError);
+      await assert.rejects(client.list(request), expectedError);
+      const actualRequest = (client.innerApiCalls.list as SinonStub).getCall(0)
+        .args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.list as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes list with closed client', async () => {
-            const client = new sqldatabasesserviceModule.v1beta4.SqlDatabasesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlDatabasesListRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlDatabasesListRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlDatabasesListRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedError = new Error('The client has already been closed.');
-            client.close().catch(err => {throw err});
-            await assert.rejects(client.list(request), expectedError);
+    it('invokes list with closed client', async () => {
+      const client =
+        new sqldatabasesserviceModule.v1beta4.SqlDatabasesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
         });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlDatabasesListRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlDatabasesListRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlDatabasesListRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedError = new Error('The client has already been closed.');
+      client.close().catch((err) => {
+        throw err;
+      });
+      await assert.rejects(client.list(request), expectedError);
     });
+  });
 
-    describe('patch', () => {
-        it('invokes patch without error', async () => {
-            const client = new sqldatabasesserviceModule.v1beta4.SqlDatabasesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlDatabasesUpdateRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlDatabasesUpdateRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlDatabasesUpdateRequest', ['instance']);
-            request.instance = defaultValue2;
-            const defaultValue3 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlDatabasesUpdateRequest', ['database']);
-            request.database = defaultValue3;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }&database=${defaultValue3 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.Operation()
-            );
-            client.innerApiCalls.patch = stubSimpleCall(expectedResponse);
-            const [response] = await client.patch(request);
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.patch as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.patch as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+  describe('patch', () => {
+    it('invokes patch without error', async () => {
+      const client =
+        new sqldatabasesserviceModule.v1beta4.SqlDatabasesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
         });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlDatabasesUpdateRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlDatabasesUpdateRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlDatabasesUpdateRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const defaultValue3 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlDatabasesUpdateRequest',
+        ['database'],
+      );
+      request.database = defaultValue3;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}&database=${defaultValue3 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.Operation(),
+      );
+      client.innerApiCalls.patch = stubSimpleCall(expectedResponse);
+      const [response] = await client.patch(request);
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (client.innerApiCalls.patch as SinonStub).getCall(0)
+        .args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.patch as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes patch without error using callback', async () => {
-            const client = new sqldatabasesserviceModule.v1beta4.SqlDatabasesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlDatabasesUpdateRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlDatabasesUpdateRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlDatabasesUpdateRequest', ['instance']);
-            request.instance = defaultValue2;
-            const defaultValue3 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlDatabasesUpdateRequest', ['database']);
-            request.database = defaultValue3;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }&database=${defaultValue3 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.Operation()
-            );
-            client.innerApiCalls.patch = stubSimpleCallWithCallback(expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.patch(
-                    request,
-                    (err?: Error|null, result?: protos.google.cloud.sql.v1beta4.IOperation|null) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.patch as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.patch as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    it('invokes patch without error using callback', async () => {
+      const client =
+        new sqldatabasesserviceModule.v1beta4.SqlDatabasesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
         });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlDatabasesUpdateRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlDatabasesUpdateRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlDatabasesUpdateRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const defaultValue3 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlDatabasesUpdateRequest',
+        ['database'],
+      );
+      request.database = defaultValue3;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}&database=${defaultValue3 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.Operation(),
+      );
+      client.innerApiCalls.patch = stubSimpleCallWithCallback(expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.patch(
+          request,
+          (
+            err?: Error | null,
+            result?: protos.google.cloud.sql.v1beta4.IOperation | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
+            }
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (client.innerApiCalls.patch as SinonStub).getCall(0)
+        .args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.patch as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes patch with error', async () => {
-            const client = new sqldatabasesserviceModule.v1beta4.SqlDatabasesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlDatabasesUpdateRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlDatabasesUpdateRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlDatabasesUpdateRequest', ['instance']);
-            request.instance = defaultValue2;
-            const defaultValue3 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlDatabasesUpdateRequest', ['database']);
-            request.database = defaultValue3;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }&database=${defaultValue3 ?? '' }`;
-            const expectedError = new Error('expected');
-            client.innerApiCalls.patch = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.patch(request), expectedError);
-            const actualRequest = (client.innerApiCalls.patch as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.patch as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    it('invokes patch with error', async () => {
+      const client =
+        new sqldatabasesserviceModule.v1beta4.SqlDatabasesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
         });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlDatabasesUpdateRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlDatabasesUpdateRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlDatabasesUpdateRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const defaultValue3 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlDatabasesUpdateRequest',
+        ['database'],
+      );
+      request.database = defaultValue3;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}&database=${defaultValue3 ?? ''}`;
+      const expectedError = new Error('expected');
+      client.innerApiCalls.patch = stubSimpleCall(undefined, expectedError);
+      await assert.rejects(client.patch(request), expectedError);
+      const actualRequest = (client.innerApiCalls.patch as SinonStub).getCall(0)
+        .args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.patch as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes patch with closed client', async () => {
-            const client = new sqldatabasesserviceModule.v1beta4.SqlDatabasesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlDatabasesUpdateRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlDatabasesUpdateRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlDatabasesUpdateRequest', ['instance']);
-            request.instance = defaultValue2;
-            const defaultValue3 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlDatabasesUpdateRequest', ['database']);
-            request.database = defaultValue3;
-            const expectedError = new Error('The client has already been closed.');
-            client.close().catch(err => {throw err});
-            await assert.rejects(client.patch(request), expectedError);
+    it('invokes patch with closed client', async () => {
+      const client =
+        new sqldatabasesserviceModule.v1beta4.SqlDatabasesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
         });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlDatabasesUpdateRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlDatabasesUpdateRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlDatabasesUpdateRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const defaultValue3 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlDatabasesUpdateRequest',
+        ['database'],
+      );
+      request.database = defaultValue3;
+      const expectedError = new Error('The client has already been closed.');
+      client.close().catch((err) => {
+        throw err;
+      });
+      await assert.rejects(client.patch(request), expectedError);
     });
+  });
 
-    describe('update', () => {
-        it('invokes update without error', async () => {
-            const client = new sqldatabasesserviceModule.v1beta4.SqlDatabasesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlDatabasesUpdateRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlDatabasesUpdateRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlDatabasesUpdateRequest', ['instance']);
-            request.instance = defaultValue2;
-            const defaultValue3 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlDatabasesUpdateRequest', ['database']);
-            request.database = defaultValue3;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }&database=${defaultValue3 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.Operation()
-            );
-            client.innerApiCalls.update = stubSimpleCall(expectedResponse);
-            const [response] = await client.update(request);
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.update as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.update as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+  describe('update', () => {
+    it('invokes update without error', async () => {
+      const client =
+        new sqldatabasesserviceModule.v1beta4.SqlDatabasesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
         });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlDatabasesUpdateRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlDatabasesUpdateRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlDatabasesUpdateRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const defaultValue3 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlDatabasesUpdateRequest',
+        ['database'],
+      );
+      request.database = defaultValue3;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}&database=${defaultValue3 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.Operation(),
+      );
+      client.innerApiCalls.update = stubSimpleCall(expectedResponse);
+      const [response] = await client.update(request);
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (client.innerApiCalls.update as SinonStub).getCall(
+        0,
+      ).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.update as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes update without error using callback', async () => {
-            const client = new sqldatabasesserviceModule.v1beta4.SqlDatabasesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlDatabasesUpdateRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlDatabasesUpdateRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlDatabasesUpdateRequest', ['instance']);
-            request.instance = defaultValue2;
-            const defaultValue3 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlDatabasesUpdateRequest', ['database']);
-            request.database = defaultValue3;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }&database=${defaultValue3 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.Operation()
-            );
-            client.innerApiCalls.update = stubSimpleCallWithCallback(expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.update(
-                    request,
-                    (err?: Error|null, result?: protos.google.cloud.sql.v1beta4.IOperation|null) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.update as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.update as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    it('invokes update without error using callback', async () => {
+      const client =
+        new sqldatabasesserviceModule.v1beta4.SqlDatabasesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
         });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlDatabasesUpdateRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlDatabasesUpdateRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlDatabasesUpdateRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const defaultValue3 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlDatabasesUpdateRequest',
+        ['database'],
+      );
+      request.database = defaultValue3;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}&database=${defaultValue3 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.Operation(),
+      );
+      client.innerApiCalls.update =
+        stubSimpleCallWithCallback(expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.update(
+          request,
+          (
+            err?: Error | null,
+            result?: protos.google.cloud.sql.v1beta4.IOperation | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
+            }
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (client.innerApiCalls.update as SinonStub).getCall(
+        0,
+      ).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.update as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes update with error', async () => {
-            const client = new sqldatabasesserviceModule.v1beta4.SqlDatabasesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlDatabasesUpdateRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlDatabasesUpdateRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlDatabasesUpdateRequest', ['instance']);
-            request.instance = defaultValue2;
-            const defaultValue3 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlDatabasesUpdateRequest', ['database']);
-            request.database = defaultValue3;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }&database=${defaultValue3 ?? '' }`;
-            const expectedError = new Error('expected');
-            client.innerApiCalls.update = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.update(request), expectedError);
-            const actualRequest = (client.innerApiCalls.update as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.update as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    it('invokes update with error', async () => {
+      const client =
+        new sqldatabasesserviceModule.v1beta4.SqlDatabasesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
         });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlDatabasesUpdateRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlDatabasesUpdateRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlDatabasesUpdateRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const defaultValue3 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlDatabasesUpdateRequest',
+        ['database'],
+      );
+      request.database = defaultValue3;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}&database=${defaultValue3 ?? ''}`;
+      const expectedError = new Error('expected');
+      client.innerApiCalls.update = stubSimpleCall(undefined, expectedError);
+      await assert.rejects(client.update(request), expectedError);
+      const actualRequest = (client.innerApiCalls.update as SinonStub).getCall(
+        0,
+      ).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.update as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes update with closed client', async () => {
-            const client = new sqldatabasesserviceModule.v1beta4.SqlDatabasesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlDatabasesUpdateRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlDatabasesUpdateRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlDatabasesUpdateRequest', ['instance']);
-            request.instance = defaultValue2;
-            const defaultValue3 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlDatabasesUpdateRequest', ['database']);
-            request.database = defaultValue3;
-            const expectedError = new Error('The client has already been closed.');
-            client.close().catch(err => {throw err});
-            await assert.rejects(client.update(request), expectedError);
+    it('invokes update with closed client', async () => {
+      const client =
+        new sqldatabasesserviceModule.v1beta4.SqlDatabasesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
         });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlDatabasesUpdateRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlDatabasesUpdateRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlDatabasesUpdateRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const defaultValue3 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlDatabasesUpdateRequest',
+        ['database'],
+      );
+      request.database = defaultValue3;
+      const expectedError = new Error('The client has already been closed.');
+      client.close().catch((err) => {
+        throw err;
+      });
+      await assert.rejects(client.update(request), expectedError);
     });
-    describe('getLocation', () => {
-        it('invokes getLocation without error', async () => {
-            const client = new sqldatabasesserviceModule.v1beta4.SqlDatabasesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new LocationProtos.google.cloud.location.GetLocationRequest()
-            );
-            request.name = '';
-            const expectedHeaderRequestParams = 'name=';
-            const expectedOptions = {
-                otherArgs: {
-                    headers: {
-                        'x-goog-request-params': expectedHeaderRequestParams,
-                    },
-                },
-            };
-            const expectedResponse = generateSampleMessage(
-              new LocationProtos.google.cloud.location.Location()
-            );
-            client.locationsClient.getLocation = stubSimpleCall(expectedResponse);
-            const response = await client.getLocation(request, expectedOptions);
-            assert.deepStrictEqual(response, [expectedResponse]);
-            assert((client.locationsClient.getLocation as SinonStub)
-                .getCall(0).calledWith(request, expectedOptions, undefined));
+  });
+  describe('getLocation', () => {
+    it('invokes getLocation without error', async () => {
+      const client =
+        new sqldatabasesserviceModule.v1beta4.SqlDatabasesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
         });
-        it('invokes getLocation without error using callback', async () => {
-            const client = new sqldatabasesserviceModule.v1beta4.SqlDatabasesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new LocationProtos.google.cloud.location.GetLocationRequest()
-            );
-            request.name = '';
-            const expectedHeaderRequestParams = 'name=';
-            const expectedOptions = {
-                otherArgs: {
-                    headers: {
-                        'x-goog-request-params': expectedHeaderRequestParams,
-                    },
-                },
-            };
-            const expectedResponse = generateSampleMessage(
-              new LocationProtos.google.cloud.location.Location()
-            );
-            client.locationsClient.getLocation = sinon.stub().callsArgWith(2, null, expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.getLocation(
-                    request,
-                    expectedOptions,
-                    (
-                        err?: Error | null,
-                        result?: LocationProtos.google.cloud.location.ILocation | null
-                    ) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            assert((client.locationsClient.getLocation as SinonStub)
-                .getCall(0));
+      await client.initialize();
+      const request = generateSampleMessage(
+        new LocationProtos.google.cloud.location.GetLocationRequest(),
+      );
+      request.name = '';
+      const expectedHeaderRequestParams = 'name=';
+      const expectedOptions = {
+        otherArgs: {
+          headers: {
+            'x-goog-request-params': expectedHeaderRequestParams,
+          },
+        },
+      };
+      const expectedResponse = generateSampleMessage(
+        new LocationProtos.google.cloud.location.Location(),
+      );
+      client.locationsClient.getLocation = stubSimpleCall(expectedResponse);
+      const response = await client.getLocation(request, expectedOptions);
+      assert.deepStrictEqual(response, [expectedResponse]);
+      assert(
+        (client.locationsClient.getLocation as SinonStub)
+          .getCall(0)
+          .calledWith(request, expectedOptions, undefined),
+      );
+    });
+    it('invokes getLocation without error using callback', async () => {
+      const client =
+        new sqldatabasesserviceModule.v1beta4.SqlDatabasesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
         });
-        it('invokes getLocation with error', async () => {
-            const client = new sqldatabasesserviceModule.v1beta4.SqlDatabasesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new LocationProtos.google.cloud.location.GetLocationRequest()
-            );
-            request.name = '';
-            const expectedHeaderRequestParams = 'name=';
-            const expectedOptions = {
-                otherArgs: {
-                    headers: {
-                        'x-goog-request-params': expectedHeaderRequestParams,
-                    },
-                },
-            };
-            const expectedError = new Error('expected');
-            client.locationsClient.getLocation = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.getLocation(request, expectedOptions), expectedError);
-            assert((client.locationsClient.getLocation as SinonStub)
-                .getCall(0).calledWith(request, expectedOptions, undefined));
+      await client.initialize();
+      const request = generateSampleMessage(
+        new LocationProtos.google.cloud.location.GetLocationRequest(),
+      );
+      request.name = '';
+      const expectedHeaderRequestParams = 'name=';
+      const expectedOptions = {
+        otherArgs: {
+          headers: {
+            'x-goog-request-params': expectedHeaderRequestParams,
+          },
+        },
+      };
+      const expectedResponse = generateSampleMessage(
+        new LocationProtos.google.cloud.location.Location(),
+      );
+      client.locationsClient.getLocation = sinon
+        .stub()
+        .callsArgWith(2, null, expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.getLocation(
+          request,
+          expectedOptions,
+          (
+            err?: Error | null,
+            result?: LocationProtos.google.cloud.location.ILocation | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
+            }
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      assert((client.locationsClient.getLocation as SinonStub).getCall(0));
+    });
+    it('invokes getLocation with error', async () => {
+      const client =
+        new sqldatabasesserviceModule.v1beta4.SqlDatabasesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
         });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new LocationProtos.google.cloud.location.GetLocationRequest(),
+      );
+      request.name = '';
+      const expectedHeaderRequestParams = 'name=';
+      const expectedOptions = {
+        otherArgs: {
+          headers: {
+            'x-goog-request-params': expectedHeaderRequestParams,
+          },
+        },
+      };
+      const expectedError = new Error('expected');
+      client.locationsClient.getLocation = stubSimpleCall(
+        undefined,
+        expectedError,
+      );
+      await assert.rejects(
+        client.getLocation(request, expectedOptions),
+        expectedError,
+      );
+      assert(
+        (client.locationsClient.getLocation as SinonStub)
+          .getCall(0)
+          .calledWith(request, expectedOptions, undefined),
+      );
     });
-    describe('listLocationsAsync', () => {
-        it('uses async iteration with listLocations without error', async () => {
-            const client = new sqldatabasesserviceModule.v1beta4.SqlDatabasesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-                new LocationProtos.google.cloud.location.ListLocationsRequest()
-            );
-            request.name = '';
-            const expectedHeaderRequestParams = 'name=';
-            const expectedResponse = [
-                generateSampleMessage(
-                    new LocationProtos.google.cloud.location.Location()
-                ),
-                generateSampleMessage(
-                    new LocationProtos.google.cloud.location.Location()
-                ),
-                generateSampleMessage(
-                    new LocationProtos.google.cloud.location.Location()
-                ),
-            ];
-            client.locationsClient.descriptors.page.listLocations.asyncIterate = stubAsyncIterationCall(expectedResponse);
-            const responses: LocationProtos.google.cloud.location.ILocation[] = [];
-            const iterable = client.listLocationsAsync(request);
-            for await (const resource of iterable) {
-                responses.push(resource!);
-            }
-            assert.deepStrictEqual(responses, expectedResponse);
-            assert.deepStrictEqual(
-                (client.locationsClient.descriptors.page.listLocations.asyncIterate as SinonStub)
-                    .getCall(0).args[1], request);
-            assert(
-                (client.locationsClient.descriptors.page.listLocations.asyncIterate as SinonStub)
-                    .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes(
-                        expectedHeaderRequestParams
-                    )
-            );
+  });
+  describe('listLocationsAsync', () => {
+    it('uses async iteration with listLocations without error', async () => {
+      const client =
+        new sqldatabasesserviceModule.v1beta4.SqlDatabasesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
         });
-        it('uses async iteration with listLocations with error', async () => {
-            const client = new sqldatabasesserviceModule.v1beta4.SqlDatabasesServiceClient({
-                credentials: {client_email: 'bogus', private_key: 'bogus'},
-                projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new LocationProtos.google.cloud.location.ListLocationsRequest()
-            );
-            request.name = '';
-            const expectedHeaderRequestParams = 'name=';
-            const expectedError = new Error('expected');
-            client.locationsClient.descriptors.page.listLocations.asyncIterate = stubAsyncIterationCall(undefined, expectedError);
-            const iterable = client.listLocationsAsync(request);
-            await assert.rejects(async () => {
-                const responses: LocationProtos.google.cloud.location.ILocation[] = [];
-                for await (const resource of iterable) {
-                    responses.push(resource!);
-                }
-            });
-            assert.deepStrictEqual(
-                (client.locationsClient.descriptors.page.listLocations.asyncIterate as SinonStub)
-                    .getCall(0).args[1], request);
-            assert(
-                (client.locationsClient.descriptors.page.listLocations.asyncIterate as SinonStub)
-                    .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes(
-                        expectedHeaderRequestParams
-                    )
-            );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new LocationProtos.google.cloud.location.ListLocationsRequest(),
+      );
+      request.name = '';
+      const expectedHeaderRequestParams = 'name=';
+      const expectedResponse = [
+        generateSampleMessage(
+          new LocationProtos.google.cloud.location.Location(),
+        ),
+        generateSampleMessage(
+          new LocationProtos.google.cloud.location.Location(),
+        ),
+        generateSampleMessage(
+          new LocationProtos.google.cloud.location.Location(),
+        ),
+      ];
+      client.locationsClient.descriptors.page.listLocations.asyncIterate =
+        stubAsyncIterationCall(expectedResponse);
+      const responses: LocationProtos.google.cloud.location.ILocation[] = [];
+      const iterable = client.listLocationsAsync(request);
+      for await (const resource of iterable) {
+        responses.push(resource!);
+      }
+      assert.deepStrictEqual(responses, expectedResponse);
+      assert.deepStrictEqual(
+        (
+          client.locationsClient.descriptors.page.listLocations
+            .asyncIterate as SinonStub
+        ).getCall(0).args[1],
+        request,
+      );
+      assert(
+        (
+          client.locationsClient.descriptors.page.listLocations
+            .asyncIterate as SinonStub
+        )
+          .getCall(0)
+          .args[2].otherArgs.headers['x-goog-request-params'].includes(
+            expectedHeaderRequestParams,
+          ),
+      );
+    });
+    it('uses async iteration with listLocations with error', async () => {
+      const client =
+        new sqldatabasesserviceModule.v1beta4.SqlDatabasesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
         });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new LocationProtos.google.cloud.location.ListLocationsRequest(),
+      );
+      request.name = '';
+      const expectedHeaderRequestParams = 'name=';
+      const expectedError = new Error('expected');
+      client.locationsClient.descriptors.page.listLocations.asyncIterate =
+        stubAsyncIterationCall(undefined, expectedError);
+      const iterable = client.listLocationsAsync(request);
+      await assert.rejects(async () => {
+        const responses: LocationProtos.google.cloud.location.ILocation[] = [];
+        for await (const resource of iterable) {
+          responses.push(resource!);
+        }
+      });
+      assert.deepStrictEqual(
+        (
+          client.locationsClient.descriptors.page.listLocations
+            .asyncIterate as SinonStub
+        ).getCall(0).args[1],
+        request,
+      );
+      assert(
+        (
+          client.locationsClient.descriptors.page.listLocations
+            .asyncIterate as SinonStub
+        )
+          .getCall(0)
+          .args[2].otherArgs.headers['x-goog-request-params'].includes(
+            expectedHeaderRequestParams,
+          ),
+      );
     });
+  });
 
-    describe('Path templates', () => {
+  describe('Path templates', () => {
+    describe('backup', async () => {
+      const fakePath = '/rendered/path/backup';
+      const expectedParameters = {
+        project: 'projectValue',
+        backup: 'backupValue',
+      };
+      const client =
+        new sqldatabasesserviceModule.v1beta4.SqlDatabasesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      client.pathTemplates.backupPathTemplate.render = sinon
+        .stub()
+        .returns(fakePath);
+      client.pathTemplates.backupPathTemplate.match = sinon
+        .stub()
+        .returns(expectedParameters);
 
-        describe('backup', async () => {
-            const fakePath = "/rendered/path/backup";
-            const expectedParameters = {
-                project: "projectValue",
-                backup: "backupValue",
-            };
-            const client = new sqldatabasesserviceModule.v1beta4.SqlDatabasesServiceClient({
-                credentials: {client_email: 'bogus', private_key: 'bogus'},
-                projectId: 'bogus',
-            });
-            await client.initialize();
-            client.pathTemplates.backupPathTemplate.render =
-                sinon.stub().returns(fakePath);
-            client.pathTemplates.backupPathTemplate.match =
-                sinon.stub().returns(expectedParameters);
+      it('backupPath', () => {
+        const result = client.backupPath('projectValue', 'backupValue');
+        assert.strictEqual(result, fakePath);
+        assert(
+          (client.pathTemplates.backupPathTemplate.render as SinonStub)
+            .getCall(-1)
+            .calledWith(expectedParameters),
+        );
+      });
 
-            it('backupPath', () => {
-                const result = client.backupPath("projectValue", "backupValue");
-                assert.strictEqual(result, fakePath);
-                assert((client.pathTemplates.backupPathTemplate.render as SinonStub)
-                    .getCall(-1).calledWith(expectedParameters));
-            });
+      it('matchProjectFromBackupName', () => {
+        const result = client.matchProjectFromBackupName(fakePath);
+        assert.strictEqual(result, 'projectValue');
+        assert(
+          (client.pathTemplates.backupPathTemplate.match as SinonStub)
+            .getCall(-1)
+            .calledWith(fakePath),
+        );
+      });
 
-            it('matchProjectFromBackupName', () => {
-                const result = client.matchProjectFromBackupName(fakePath);
-                assert.strictEqual(result, "projectValue");
-                assert((client.pathTemplates.backupPathTemplate.match as SinonStub)
-                    .getCall(-1).calledWith(fakePath));
-            });
+      it('matchBackupFromBackupName', () => {
+        const result = client.matchBackupFromBackupName(fakePath);
+        assert.strictEqual(result, 'backupValue');
+        assert(
+          (client.pathTemplates.backupPathTemplate.match as SinonStub)
+            .getCall(-1)
+            .calledWith(fakePath),
+        );
+      });
+    });
 
-            it('matchBackupFromBackupName', () => {
-                const result = client.matchBackupFromBackupName(fakePath);
-                assert.strictEqual(result, "backupValue");
-                assert((client.pathTemplates.backupPathTemplate.match as SinonStub)
-                    .getCall(-1).calledWith(fakePath));
-            });
+    describe('project', async () => {
+      const fakePath = '/rendered/path/project';
+      const expectedParameters = {
+        project: 'projectValue',
+      };
+      const client =
+        new sqldatabasesserviceModule.v1beta4.SqlDatabasesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
         });
+      await client.initialize();
+      client.pathTemplates.projectPathTemplate.render = sinon
+        .stub()
+        .returns(fakePath);
+      client.pathTemplates.projectPathTemplate.match = sinon
+        .stub()
+        .returns(expectedParameters);
 
-        describe('project', async () => {
-            const fakePath = "/rendered/path/project";
-            const expectedParameters = {
-                project: "projectValue",
-            };
-            const client = new sqldatabasesserviceModule.v1beta4.SqlDatabasesServiceClient({
-                credentials: {client_email: 'bogus', private_key: 'bogus'},
-                projectId: 'bogus',
-            });
-            await client.initialize();
-            client.pathTemplates.projectPathTemplate.render =
-                sinon.stub().returns(fakePath);
-            client.pathTemplates.projectPathTemplate.match =
-                sinon.stub().returns(expectedParameters);
+      it('projectPath', () => {
+        const result = client.projectPath('projectValue');
+        assert.strictEqual(result, fakePath);
+        assert(
+          (client.pathTemplates.projectPathTemplate.render as SinonStub)
+            .getCall(-1)
+            .calledWith(expectedParameters),
+        );
+      });
 
-            it('projectPath', () => {
-                const result = client.projectPath("projectValue");
-                assert.strictEqual(result, fakePath);
-                assert((client.pathTemplates.projectPathTemplate.render as SinonStub)
-                    .getCall(-1).calledWith(expectedParameters));
-            });
-
-            it('matchProjectFromProjectName', () => {
-                const result = client.matchProjectFromProjectName(fakePath);
-                assert.strictEqual(result, "projectValue");
-                assert((client.pathTemplates.projectPathTemplate.match as SinonStub)
-                    .getCall(-1).calledWith(fakePath));
-            });
-        });
+      it('matchProjectFromProjectName', () => {
+        const result = client.matchProjectFromProjectName(fakePath);
+        assert.strictEqual(result, 'projectValue');
+        assert(
+          (client.pathTemplates.projectPathTemplate.match as SinonStub)
+            .getCall(-1)
+            .calledWith(fakePath),
+        );
+      });
     });
+  });
 });
diff --git a/packages/google-cloud-sql/test/gapic_sql_feature_eligibility_service_v1.ts b/packages/google-cloud-sql/test/gapic_sql_feature_eligibility_service_v1.ts
index 1b943f35d8e6..b8f469f7bc39 100644
--- a/packages/google-cloud-sql/test/gapic_sql_feature_eligibility_service_v1.ts
+++ b/packages/google-cloud-sql/test/gapic_sql_feature_eligibility_service_v1.ts
@@ -19,419 +19,547 @@
 import * as protos from '../protos/protos';
 import * as assert from 'assert';
 import * as sinon from 'sinon';
-import {SinonStub} from 'sinon';
-import {describe, it} from 'mocha';
+import { SinonStub } from 'sinon';
+import { describe, it } from 'mocha';
 import * as sqlfeatureeligibilityserviceModule from '../src';
 
-import {protobuf, LocationProtos} from 'google-gax';
+import { protobuf, LocationProtos } from 'google-gax';
 
 // Dynamically loaded proto JSON is needed to get the type information
 // to fill in default values for request objects
-const root = protobuf.Root.fromJSON(require('../protos/protos.json')).resolveAll();
+const root = protobuf.Root.fromJSON(
+  require('../protos/protos.json'),
+).resolveAll();
 
 // eslint-disable-next-line @typescript-eslint/no-unused-vars
 function getTypeDefaultValue(typeName: string, fields: string[]) {
-    let type = root.lookupType(typeName) as protobuf.Type;
-    for (const field of fields.slice(0, -1)) {
-        type = type.fields[field]?.resolvedType as protobuf.Type;
-    }
-    return type.fields[fields[fields.length - 1]]?.defaultValue;
+  let type = root.lookupType(typeName) as protobuf.Type;
+  for (const field of fields.slice(0, -1)) {
+    type = type.fields[field]?.resolvedType as protobuf.Type;
+  }
+  return type.fields[fields[fields.length - 1]]?.defaultValue;
 }
 
 function generateSampleMessage<T extends object>(instance: T) {
-    const filledObject = (instance.constructor as typeof protobuf.Message)
-        .toObject(instance as protobuf.Message<T>, {defaults: true});
-    return (instance.constructor as typeof protobuf.Message).fromObject(filledObject) as T;
+  const filledObject = (
+    instance.constructor as typeof protobuf.Message
+  ).toObject(instance as protobuf.Message<T>, { defaults: true });
+  return (instance.constructor as typeof protobuf.Message).fromObject(
+    filledObject,
+  ) as T;
 }
 
 function stubSimpleCall<ResponseType>(response?: ResponseType, error?: Error) {
-    return error ? sinon.stub().rejects(error) : sinon.stub().resolves([response]);
+  return error
+    ? sinon.stub().rejects(error)
+    : sinon.stub().resolves([response]);
 }
 
-function stubAsyncIterationCall<ResponseType>(responses?: ResponseType[], error?: Error) {
-    let counter = 0;
-    const asyncIterable = {
-        [Symbol.asyncIterator]() {
-            return {
-                async next() {
-                    if (error) {
-                        return Promise.reject(error);
-                    }
-                    if (counter >= responses!.length) {
-                        return Promise.resolve({done: true, value: undefined});
-                    }
-                    return Promise.resolve({done: false, value: responses![counter++]});
-                }
-            };
-        }
-    };
-    return sinon.stub().returns(asyncIterable);
+function stubAsyncIterationCall<ResponseType>(
+  responses?: ResponseType[],
+  error?: Error,
+) {
+  let counter = 0;
+  const asyncIterable = {
+    [Symbol.asyncIterator]() {
+      return {
+        async next() {
+          if (error) {
+            return Promise.reject(error);
+          }
+          if (counter >= responses!.length) {
+            return Promise.resolve({ done: true, value: undefined });
+          }
+          return Promise.resolve({ done: false, value: responses![counter++] });
+        },
+      };
+    },
+  };
+  return sinon.stub().returns(asyncIterable);
 }
 
 describe('v1.SqlFeatureEligibilityServiceClient', () => {
-    describe('Common methods', () => {
-        it('has apiEndpoint', () => {
-            const client = new sqlfeatureeligibilityserviceModule.v1.SqlFeatureEligibilityServiceClient();
-            const apiEndpoint = client.apiEndpoint;
-            assert.strictEqual(apiEndpoint, 'sqladmin.googleapis.com');
-        });
+  describe('Common methods', () => {
+    it('has apiEndpoint', () => {
+      const client =
+        new sqlfeatureeligibilityserviceModule.v1.SqlFeatureEligibilityServiceClient();
+      const apiEndpoint = client.apiEndpoint;
+      assert.strictEqual(apiEndpoint, 'sqladmin.googleapis.com');
+    });
 
-        it('has universeDomain', () => {
-            const client = new sqlfeatureeligibilityserviceModule.v1.SqlFeatureEligibilityServiceClient();
-            const universeDomain = client.universeDomain;
-            assert.strictEqual(universeDomain, "googleapis.com");
-        });
+    it('has universeDomain', () => {
+      const client =
+        new sqlfeatureeligibilityserviceModule.v1.SqlFeatureEligibilityServiceClient();
+      const universeDomain = client.universeDomain;
+      assert.strictEqual(universeDomain, 'googleapis.com');
+    });
 
-        if (typeof process === 'object' && typeof process.emitWarning === 'function') {
-            it('throws DeprecationWarning if static servicePath is used', () => {
-                const stub = sinon.stub(process, 'emitWarning');
-                const servicePath = sqlfeatureeligibilityserviceModule.v1.SqlFeatureEligibilityServiceClient.servicePath;
-                assert.strictEqual(servicePath, 'sqladmin.googleapis.com');
-                assert(stub.called);
-                stub.restore();
-            });
+    if (
+      typeof process === 'object' &&
+      typeof process.emitWarning === 'function'
+    ) {
+      it('throws DeprecationWarning if static servicePath is used', () => {
+        const stub = sinon.stub(process, 'emitWarning');
+        const servicePath =
+          sqlfeatureeligibilityserviceModule.v1
+            .SqlFeatureEligibilityServiceClient.servicePath;
+        assert.strictEqual(servicePath, 'sqladmin.googleapis.com');
+        assert(stub.called);
+        stub.restore();
+      });
 
-            it('throws DeprecationWarning if static apiEndpoint is used', () => {
-                const stub = sinon.stub(process, 'emitWarning');
-                const apiEndpoint = sqlfeatureeligibilityserviceModule.v1.SqlFeatureEligibilityServiceClient.apiEndpoint;
-                assert.strictEqual(apiEndpoint, 'sqladmin.googleapis.com');
-                assert(stub.called);
-                stub.restore();
-            });
-        }
-        it('sets apiEndpoint according to universe domain camelCase', () => {
-            const client = new sqlfeatureeligibilityserviceModule.v1.SqlFeatureEligibilityServiceClient({universeDomain: 'example.com'});
-            const servicePath = client.apiEndpoint;
-            assert.strictEqual(servicePath, 'sqladmin.example.com');
-        });
-
-        it('sets apiEndpoint according to universe domain snakeCase', () => {
-            const client = new sqlfeatureeligibilityserviceModule.v1.SqlFeatureEligibilityServiceClient({universe_domain: 'example.com'});
-            const servicePath = client.apiEndpoint;
-            assert.strictEqual(servicePath, 'sqladmin.example.com');
-        });
+      it('throws DeprecationWarning if static apiEndpoint is used', () => {
+        const stub = sinon.stub(process, 'emitWarning');
+        const apiEndpoint =
+          sqlfeatureeligibilityserviceModule.v1
+            .SqlFeatureEligibilityServiceClient.apiEndpoint;
+        assert.strictEqual(apiEndpoint, 'sqladmin.googleapis.com');
+        assert(stub.called);
+        stub.restore();
+      });
+    }
+    it('sets apiEndpoint according to universe domain camelCase', () => {
+      const client =
+        new sqlfeatureeligibilityserviceModule.v1.SqlFeatureEligibilityServiceClient(
+          { universeDomain: 'example.com' },
+        );
+      const servicePath = client.apiEndpoint;
+      assert.strictEqual(servicePath, 'sqladmin.example.com');
+    });
 
-        if (typeof process === 'object' && 'env' in process) {
-            describe('GOOGLE_CLOUD_UNIVERSE_DOMAIN environment variable', () => {
-                it('sets apiEndpoint from environment variable', () => {
-                    const saved = process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
-                    process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = 'example.com';
-                    const client = new sqlfeatureeligibilityserviceModule.v1.SqlFeatureEligibilityServiceClient();
-                    const servicePath = client.apiEndpoint;
-                    assert.strictEqual(servicePath, 'sqladmin.example.com');
-                    if (saved) {
-                        process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = saved;
-                    } else {
-                        delete process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
-                    }
-                });
+    it('sets apiEndpoint according to universe domain snakeCase', () => {
+      const client =
+        new sqlfeatureeligibilityserviceModule.v1.SqlFeatureEligibilityServiceClient(
+          { universe_domain: 'example.com' },
+        );
+      const servicePath = client.apiEndpoint;
+      assert.strictEqual(servicePath, 'sqladmin.example.com');
+    });
 
-                it('value configured in code has priority over environment variable', () => {
-                    const saved = process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
-                    process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = 'example.com';
-                    const client = new sqlfeatureeligibilityserviceModule.v1.SqlFeatureEligibilityServiceClient({universeDomain: 'configured.example.com'});
-                    const servicePath = client.apiEndpoint;
-                    assert.strictEqual(servicePath, 'sqladmin.configured.example.com');
-                    if (saved) {
-                        process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = saved;
-                    } else {
-                        delete process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
-                    }
-                });
-            });
-        }
-        it('does not allow setting both universeDomain and universe_domain', () => {
-            assert.throws(() => { new sqlfeatureeligibilityserviceModule.v1.SqlFeatureEligibilityServiceClient({universe_domain: 'example.com', universeDomain: 'example.net'}); });
+    if (typeof process === 'object' && 'env' in process) {
+      describe('GOOGLE_CLOUD_UNIVERSE_DOMAIN environment variable', () => {
+        it('sets apiEndpoint from environment variable', () => {
+          const saved = process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
+          process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = 'example.com';
+          const client =
+            new sqlfeatureeligibilityserviceModule.v1.SqlFeatureEligibilityServiceClient();
+          const servicePath = client.apiEndpoint;
+          assert.strictEqual(servicePath, 'sqladmin.example.com');
+          if (saved) {
+            process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = saved;
+          } else {
+            delete process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
+          }
         });
 
-        it('has port', () => {
-            const port = sqlfeatureeligibilityserviceModule.v1.SqlFeatureEligibilityServiceClient.port;
-            assert(port);
-            assert(typeof port === 'number');
+        it('value configured in code has priority over environment variable', () => {
+          const saved = process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
+          process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = 'example.com';
+          const client =
+            new sqlfeatureeligibilityserviceModule.v1.SqlFeatureEligibilityServiceClient(
+              { universeDomain: 'configured.example.com' },
+            );
+          const servicePath = client.apiEndpoint;
+          assert.strictEqual(servicePath, 'sqladmin.configured.example.com');
+          if (saved) {
+            process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = saved;
+          } else {
+            delete process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
+          }
         });
+      });
+    }
+    it('does not allow setting both universeDomain and universe_domain', () => {
+      assert.throws(() => {
+        new sqlfeatureeligibilityserviceModule.v1.SqlFeatureEligibilityServiceClient(
+          { universe_domain: 'example.com', universeDomain: 'example.net' },
+        );
+      });
+    });
 
-        it('should create a client with no option', () => {
-            const client = new sqlfeatureeligibilityserviceModule.v1.SqlFeatureEligibilityServiceClient();
-            assert(client);
-        });
+    it('has port', () => {
+      const port =
+        sqlfeatureeligibilityserviceModule.v1.SqlFeatureEligibilityServiceClient
+          .port;
+      assert(port);
+      assert(typeof port === 'number');
+    });
 
-        it('should create a client with gRPC fallback', () => {
-            const client = new sqlfeatureeligibilityserviceModule.v1.SqlFeatureEligibilityServiceClient({
-                fallback: true,
-            });
-            assert(client);
-        });
+    it('should create a client with no option', () => {
+      const client =
+        new sqlfeatureeligibilityserviceModule.v1.SqlFeatureEligibilityServiceClient();
+      assert(client);
+    });
 
-        it('has initialize method and supports deferred initialization', async () => {
-            const client = new sqlfeatureeligibilityserviceModule.v1.SqlFeatureEligibilityServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            assert.strictEqual(client.sqlFeatureEligibilityServiceStub, undefined);
-            await client.initialize();
-            assert(client.sqlFeatureEligibilityServiceStub);
-        });
+    it('should create a client with gRPC fallback', () => {
+      const client =
+        new sqlfeatureeligibilityserviceModule.v1.SqlFeatureEligibilityServiceClient(
+          {
+            fallback: true,
+          },
+        );
+      assert(client);
+    });
 
-        it('has close method for the initialized client', done => {
-            const client = new sqlfeatureeligibilityserviceModule.v1.SqlFeatureEligibilityServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            client.initialize().catch(err => {throw err});
-            assert(client.sqlFeatureEligibilityServiceStub);
-            client.close().then(() => {
-                done();
-            }).catch(err => {throw err});
-        });
+    it('has initialize method and supports deferred initialization', async () => {
+      const client =
+        new sqlfeatureeligibilityserviceModule.v1.SqlFeatureEligibilityServiceClient(
+          {
+            credentials: { client_email: 'bogus', private_key: 'bogus' },
+            projectId: 'bogus',
+          },
+        );
+      assert.strictEqual(client.sqlFeatureEligibilityServiceStub, undefined);
+      await client.initialize();
+      assert(client.sqlFeatureEligibilityServiceStub);
+    });
 
-        it('has close method for the non-initialized client', done => {
-            const client = new sqlfeatureeligibilityserviceModule.v1.SqlFeatureEligibilityServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            assert.strictEqual(client.sqlFeatureEligibilityServiceStub, undefined);
-            client.close().then(() => {
-                done();
-            }).catch(err => {throw err});
+    it('has close method for the initialized client', (done) => {
+      const client =
+        new sqlfeatureeligibilityserviceModule.v1.SqlFeatureEligibilityServiceClient(
+          {
+            credentials: { client_email: 'bogus', private_key: 'bogus' },
+            projectId: 'bogus',
+          },
+        );
+      client.initialize().catch((err) => {
+        throw err;
+      });
+      assert(client.sqlFeatureEligibilityServiceStub);
+      client
+        .close()
+        .then(() => {
+          done();
+        })
+        .catch((err) => {
+          throw err;
         });
+    });
 
-        it('has getProjectId method', async () => {
-            const fakeProjectId = 'fake-project-id';
-            const client = new sqlfeatureeligibilityserviceModule.v1.SqlFeatureEligibilityServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            client.auth.getProjectId = sinon.stub().resolves(fakeProjectId);
-            const result = await client.getProjectId();
-            assert.strictEqual(result, fakeProjectId);
-            assert((client.auth.getProjectId as SinonStub).calledWithExactly());
+    it('has close method for the non-initialized client', (done) => {
+      const client =
+        new sqlfeatureeligibilityserviceModule.v1.SqlFeatureEligibilityServiceClient(
+          {
+            credentials: { client_email: 'bogus', private_key: 'bogus' },
+            projectId: 'bogus',
+          },
+        );
+      assert.strictEqual(client.sqlFeatureEligibilityServiceStub, undefined);
+      client
+        .close()
+        .then(() => {
+          done();
+        })
+        .catch((err) => {
+          throw err;
         });
+    });
 
-        it('has getProjectId method with callback', async () => {
-            const fakeProjectId = 'fake-project-id';
-            const client = new sqlfeatureeligibilityserviceModule.v1.SqlFeatureEligibilityServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            client.auth.getProjectId = sinon.stub().callsArgWith(0, null, fakeProjectId);
-            const promise = new Promise((resolve, reject) => {
-                client.getProjectId((err?: Error|null, projectId?: string|null) => {
-                    if (err) {
-                        reject(err);
-                    } else {
-                        resolve(projectId);
-                    }
-                });
-            });
-            const result = await promise;
-            assert.strictEqual(result, fakeProjectId);
-        });
+    it('has getProjectId method', async () => {
+      const fakeProjectId = 'fake-project-id';
+      const client =
+        new sqlfeatureeligibilityserviceModule.v1.SqlFeatureEligibilityServiceClient(
+          {
+            credentials: { client_email: 'bogus', private_key: 'bogus' },
+            projectId: 'bogus',
+          },
+        );
+      client.auth.getProjectId = sinon.stub().resolves(fakeProjectId);
+      const result = await client.getProjectId();
+      assert.strictEqual(result, fakeProjectId);
+      assert((client.auth.getProjectId as SinonStub).calledWithExactly());
     });
-    describe('getLocation', () => {
-        it('invokes getLocation without error', async () => {
-            const client = new sqlfeatureeligibilityserviceModule.v1.SqlFeatureEligibilityServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new LocationProtos.google.cloud.location.GetLocationRequest()
-            );
-            request.name = '';
-            const expectedHeaderRequestParams = 'name=';
-            const expectedOptions = {
-                otherArgs: {
-                    headers: {
-                        'x-goog-request-params': expectedHeaderRequestParams,
-                    },
-                },
-            };
-            const expectedResponse = generateSampleMessage(
-              new LocationProtos.google.cloud.location.Location()
-            );
-            client.locationsClient.getLocation = stubSimpleCall(expectedResponse);
-            const response = await client.getLocation(request, expectedOptions);
-            assert.deepStrictEqual(response, [expectedResponse]);
-            assert((client.locationsClient.getLocation as SinonStub)
-                .getCall(0).calledWith(request, expectedOptions, undefined));
-        });
-        it('invokes getLocation without error using callback', async () => {
-            const client = new sqlfeatureeligibilityserviceModule.v1.SqlFeatureEligibilityServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new LocationProtos.google.cloud.location.GetLocationRequest()
-            );
-            request.name = '';
-            const expectedHeaderRequestParams = 'name=';
-            const expectedOptions = {
-                otherArgs: {
-                    headers: {
-                        'x-goog-request-params': expectedHeaderRequestParams,
-                    },
-                },
-            };
-            const expectedResponse = generateSampleMessage(
-              new LocationProtos.google.cloud.location.Location()
-            );
-            client.locationsClient.getLocation = sinon.stub().callsArgWith(2, null, expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.getLocation(
-                    request,
-                    expectedOptions,
-                    (
-                        err?: Error | null,
-                        result?: LocationProtos.google.cloud.location.ILocation | null
-                    ) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            assert((client.locationsClient.getLocation as SinonStub)
-                .getCall(0));
-        });
-        it('invokes getLocation with error', async () => {
-            const client = new sqlfeatureeligibilityserviceModule.v1.SqlFeatureEligibilityServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new LocationProtos.google.cloud.location.GetLocationRequest()
-            );
-            request.name = '';
-            const expectedHeaderRequestParams = 'name=';
-            const expectedOptions = {
-                otherArgs: {
-                    headers: {
-                        'x-goog-request-params': expectedHeaderRequestParams,
-                    },
-                },
-            };
-            const expectedError = new Error('expected');
-            client.locationsClient.getLocation = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.getLocation(request, expectedOptions), expectedError);
-            assert((client.locationsClient.getLocation as SinonStub)
-                .getCall(0).calledWith(request, expectedOptions, undefined));
+
+    it('has getProjectId method with callback', async () => {
+      const fakeProjectId = 'fake-project-id';
+      const client =
+        new sqlfeatureeligibilityserviceModule.v1.SqlFeatureEligibilityServiceClient(
+          {
+            credentials: { client_email: 'bogus', private_key: 'bogus' },
+            projectId: 'bogus',
+          },
+        );
+      client.auth.getProjectId = sinon
+        .stub()
+        .callsArgWith(0, null, fakeProjectId);
+      const promise = new Promise((resolve, reject) => {
+        client.getProjectId((err?: Error | null, projectId?: string | null) => {
+          if (err) {
+            reject(err);
+          } else {
+            resolve(projectId);
+          }
         });
+      });
+      const result = await promise;
+      assert.strictEqual(result, fakeProjectId);
     });
-    describe('listLocationsAsync', () => {
-        it('uses async iteration with listLocations without error', async () => {
-            const client = new sqlfeatureeligibilityserviceModule.v1.SqlFeatureEligibilityServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-                new LocationProtos.google.cloud.location.ListLocationsRequest()
-            );
-            request.name = '';
-            const expectedHeaderRequestParams = 'name=';
-            const expectedResponse = [
-                generateSampleMessage(
-                    new LocationProtos.google.cloud.location.Location()
-                ),
-                generateSampleMessage(
-                    new LocationProtos.google.cloud.location.Location()
-                ),
-                generateSampleMessage(
-                    new LocationProtos.google.cloud.location.Location()
-                ),
-            ];
-            client.locationsClient.descriptors.page.listLocations.asyncIterate = stubAsyncIterationCall(expectedResponse);
-            const responses: LocationProtos.google.cloud.location.ILocation[] = [];
-            const iterable = client.listLocationsAsync(request);
-            for await (const resource of iterable) {
-                responses.push(resource!);
+  });
+  describe('getLocation', () => {
+    it('invokes getLocation without error', async () => {
+      const client =
+        new sqlfeatureeligibilityserviceModule.v1.SqlFeatureEligibilityServiceClient(
+          {
+            credentials: { client_email: 'bogus', private_key: 'bogus' },
+            projectId: 'bogus',
+          },
+        );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new LocationProtos.google.cloud.location.GetLocationRequest(),
+      );
+      request.name = '';
+      const expectedHeaderRequestParams = 'name=';
+      const expectedOptions = {
+        otherArgs: {
+          headers: {
+            'x-goog-request-params': expectedHeaderRequestParams,
+          },
+        },
+      };
+      const expectedResponse = generateSampleMessage(
+        new LocationProtos.google.cloud.location.Location(),
+      );
+      client.locationsClient.getLocation = stubSimpleCall(expectedResponse);
+      const response = await client.getLocation(request, expectedOptions);
+      assert.deepStrictEqual(response, [expectedResponse]);
+      assert(
+        (client.locationsClient.getLocation as SinonStub)
+          .getCall(0)
+          .calledWith(request, expectedOptions, undefined),
+      );
+    });
+    it('invokes getLocation without error using callback', async () => {
+      const client =
+        new sqlfeatureeligibilityserviceModule.v1.SqlFeatureEligibilityServiceClient(
+          {
+            credentials: { client_email: 'bogus', private_key: 'bogus' },
+            projectId: 'bogus',
+          },
+        );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new LocationProtos.google.cloud.location.GetLocationRequest(),
+      );
+      request.name = '';
+      const expectedHeaderRequestParams = 'name=';
+      const expectedOptions = {
+        otherArgs: {
+          headers: {
+            'x-goog-request-params': expectedHeaderRequestParams,
+          },
+        },
+      };
+      const expectedResponse = generateSampleMessage(
+        new LocationProtos.google.cloud.location.Location(),
+      );
+      client.locationsClient.getLocation = sinon
+        .stub()
+        .callsArgWith(2, null, expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.getLocation(
+          request,
+          expectedOptions,
+          (
+            err?: Error | null,
+            result?: LocationProtos.google.cloud.location.ILocation | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
             }
-            assert.deepStrictEqual(responses, expectedResponse);
-            assert.deepStrictEqual(
-                (client.locationsClient.descriptors.page.listLocations.asyncIterate as SinonStub)
-                    .getCall(0).args[1], request);
-            assert(
-                (client.locationsClient.descriptors.page.listLocations.asyncIterate as SinonStub)
-                    .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes(
-                        expectedHeaderRequestParams
-                    )
-            );
-        });
-        it('uses async iteration with listLocations with error', async () => {
-            const client = new sqlfeatureeligibilityserviceModule.v1.SqlFeatureEligibilityServiceClient({
-                credentials: {client_email: 'bogus', private_key: 'bogus'},
-                projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new LocationProtos.google.cloud.location.ListLocationsRequest()
-            );
-            request.name = '';
-            const expectedHeaderRequestParams = 'name=';
-            const expectedError = new Error('expected');
-            client.locationsClient.descriptors.page.listLocations.asyncIterate = stubAsyncIterationCall(undefined, expectedError);
-            const iterable = client.listLocationsAsync(request);
-            await assert.rejects(async () => {
-                const responses: LocationProtos.google.cloud.location.ILocation[] = [];
-                for await (const resource of iterable) {
-                    responses.push(resource!);
-                }
-            });
-            assert.deepStrictEqual(
-                (client.locationsClient.descriptors.page.listLocations.asyncIterate as SinonStub)
-                    .getCall(0).args[1], request);
-            assert(
-                (client.locationsClient.descriptors.page.listLocations.asyncIterate as SinonStub)
-                    .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes(
-                        expectedHeaderRequestParams
-                    )
-            );
-        });
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      assert((client.locationsClient.getLocation as SinonStub).getCall(0));
     });
+    it('invokes getLocation with error', async () => {
+      const client =
+        new sqlfeatureeligibilityserviceModule.v1.SqlFeatureEligibilityServiceClient(
+          {
+            credentials: { client_email: 'bogus', private_key: 'bogus' },
+            projectId: 'bogus',
+          },
+        );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new LocationProtos.google.cloud.location.GetLocationRequest(),
+      );
+      request.name = '';
+      const expectedHeaderRequestParams = 'name=';
+      const expectedOptions = {
+        otherArgs: {
+          headers: {
+            'x-goog-request-params': expectedHeaderRequestParams,
+          },
+        },
+      };
+      const expectedError = new Error('expected');
+      client.locationsClient.getLocation = stubSimpleCall(
+        undefined,
+        expectedError,
+      );
+      await assert.rejects(
+        client.getLocation(request, expectedOptions),
+        expectedError,
+      );
+      assert(
+        (client.locationsClient.getLocation as SinonStub)
+          .getCall(0)
+          .calledWith(request, expectedOptions, undefined),
+      );
+    });
+  });
+  describe('listLocationsAsync', () => {
+    it('uses async iteration with listLocations without error', async () => {
+      const client =
+        new sqlfeatureeligibilityserviceModule.v1.SqlFeatureEligibilityServiceClient(
+          {
+            credentials: { client_email: 'bogus', private_key: 'bogus' },
+            projectId: 'bogus',
+          },
+        );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new LocationProtos.google.cloud.location.ListLocationsRequest(),
+      );
+      request.name = '';
+      const expectedHeaderRequestParams = 'name=';
+      const expectedResponse = [
+        generateSampleMessage(
+          new LocationProtos.google.cloud.location.Location(),
+        ),
+        generateSampleMessage(
+          new LocationProtos.google.cloud.location.Location(),
+        ),
+        generateSampleMessage(
+          new LocationProtos.google.cloud.location.Location(),
+        ),
+      ];
+      client.locationsClient.descriptors.page.listLocations.asyncIterate =
+        stubAsyncIterationCall(expectedResponse);
+      const responses: LocationProtos.google.cloud.location.ILocation[] = [];
+      const iterable = client.listLocationsAsync(request);
+      for await (const resource of iterable) {
+        responses.push(resource!);
+      }
+      assert.deepStrictEqual(responses, expectedResponse);
+      assert.deepStrictEqual(
+        (
+          client.locationsClient.descriptors.page.listLocations
+            .asyncIterate as SinonStub
+        ).getCall(0).args[1],
+        request,
+      );
+      assert(
+        (
+          client.locationsClient.descriptors.page.listLocations
+            .asyncIterate as SinonStub
+        )
+          .getCall(0)
+          .args[2].otherArgs.headers['x-goog-request-params'].includes(
+            expectedHeaderRequestParams,
+          ),
+      );
+    });
+    it('uses async iteration with listLocations with error', async () => {
+      const client =
+        new sqlfeatureeligibilityserviceModule.v1.SqlFeatureEligibilityServiceClient(
+          {
+            credentials: { client_email: 'bogus', private_key: 'bogus' },
+            projectId: 'bogus',
+          },
+        );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new LocationProtos.google.cloud.location.ListLocationsRequest(),
+      );
+      request.name = '';
+      const expectedHeaderRequestParams = 'name=';
+      const expectedError = new Error('expected');
+      client.locationsClient.descriptors.page.listLocations.asyncIterate =
+        stubAsyncIterationCall(undefined, expectedError);
+      const iterable = client.listLocationsAsync(request);
+      await assert.rejects(async () => {
+        const responses: LocationProtos.google.cloud.location.ILocation[] = [];
+        for await (const resource of iterable) {
+          responses.push(resource!);
+        }
+      });
+      assert.deepStrictEqual(
+        (
+          client.locationsClient.descriptors.page.listLocations
+            .asyncIterate as SinonStub
+        ).getCall(0).args[1],
+        request,
+      );
+      assert(
+        (
+          client.locationsClient.descriptors.page.listLocations
+            .asyncIterate as SinonStub
+        )
+          .getCall(0)
+          .args[2].otherArgs.headers['x-goog-request-params'].includes(
+            expectedHeaderRequestParams,
+          ),
+      );
+    });
+  });
 
-    describe('Path templates', () => {
-
-        describe('backup', async () => {
-            const fakePath = "/rendered/path/backup";
-            const expectedParameters = {
-                project: "projectValue",
-                backup: "backupValue",
-            };
-            const client = new sqlfeatureeligibilityserviceModule.v1.SqlFeatureEligibilityServiceClient({
-                credentials: {client_email: 'bogus', private_key: 'bogus'},
-                projectId: 'bogus',
-            });
-            await client.initialize();
-            client.pathTemplates.backupPathTemplate.render =
-                sinon.stub().returns(fakePath);
-            client.pathTemplates.backupPathTemplate.match =
-                sinon.stub().returns(expectedParameters);
+  describe('Path templates', () => {
+    describe('backup', async () => {
+      const fakePath = '/rendered/path/backup';
+      const expectedParameters = {
+        project: 'projectValue',
+        backup: 'backupValue',
+      };
+      const client =
+        new sqlfeatureeligibilityserviceModule.v1.SqlFeatureEligibilityServiceClient(
+          {
+            credentials: { client_email: 'bogus', private_key: 'bogus' },
+            projectId: 'bogus',
+          },
+        );
+      await client.initialize();
+      client.pathTemplates.backupPathTemplate.render = sinon
+        .stub()
+        .returns(fakePath);
+      client.pathTemplates.backupPathTemplate.match = sinon
+        .stub()
+        .returns(expectedParameters);
 
-            it('backupPath', () => {
-                const result = client.backupPath("projectValue", "backupValue");
-                assert.strictEqual(result, fakePath);
-                assert((client.pathTemplates.backupPathTemplate.render as SinonStub)
-                    .getCall(-1).calledWith(expectedParameters));
-            });
+      it('backupPath', () => {
+        const result = client.backupPath('projectValue', 'backupValue');
+        assert.strictEqual(result, fakePath);
+        assert(
+          (client.pathTemplates.backupPathTemplate.render as SinonStub)
+            .getCall(-1)
+            .calledWith(expectedParameters),
+        );
+      });
 
-            it('matchProjectFromBackupName', () => {
-                const result = client.matchProjectFromBackupName(fakePath);
-                assert.strictEqual(result, "projectValue");
-                assert((client.pathTemplates.backupPathTemplate.match as SinonStub)
-                    .getCall(-1).calledWith(fakePath));
-            });
+      it('matchProjectFromBackupName', () => {
+        const result = client.matchProjectFromBackupName(fakePath);
+        assert.strictEqual(result, 'projectValue');
+        assert(
+          (client.pathTemplates.backupPathTemplate.match as SinonStub)
+            .getCall(-1)
+            .calledWith(fakePath),
+        );
+      });
 
-            it('matchBackupFromBackupName', () => {
-                const result = client.matchBackupFromBackupName(fakePath);
-                assert.strictEqual(result, "backupValue");
-                assert((client.pathTemplates.backupPathTemplate.match as SinonStub)
-                    .getCall(-1).calledWith(fakePath));
-            });
-        });
+      it('matchBackupFromBackupName', () => {
+        const result = client.matchBackupFromBackupName(fakePath);
+        assert.strictEqual(result, 'backupValue');
+        assert(
+          (client.pathTemplates.backupPathTemplate.match as SinonStub)
+            .getCall(-1)
+            .calledWith(fakePath),
+        );
+      });
     });
+  });
 });
diff --git a/packages/google-cloud-sql/test/gapic_sql_flags_service_v1.ts b/packages/google-cloud-sql/test/gapic_sql_flags_service_v1.ts
index be1385ccd329..09b5fbd0667f 100644
--- a/packages/google-cloud-sql/test/gapic_sql_flags_service_v1.ts
+++ b/packages/google-cloud-sql/test/gapic_sql_flags_service_v1.ts
@@ -19,498 +19,591 @@
 import * as protos from '../protos/protos';
 import * as assert from 'assert';
 import * as sinon from 'sinon';
-import {SinonStub} from 'sinon';
-import {describe, it} from 'mocha';
+import { SinonStub } from 'sinon';
+import { describe, it } from 'mocha';
 import * as sqlflagsserviceModule from '../src';
 
-import {protobuf, LocationProtos} from 'google-gax';
+import { protobuf, LocationProtos } from 'google-gax';
 
 // Dynamically loaded proto JSON is needed to get the type information
 // to fill in default values for request objects
-const root = protobuf.Root.fromJSON(require('../protos/protos.json')).resolveAll();
+const root = protobuf.Root.fromJSON(
+  require('../protos/protos.json'),
+).resolveAll();
 
 // eslint-disable-next-line @typescript-eslint/no-unused-vars
 function getTypeDefaultValue(typeName: string, fields: string[]) {
-    let type = root.lookupType(typeName) as protobuf.Type;
-    for (const field of fields.slice(0, -1)) {
-        type = type.fields[field]?.resolvedType as protobuf.Type;
-    }
-    return type.fields[fields[fields.length - 1]]?.defaultValue;
+  let type = root.lookupType(typeName) as protobuf.Type;
+  for (const field of fields.slice(0, -1)) {
+    type = type.fields[field]?.resolvedType as protobuf.Type;
+  }
+  return type.fields[fields[fields.length - 1]]?.defaultValue;
 }
 
 function generateSampleMessage<T extends object>(instance: T) {
-    const filledObject = (instance.constructor as typeof protobuf.Message)
-        .toObject(instance as protobuf.Message<T>, {defaults: true});
-    return (instance.constructor as typeof protobuf.Message).fromObject(filledObject) as T;
+  const filledObject = (
+    instance.constructor as typeof protobuf.Message
+  ).toObject(instance as protobuf.Message<T>, { defaults: true });
+  return (instance.constructor as typeof protobuf.Message).fromObject(
+    filledObject,
+  ) as T;
 }
 
 function stubSimpleCall<ResponseType>(response?: ResponseType, error?: Error) {
-    return error ? sinon.stub().rejects(error) : sinon.stub().resolves([response]);
+  return error
+    ? sinon.stub().rejects(error)
+    : sinon.stub().resolves([response]);
 }
 
-function stubSimpleCallWithCallback<ResponseType>(response?: ResponseType, error?: Error) {
-    return error ? sinon.stub().callsArgWith(2, error) : sinon.stub().callsArgWith(2, null, response);
+function stubSimpleCallWithCallback<ResponseType>(
+  response?: ResponseType,
+  error?: Error,
+) {
+  return error
+    ? sinon.stub().callsArgWith(2, error)
+    : sinon.stub().callsArgWith(2, null, response);
 }
 
-function stubAsyncIterationCall<ResponseType>(responses?: ResponseType[], error?: Error) {
-    let counter = 0;
-    const asyncIterable = {
-        [Symbol.asyncIterator]() {
-            return {
-                async next() {
-                    if (error) {
-                        return Promise.reject(error);
-                    }
-                    if (counter >= responses!.length) {
-                        return Promise.resolve({done: true, value: undefined});
-                    }
-                    return Promise.resolve({done: false, value: responses![counter++]});
-                }
-            };
-        }
-    };
-    return sinon.stub().returns(asyncIterable);
+function stubAsyncIterationCall<ResponseType>(
+  responses?: ResponseType[],
+  error?: Error,
+) {
+  let counter = 0;
+  const asyncIterable = {
+    [Symbol.asyncIterator]() {
+      return {
+        async next() {
+          if (error) {
+            return Promise.reject(error);
+          }
+          if (counter >= responses!.length) {
+            return Promise.resolve({ done: true, value: undefined });
+          }
+          return Promise.resolve({ done: false, value: responses![counter++] });
+        },
+      };
+    },
+  };
+  return sinon.stub().returns(asyncIterable);
 }
 
 describe('v1.SqlFlagsServiceClient', () => {
-    describe('Common methods', () => {
-        it('has apiEndpoint', () => {
-            const client = new sqlflagsserviceModule.v1.SqlFlagsServiceClient();
-            const apiEndpoint = client.apiEndpoint;
-            assert.strictEqual(apiEndpoint, 'sqladmin.googleapis.com');
-        });
+  describe('Common methods', () => {
+    it('has apiEndpoint', () => {
+      const client = new sqlflagsserviceModule.v1.SqlFlagsServiceClient();
+      const apiEndpoint = client.apiEndpoint;
+      assert.strictEqual(apiEndpoint, 'sqladmin.googleapis.com');
+    });
 
-        it('has universeDomain', () => {
-            const client = new sqlflagsserviceModule.v1.SqlFlagsServiceClient();
-            const universeDomain = client.universeDomain;
-            assert.strictEqual(universeDomain, "googleapis.com");
-        });
+    it('has universeDomain', () => {
+      const client = new sqlflagsserviceModule.v1.SqlFlagsServiceClient();
+      const universeDomain = client.universeDomain;
+      assert.strictEqual(universeDomain, 'googleapis.com');
+    });
 
-        if (typeof process === 'object' && typeof process.emitWarning === 'function') {
-            it('throws DeprecationWarning if static servicePath is used', () => {
-                const stub = sinon.stub(process, 'emitWarning');
-                const servicePath = sqlflagsserviceModule.v1.SqlFlagsServiceClient.servicePath;
-                assert.strictEqual(servicePath, 'sqladmin.googleapis.com');
-                assert(stub.called);
-                stub.restore();
-            });
+    if (
+      typeof process === 'object' &&
+      typeof process.emitWarning === 'function'
+    ) {
+      it('throws DeprecationWarning if static servicePath is used', () => {
+        const stub = sinon.stub(process, 'emitWarning');
+        const servicePath =
+          sqlflagsserviceModule.v1.SqlFlagsServiceClient.servicePath;
+        assert.strictEqual(servicePath, 'sqladmin.googleapis.com');
+        assert(stub.called);
+        stub.restore();
+      });
+
+      it('throws DeprecationWarning if static apiEndpoint is used', () => {
+        const stub = sinon.stub(process, 'emitWarning');
+        const apiEndpoint =
+          sqlflagsserviceModule.v1.SqlFlagsServiceClient.apiEndpoint;
+        assert.strictEqual(apiEndpoint, 'sqladmin.googleapis.com');
+        assert(stub.called);
+        stub.restore();
+      });
+    }
+    it('sets apiEndpoint according to universe domain camelCase', () => {
+      const client = new sqlflagsserviceModule.v1.SqlFlagsServiceClient({
+        universeDomain: 'example.com',
+      });
+      const servicePath = client.apiEndpoint;
+      assert.strictEqual(servicePath, 'sqladmin.example.com');
+    });
 
-            it('throws DeprecationWarning if static apiEndpoint is used', () => {
-                const stub = sinon.stub(process, 'emitWarning');
-                const apiEndpoint = sqlflagsserviceModule.v1.SqlFlagsServiceClient.apiEndpoint;
-                assert.strictEqual(apiEndpoint, 'sqladmin.googleapis.com');
-                assert(stub.called);
-                stub.restore();
-            });
-        }
-        it('sets apiEndpoint according to universe domain camelCase', () => {
-            const client = new sqlflagsserviceModule.v1.SqlFlagsServiceClient({universeDomain: 'example.com'});
-            const servicePath = client.apiEndpoint;
-            assert.strictEqual(servicePath, 'sqladmin.example.com');
-        });
+    it('sets apiEndpoint according to universe domain snakeCase', () => {
+      const client = new sqlflagsserviceModule.v1.SqlFlagsServiceClient({
+        universe_domain: 'example.com',
+      });
+      const servicePath = client.apiEndpoint;
+      assert.strictEqual(servicePath, 'sqladmin.example.com');
+    });
 
-        it('sets apiEndpoint according to universe domain snakeCase', () => {
-            const client = new sqlflagsserviceModule.v1.SqlFlagsServiceClient({universe_domain: 'example.com'});
-            const servicePath = client.apiEndpoint;
-            assert.strictEqual(servicePath, 'sqladmin.example.com');
+    if (typeof process === 'object' && 'env' in process) {
+      describe('GOOGLE_CLOUD_UNIVERSE_DOMAIN environment variable', () => {
+        it('sets apiEndpoint from environment variable', () => {
+          const saved = process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
+          process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = 'example.com';
+          const client = new sqlflagsserviceModule.v1.SqlFlagsServiceClient();
+          const servicePath = client.apiEndpoint;
+          assert.strictEqual(servicePath, 'sqladmin.example.com');
+          if (saved) {
+            process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = saved;
+          } else {
+            delete process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
+          }
         });
 
-        if (typeof process === 'object' && 'env' in process) {
-            describe('GOOGLE_CLOUD_UNIVERSE_DOMAIN environment variable', () => {
-                it('sets apiEndpoint from environment variable', () => {
-                    const saved = process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
-                    process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = 'example.com';
-                    const client = new sqlflagsserviceModule.v1.SqlFlagsServiceClient();
-                    const servicePath = client.apiEndpoint;
-                    assert.strictEqual(servicePath, 'sqladmin.example.com');
-                    if (saved) {
-                        process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = saved;
-                    } else {
-                        delete process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
-                    }
-                });
-
-                it('value configured in code has priority over environment variable', () => {
-                    const saved = process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
-                    process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = 'example.com';
-                    const client = new sqlflagsserviceModule.v1.SqlFlagsServiceClient({universeDomain: 'configured.example.com'});
-                    const servicePath = client.apiEndpoint;
-                    assert.strictEqual(servicePath, 'sqladmin.configured.example.com');
-                    if (saved) {
-                        process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = saved;
-                    } else {
-                        delete process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
-                    }
-                });
-            });
-        }
-        it('does not allow setting both universeDomain and universe_domain', () => {
-            assert.throws(() => { new sqlflagsserviceModule.v1.SqlFlagsServiceClient({universe_domain: 'example.com', universeDomain: 'example.net'}); });
+        it('value configured in code has priority over environment variable', () => {
+          const saved = process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
+          process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = 'example.com';
+          const client = new sqlflagsserviceModule.v1.SqlFlagsServiceClient({
+            universeDomain: 'configured.example.com',
+          });
+          const servicePath = client.apiEndpoint;
+          assert.strictEqual(servicePath, 'sqladmin.configured.example.com');
+          if (saved) {
+            process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = saved;
+          } else {
+            delete process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
+          }
         });
-
-        it('has port', () => {
-            const port = sqlflagsserviceModule.v1.SqlFlagsServiceClient.port;
-            assert(port);
-            assert(typeof port === 'number');
+      });
+    }
+    it('does not allow setting both universeDomain and universe_domain', () => {
+      assert.throws(() => {
+        new sqlflagsserviceModule.v1.SqlFlagsServiceClient({
+          universe_domain: 'example.com',
+          universeDomain: 'example.net',
         });
+      });
+    });
 
-        it('should create a client with no option', () => {
-            const client = new sqlflagsserviceModule.v1.SqlFlagsServiceClient();
-            assert(client);
-        });
+    it('has port', () => {
+      const port = sqlflagsserviceModule.v1.SqlFlagsServiceClient.port;
+      assert(port);
+      assert(typeof port === 'number');
+    });
 
-        it('should create a client with gRPC fallback', () => {
-            const client = new sqlflagsserviceModule.v1.SqlFlagsServiceClient({
-                fallback: true,
-            });
-            assert(client);
-        });
+    it('should create a client with no option', () => {
+      const client = new sqlflagsserviceModule.v1.SqlFlagsServiceClient();
+      assert(client);
+    });
 
-        it('has initialize method and supports deferred initialization', async () => {
-            const client = new sqlflagsserviceModule.v1.SqlFlagsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            assert.strictEqual(client.sqlFlagsServiceStub, undefined);
-            await client.initialize();
-            assert(client.sqlFlagsServiceStub);
-        });
+    it('should create a client with gRPC fallback', () => {
+      const client = new sqlflagsserviceModule.v1.SqlFlagsServiceClient({
+        fallback: true,
+      });
+      assert(client);
+    });
 
-        it('has close method for the initialized client', done => {
-            const client = new sqlflagsserviceModule.v1.SqlFlagsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            client.initialize().catch(err => {throw err});
-            assert(client.sqlFlagsServiceStub);
-            client.close().then(() => {
-                done();
-            }).catch(err => {throw err});
-        });
+    it('has initialize method and supports deferred initialization', async () => {
+      const client = new sqlflagsserviceModule.v1.SqlFlagsServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      assert.strictEqual(client.sqlFlagsServiceStub, undefined);
+      await client.initialize();
+      assert(client.sqlFlagsServiceStub);
+    });
 
-        it('has close method for the non-initialized client', done => {
-            const client = new sqlflagsserviceModule.v1.SqlFlagsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            assert.strictEqual(client.sqlFlagsServiceStub, undefined);
-            client.close().then(() => {
-                done();
-            }).catch(err => {throw err});
+    it('has close method for the initialized client', (done) => {
+      const client = new sqlflagsserviceModule.v1.SqlFlagsServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      client.initialize().catch((err) => {
+        throw err;
+      });
+      assert(client.sqlFlagsServiceStub);
+      client
+        .close()
+        .then(() => {
+          done();
+        })
+        .catch((err) => {
+          throw err;
         });
+    });
 
-        it('has getProjectId method', async () => {
-            const fakeProjectId = 'fake-project-id';
-            const client = new sqlflagsserviceModule.v1.SqlFlagsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            client.auth.getProjectId = sinon.stub().resolves(fakeProjectId);
-            const result = await client.getProjectId();
-            assert.strictEqual(result, fakeProjectId);
-            assert((client.auth.getProjectId as SinonStub).calledWithExactly());
+    it('has close method for the non-initialized client', (done) => {
+      const client = new sqlflagsserviceModule.v1.SqlFlagsServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      assert.strictEqual(client.sqlFlagsServiceStub, undefined);
+      client
+        .close()
+        .then(() => {
+          done();
+        })
+        .catch((err) => {
+          throw err;
         });
+    });
 
-        it('has getProjectId method with callback', async () => {
-            const fakeProjectId = 'fake-project-id';
-            const client = new sqlflagsserviceModule.v1.SqlFlagsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            client.auth.getProjectId = sinon.stub().callsArgWith(0, null, fakeProjectId);
-            const promise = new Promise((resolve, reject) => {
-                client.getProjectId((err?: Error|null, projectId?: string|null) => {
-                    if (err) {
-                        reject(err);
-                    } else {
-                        resolve(projectId);
-                    }
-                });
-            });
-            const result = await promise;
-            assert.strictEqual(result, fakeProjectId);
-        });
+    it('has getProjectId method', async () => {
+      const fakeProjectId = 'fake-project-id';
+      const client = new sqlflagsserviceModule.v1.SqlFlagsServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      client.auth.getProjectId = sinon.stub().resolves(fakeProjectId);
+      const result = await client.getProjectId();
+      assert.strictEqual(result, fakeProjectId);
+      assert((client.auth.getProjectId as SinonStub).calledWithExactly());
     });
 
-    describe('list', () => {
-        it('invokes list without error', async () => {
-            const client = new sqlflagsserviceModule.v1.SqlFlagsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlFlagsListRequest()
-            );
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1.FlagsListResponse()
-            );
-            client.innerApiCalls.list = stubSimpleCall(expectedResponse);
-            const [response] = await client.list(request);
-            assert.deepStrictEqual(response, expectedResponse);
+    it('has getProjectId method with callback', async () => {
+      const fakeProjectId = 'fake-project-id';
+      const client = new sqlflagsserviceModule.v1.SqlFlagsServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      client.auth.getProjectId = sinon
+        .stub()
+        .callsArgWith(0, null, fakeProjectId);
+      const promise = new Promise((resolve, reject) => {
+        client.getProjectId((err?: Error | null, projectId?: string | null) => {
+          if (err) {
+            reject(err);
+          } else {
+            resolve(projectId);
+          }
         });
+      });
+      const result = await promise;
+      assert.strictEqual(result, fakeProjectId);
+    });
+  });
+
+  describe('list', () => {
+    it('invokes list without error', async () => {
+      const client = new sqlflagsserviceModule.v1.SqlFlagsServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlFlagsListRequest(),
+      );
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1.FlagsListResponse(),
+      );
+      client.innerApiCalls.list = stubSimpleCall(expectedResponse);
+      const [response] = await client.list(request);
+      assert.deepStrictEqual(response, expectedResponse);
+    });
 
-        it('invokes list without error using callback', async () => {
-            const client = new sqlflagsserviceModule.v1.SqlFlagsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlFlagsListRequest()
-            );
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1.FlagsListResponse()
-            );
-            client.innerApiCalls.list = stubSimpleCallWithCallback(expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.list(
-                    request,
-                    (err?: Error|null, result?: protos.google.cloud.sql.v1.IFlagsListResponse|null) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-        });
+    it('invokes list without error using callback', async () => {
+      const client = new sqlflagsserviceModule.v1.SqlFlagsServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlFlagsListRequest(),
+      );
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1.FlagsListResponse(),
+      );
+      client.innerApiCalls.list = stubSimpleCallWithCallback(expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.list(
+          request,
+          (
+            err?: Error | null,
+            result?: protos.google.cloud.sql.v1.IFlagsListResponse | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
+            }
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+    });
 
-        it('invokes list with error', async () => {
-            const client = new sqlflagsserviceModule.v1.SqlFlagsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlFlagsListRequest()
-            );
-            const expectedError = new Error('expected');
-            client.innerApiCalls.list = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.list(request), expectedError);
-        });
+    it('invokes list with error', async () => {
+      const client = new sqlflagsserviceModule.v1.SqlFlagsServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlFlagsListRequest(),
+      );
+      const expectedError = new Error('expected');
+      client.innerApiCalls.list = stubSimpleCall(undefined, expectedError);
+      await assert.rejects(client.list(request), expectedError);
+    });
 
-        it('invokes list with closed client', async () => {
-            const client = new sqlflagsserviceModule.v1.SqlFlagsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlFlagsListRequest()
-            );
-            const expectedError = new Error('The client has already been closed.');
-            client.close().catch(err => {throw err});
-            await assert.rejects(client.list(request), expectedError);
-        });
+    it('invokes list with closed client', async () => {
+      const client = new sqlflagsserviceModule.v1.SqlFlagsServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlFlagsListRequest(),
+      );
+      const expectedError = new Error('The client has already been closed.');
+      client.close().catch((err) => {
+        throw err;
+      });
+      await assert.rejects(client.list(request), expectedError);
     });
-    describe('getLocation', () => {
-        it('invokes getLocation without error', async () => {
-            const client = new sqlflagsserviceModule.v1.SqlFlagsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new LocationProtos.google.cloud.location.GetLocationRequest()
-            );
-            request.name = '';
-            const expectedHeaderRequestParams = 'name=';
-            const expectedOptions = {
-                otherArgs: {
-                    headers: {
-                        'x-goog-request-params': expectedHeaderRequestParams,
-                    },
-                },
-            };
-            const expectedResponse = generateSampleMessage(
-              new LocationProtos.google.cloud.location.Location()
-            );
-            client.locationsClient.getLocation = stubSimpleCall(expectedResponse);
-            const response = await client.getLocation(request, expectedOptions);
-            assert.deepStrictEqual(response, [expectedResponse]);
-            assert((client.locationsClient.getLocation as SinonStub)
-                .getCall(0).calledWith(request, expectedOptions, undefined));
-        });
-        it('invokes getLocation without error using callback', async () => {
-            const client = new sqlflagsserviceModule.v1.SqlFlagsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new LocationProtos.google.cloud.location.GetLocationRequest()
-            );
-            request.name = '';
-            const expectedHeaderRequestParams = 'name=';
-            const expectedOptions = {
-                otherArgs: {
-                    headers: {
-                        'x-goog-request-params': expectedHeaderRequestParams,
-                    },
-                },
-            };
-            const expectedResponse = generateSampleMessage(
-              new LocationProtos.google.cloud.location.Location()
-            );
-            client.locationsClient.getLocation = sinon.stub().callsArgWith(2, null, expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.getLocation(
-                    request,
-                    expectedOptions,
-                    (
-                        err?: Error | null,
-                        result?: LocationProtos.google.cloud.location.ILocation | null
-                    ) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            assert((client.locationsClient.getLocation as SinonStub)
-                .getCall(0));
-        });
-        it('invokes getLocation with error', async () => {
-            const client = new sqlflagsserviceModule.v1.SqlFlagsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new LocationProtos.google.cloud.location.GetLocationRequest()
-            );
-            request.name = '';
-            const expectedHeaderRequestParams = 'name=';
-            const expectedOptions = {
-                otherArgs: {
-                    headers: {
-                        'x-goog-request-params': expectedHeaderRequestParams,
-                    },
-                },
-            };
-            const expectedError = new Error('expected');
-            client.locationsClient.getLocation = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.getLocation(request, expectedOptions), expectedError);
-            assert((client.locationsClient.getLocation as SinonStub)
-                .getCall(0).calledWith(request, expectedOptions, undefined));
-        });
+  });
+  describe('getLocation', () => {
+    it('invokes getLocation without error', async () => {
+      const client = new sqlflagsserviceModule.v1.SqlFlagsServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new LocationProtos.google.cloud.location.GetLocationRequest(),
+      );
+      request.name = '';
+      const expectedHeaderRequestParams = 'name=';
+      const expectedOptions = {
+        otherArgs: {
+          headers: {
+            'x-goog-request-params': expectedHeaderRequestParams,
+          },
+        },
+      };
+      const expectedResponse = generateSampleMessage(
+        new LocationProtos.google.cloud.location.Location(),
+      );
+      client.locationsClient.getLocation = stubSimpleCall(expectedResponse);
+      const response = await client.getLocation(request, expectedOptions);
+      assert.deepStrictEqual(response, [expectedResponse]);
+      assert(
+        (client.locationsClient.getLocation as SinonStub)
+          .getCall(0)
+          .calledWith(request, expectedOptions, undefined),
+      );
     });
-    describe('listLocationsAsync', () => {
-        it('uses async iteration with listLocations without error', async () => {
-            const client = new sqlflagsserviceModule.v1.SqlFlagsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-                new LocationProtos.google.cloud.location.ListLocationsRequest()
-            );
-            request.name = '';
-            const expectedHeaderRequestParams = 'name=';
-            const expectedResponse = [
-                generateSampleMessage(
-                    new LocationProtos.google.cloud.location.Location()
-                ),
-                generateSampleMessage(
-                    new LocationProtos.google.cloud.location.Location()
-                ),
-                generateSampleMessage(
-                    new LocationProtos.google.cloud.location.Location()
-                ),
-            ];
-            client.locationsClient.descriptors.page.listLocations.asyncIterate = stubAsyncIterationCall(expectedResponse);
-            const responses: LocationProtos.google.cloud.location.ILocation[] = [];
-            const iterable = client.listLocationsAsync(request);
-            for await (const resource of iterable) {
-                responses.push(resource!);
+    it('invokes getLocation without error using callback', async () => {
+      const client = new sqlflagsserviceModule.v1.SqlFlagsServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new LocationProtos.google.cloud.location.GetLocationRequest(),
+      );
+      request.name = '';
+      const expectedHeaderRequestParams = 'name=';
+      const expectedOptions = {
+        otherArgs: {
+          headers: {
+            'x-goog-request-params': expectedHeaderRequestParams,
+          },
+        },
+      };
+      const expectedResponse = generateSampleMessage(
+        new LocationProtos.google.cloud.location.Location(),
+      );
+      client.locationsClient.getLocation = sinon
+        .stub()
+        .callsArgWith(2, null, expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.getLocation(
+          request,
+          expectedOptions,
+          (
+            err?: Error | null,
+            result?: LocationProtos.google.cloud.location.ILocation | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
             }
-            assert.deepStrictEqual(responses, expectedResponse);
-            assert.deepStrictEqual(
-                (client.locationsClient.descriptors.page.listLocations.asyncIterate as SinonStub)
-                    .getCall(0).args[1], request);
-            assert(
-                (client.locationsClient.descriptors.page.listLocations.asyncIterate as SinonStub)
-                    .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes(
-                        expectedHeaderRequestParams
-                    )
-            );
-        });
-        it('uses async iteration with listLocations with error', async () => {
-            const client = new sqlflagsserviceModule.v1.SqlFlagsServiceClient({
-                credentials: {client_email: 'bogus', private_key: 'bogus'},
-                projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new LocationProtos.google.cloud.location.ListLocationsRequest()
-            );
-            request.name = '';
-            const expectedHeaderRequestParams = 'name=';
-            const expectedError = new Error('expected');
-            client.locationsClient.descriptors.page.listLocations.asyncIterate = stubAsyncIterationCall(undefined, expectedError);
-            const iterable = client.listLocationsAsync(request);
-            await assert.rejects(async () => {
-                const responses: LocationProtos.google.cloud.location.ILocation[] = [];
-                for await (const resource of iterable) {
-                    responses.push(resource!);
-                }
-            });
-            assert.deepStrictEqual(
-                (client.locationsClient.descriptors.page.listLocations.asyncIterate as SinonStub)
-                    .getCall(0).args[1], request);
-            assert(
-                (client.locationsClient.descriptors.page.listLocations.asyncIterate as SinonStub)
-                    .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes(
-                        expectedHeaderRequestParams
-                    )
-            );
-        });
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      assert((client.locationsClient.getLocation as SinonStub).getCall(0));
     });
-
-    describe('Path templates', () => {
-
-        describe('backup', async () => {
-            const fakePath = "/rendered/path/backup";
-            const expectedParameters = {
-                project: "projectValue",
-                backup: "backupValue",
-            };
-            const client = new sqlflagsserviceModule.v1.SqlFlagsServiceClient({
-                credentials: {client_email: 'bogus', private_key: 'bogus'},
-                projectId: 'bogus',
-            });
-            await client.initialize();
-            client.pathTemplates.backupPathTemplate.render =
-                sinon.stub().returns(fakePath);
-            client.pathTemplates.backupPathTemplate.match =
-                sinon.stub().returns(expectedParameters);
-
-            it('backupPath', () => {
-                const result = client.backupPath("projectValue", "backupValue");
-                assert.strictEqual(result, fakePath);
-                assert((client.pathTemplates.backupPathTemplate.render as SinonStub)
-                    .getCall(-1).calledWith(expectedParameters));
-            });
-
-            it('matchProjectFromBackupName', () => {
-                const result = client.matchProjectFromBackupName(fakePath);
-                assert.strictEqual(result, "projectValue");
-                assert((client.pathTemplates.backupPathTemplate.match as SinonStub)
-                    .getCall(-1).calledWith(fakePath));
-            });
-
-            it('matchBackupFromBackupName', () => {
-                const result = client.matchBackupFromBackupName(fakePath);
-                assert.strictEqual(result, "backupValue");
-                assert((client.pathTemplates.backupPathTemplate.match as SinonStub)
-                    .getCall(-1).calledWith(fakePath));
-            });
-        });
+    it('invokes getLocation with error', async () => {
+      const client = new sqlflagsserviceModule.v1.SqlFlagsServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new LocationProtos.google.cloud.location.GetLocationRequest(),
+      );
+      request.name = '';
+      const expectedHeaderRequestParams = 'name=';
+      const expectedOptions = {
+        otherArgs: {
+          headers: {
+            'x-goog-request-params': expectedHeaderRequestParams,
+          },
+        },
+      };
+      const expectedError = new Error('expected');
+      client.locationsClient.getLocation = stubSimpleCall(
+        undefined,
+        expectedError,
+      );
+      await assert.rejects(
+        client.getLocation(request, expectedOptions),
+        expectedError,
+      );
+      assert(
+        (client.locationsClient.getLocation as SinonStub)
+          .getCall(0)
+          .calledWith(request, expectedOptions, undefined),
+      );
+    });
+  });
+  describe('listLocationsAsync', () => {
+    it('uses async iteration with listLocations without error', async () => {
+      const client = new sqlflagsserviceModule.v1.SqlFlagsServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new LocationProtos.google.cloud.location.ListLocationsRequest(),
+      );
+      request.name = '';
+      const expectedHeaderRequestParams = 'name=';
+      const expectedResponse = [
+        generateSampleMessage(
+          new LocationProtos.google.cloud.location.Location(),
+        ),
+        generateSampleMessage(
+          new LocationProtos.google.cloud.location.Location(),
+        ),
+        generateSampleMessage(
+          new LocationProtos.google.cloud.location.Location(),
+        ),
+      ];
+      client.locationsClient.descriptors.page.listLocations.asyncIterate =
+        stubAsyncIterationCall(expectedResponse);
+      const responses: LocationProtos.google.cloud.location.ILocation[] = [];
+      const iterable = client.listLocationsAsync(request);
+      for await (const resource of iterable) {
+        responses.push(resource!);
+      }
+      assert.deepStrictEqual(responses, expectedResponse);
+      assert.deepStrictEqual(
+        (
+          client.locationsClient.descriptors.page.listLocations
+            .asyncIterate as SinonStub
+        ).getCall(0).args[1],
+        request,
+      );
+      assert(
+        (
+          client.locationsClient.descriptors.page.listLocations
+            .asyncIterate as SinonStub
+        )
+          .getCall(0)
+          .args[2].otherArgs.headers['x-goog-request-params'].includes(
+            expectedHeaderRequestParams,
+          ),
+      );
+    });
+    it('uses async iteration with listLocations with error', async () => {
+      const client = new sqlflagsserviceModule.v1.SqlFlagsServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new LocationProtos.google.cloud.location.ListLocationsRequest(),
+      );
+      request.name = '';
+      const expectedHeaderRequestParams = 'name=';
+      const expectedError = new Error('expected');
+      client.locationsClient.descriptors.page.listLocations.asyncIterate =
+        stubAsyncIterationCall(undefined, expectedError);
+      const iterable = client.listLocationsAsync(request);
+      await assert.rejects(async () => {
+        const responses: LocationProtos.google.cloud.location.ILocation[] = [];
+        for await (const resource of iterable) {
+          responses.push(resource!);
+        }
+      });
+      assert.deepStrictEqual(
+        (
+          client.locationsClient.descriptors.page.listLocations
+            .asyncIterate as SinonStub
+        ).getCall(0).args[1],
+        request,
+      );
+      assert(
+        (
+          client.locationsClient.descriptors.page.listLocations
+            .asyncIterate as SinonStub
+        )
+          .getCall(0)
+          .args[2].otherArgs.headers['x-goog-request-params'].includes(
+            expectedHeaderRequestParams,
+          ),
+      );
+    });
+  });
+
+  describe('Path templates', () => {
+    describe('backup', async () => {
+      const fakePath = '/rendered/path/backup';
+      const expectedParameters = {
+        project: 'projectValue',
+        backup: 'backupValue',
+      };
+      const client = new sqlflagsserviceModule.v1.SqlFlagsServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      await client.initialize();
+      client.pathTemplates.backupPathTemplate.render = sinon
+        .stub()
+        .returns(fakePath);
+      client.pathTemplates.backupPathTemplate.match = sinon
+        .stub()
+        .returns(expectedParameters);
+
+      it('backupPath', () => {
+        const result = client.backupPath('projectValue', 'backupValue');
+        assert.strictEqual(result, fakePath);
+        assert(
+          (client.pathTemplates.backupPathTemplate.render as SinonStub)
+            .getCall(-1)
+            .calledWith(expectedParameters),
+        );
+      });
+
+      it('matchProjectFromBackupName', () => {
+        const result = client.matchProjectFromBackupName(fakePath);
+        assert.strictEqual(result, 'projectValue');
+        assert(
+          (client.pathTemplates.backupPathTemplate.match as SinonStub)
+            .getCall(-1)
+            .calledWith(fakePath),
+        );
+      });
+
+      it('matchBackupFromBackupName', () => {
+        const result = client.matchBackupFromBackupName(fakePath);
+        assert.strictEqual(result, 'backupValue');
+        assert(
+          (client.pathTemplates.backupPathTemplate.match as SinonStub)
+            .getCall(-1)
+            .calledWith(fakePath),
+        );
+      });
     });
+  });
 });
diff --git a/packages/google-cloud-sql/test/gapic_sql_flags_service_v1beta4.ts b/packages/google-cloud-sql/test/gapic_sql_flags_service_v1beta4.ts
index 0d1278673ccd..4e37b9e1b3e7 100644
--- a/packages/google-cloud-sql/test/gapic_sql_flags_service_v1beta4.ts
+++ b/packages/google-cloud-sql/test/gapic_sql_flags_service_v1beta4.ts
@@ -19,528 +19,631 @@
 import * as protos from '../protos/protos';
 import * as assert from 'assert';
 import * as sinon from 'sinon';
-import {SinonStub} from 'sinon';
-import {describe, it} from 'mocha';
+import { SinonStub } from 'sinon';
+import { describe, it } from 'mocha';
 import * as sqlflagsserviceModule from '../src';
 
-import {protobuf, LocationProtos} from 'google-gax';
+import { protobuf, LocationProtos } from 'google-gax';
 
 // Dynamically loaded proto JSON is needed to get the type information
 // to fill in default values for request objects
-const root = protobuf.Root.fromJSON(require('../protos/protos.json')).resolveAll();
+const root = protobuf.Root.fromJSON(
+  require('../protos/protos.json'),
+).resolveAll();
 
 // eslint-disable-next-line @typescript-eslint/no-unused-vars
 function getTypeDefaultValue(typeName: string, fields: string[]) {
-    let type = root.lookupType(typeName) as protobuf.Type;
-    for (const field of fields.slice(0, -1)) {
-        type = type.fields[field]?.resolvedType as protobuf.Type;
-    }
-    return type.fields[fields[fields.length - 1]]?.defaultValue;
+  let type = root.lookupType(typeName) as protobuf.Type;
+  for (const field of fields.slice(0, -1)) {
+    type = type.fields[field]?.resolvedType as protobuf.Type;
+  }
+  return type.fields[fields[fields.length - 1]]?.defaultValue;
 }
 
 function generateSampleMessage<T extends object>(instance: T) {
-    const filledObject = (instance.constructor as typeof protobuf.Message)
-        .toObject(instance as protobuf.Message<T>, {defaults: true});
-    return (instance.constructor as typeof protobuf.Message).fromObject(filledObject) as T;
+  const filledObject = (
+    instance.constructor as typeof protobuf.Message
+  ).toObject(instance as protobuf.Message<T>, { defaults: true });
+  return (instance.constructor as typeof protobuf.Message).fromObject(
+    filledObject,
+  ) as T;
 }
 
 function stubSimpleCall<ResponseType>(response?: ResponseType, error?: Error) {
-    return error ? sinon.stub().rejects(error) : sinon.stub().resolves([response]);
+  return error
+    ? sinon.stub().rejects(error)
+    : sinon.stub().resolves([response]);
 }
 
-function stubSimpleCallWithCallback<ResponseType>(response?: ResponseType, error?: Error) {
-    return error ? sinon.stub().callsArgWith(2, error) : sinon.stub().callsArgWith(2, null, response);
+function stubSimpleCallWithCallback<ResponseType>(
+  response?: ResponseType,
+  error?: Error,
+) {
+  return error
+    ? sinon.stub().callsArgWith(2, error)
+    : sinon.stub().callsArgWith(2, null, response);
 }
 
-function stubAsyncIterationCall<ResponseType>(responses?: ResponseType[], error?: Error) {
-    let counter = 0;
-    const asyncIterable = {
-        [Symbol.asyncIterator]() {
-            return {
-                async next() {
-                    if (error) {
-                        return Promise.reject(error);
-                    }
-                    if (counter >= responses!.length) {
-                        return Promise.resolve({done: true, value: undefined});
-                    }
-                    return Promise.resolve({done: false, value: responses![counter++]});
-                }
-            };
-        }
-    };
-    return sinon.stub().returns(asyncIterable);
+function stubAsyncIterationCall<ResponseType>(
+  responses?: ResponseType[],
+  error?: Error,
+) {
+  let counter = 0;
+  const asyncIterable = {
+    [Symbol.asyncIterator]() {
+      return {
+        async next() {
+          if (error) {
+            return Promise.reject(error);
+          }
+          if (counter >= responses!.length) {
+            return Promise.resolve({ done: true, value: undefined });
+          }
+          return Promise.resolve({ done: false, value: responses![counter++] });
+        },
+      };
+    },
+  };
+  return sinon.stub().returns(asyncIterable);
 }
 
 describe('v1beta4.SqlFlagsServiceClient', () => {
-    describe('Common methods', () => {
-        it('has apiEndpoint', () => {
-            const client = new sqlflagsserviceModule.v1beta4.SqlFlagsServiceClient();
-            const apiEndpoint = client.apiEndpoint;
-            assert.strictEqual(apiEndpoint, 'sqladmin.googleapis.com');
-        });
+  describe('Common methods', () => {
+    it('has apiEndpoint', () => {
+      const client = new sqlflagsserviceModule.v1beta4.SqlFlagsServiceClient();
+      const apiEndpoint = client.apiEndpoint;
+      assert.strictEqual(apiEndpoint, 'sqladmin.googleapis.com');
+    });
 
-        it('has universeDomain', () => {
-            const client = new sqlflagsserviceModule.v1beta4.SqlFlagsServiceClient();
-            const universeDomain = client.universeDomain;
-            assert.strictEqual(universeDomain, "googleapis.com");
-        });
+    it('has universeDomain', () => {
+      const client = new sqlflagsserviceModule.v1beta4.SqlFlagsServiceClient();
+      const universeDomain = client.universeDomain;
+      assert.strictEqual(universeDomain, 'googleapis.com');
+    });
 
-        if (typeof process === 'object' && typeof process.emitWarning === 'function') {
-            it('throws DeprecationWarning if static servicePath is used', () => {
-                const stub = sinon.stub(process, 'emitWarning');
-                const servicePath = sqlflagsserviceModule.v1beta4.SqlFlagsServiceClient.servicePath;
-                assert.strictEqual(servicePath, 'sqladmin.googleapis.com');
-                assert(stub.called);
-                stub.restore();
-            });
+    if (
+      typeof process === 'object' &&
+      typeof process.emitWarning === 'function'
+    ) {
+      it('throws DeprecationWarning if static servicePath is used', () => {
+        const stub = sinon.stub(process, 'emitWarning');
+        const servicePath =
+          sqlflagsserviceModule.v1beta4.SqlFlagsServiceClient.servicePath;
+        assert.strictEqual(servicePath, 'sqladmin.googleapis.com');
+        assert(stub.called);
+        stub.restore();
+      });
+
+      it('throws DeprecationWarning if static apiEndpoint is used', () => {
+        const stub = sinon.stub(process, 'emitWarning');
+        const apiEndpoint =
+          sqlflagsserviceModule.v1beta4.SqlFlagsServiceClient.apiEndpoint;
+        assert.strictEqual(apiEndpoint, 'sqladmin.googleapis.com');
+        assert(stub.called);
+        stub.restore();
+      });
+    }
+    it('sets apiEndpoint according to universe domain camelCase', () => {
+      const client = new sqlflagsserviceModule.v1beta4.SqlFlagsServiceClient({
+        universeDomain: 'example.com',
+      });
+      const servicePath = client.apiEndpoint;
+      assert.strictEqual(servicePath, 'sqladmin.example.com');
+    });
 
-            it('throws DeprecationWarning if static apiEndpoint is used', () => {
-                const stub = sinon.stub(process, 'emitWarning');
-                const apiEndpoint = sqlflagsserviceModule.v1beta4.SqlFlagsServiceClient.apiEndpoint;
-                assert.strictEqual(apiEndpoint, 'sqladmin.googleapis.com');
-                assert(stub.called);
-                stub.restore();
-            });
-        }
-        it('sets apiEndpoint according to universe domain camelCase', () => {
-            const client = new sqlflagsserviceModule.v1beta4.SqlFlagsServiceClient({universeDomain: 'example.com'});
-            const servicePath = client.apiEndpoint;
-            assert.strictEqual(servicePath, 'sqladmin.example.com');
-        });
+    it('sets apiEndpoint according to universe domain snakeCase', () => {
+      const client = new sqlflagsserviceModule.v1beta4.SqlFlagsServiceClient({
+        universe_domain: 'example.com',
+      });
+      const servicePath = client.apiEndpoint;
+      assert.strictEqual(servicePath, 'sqladmin.example.com');
+    });
 
-        it('sets apiEndpoint according to universe domain snakeCase', () => {
-            const client = new sqlflagsserviceModule.v1beta4.SqlFlagsServiceClient({universe_domain: 'example.com'});
-            const servicePath = client.apiEndpoint;
-            assert.strictEqual(servicePath, 'sqladmin.example.com');
+    if (typeof process === 'object' && 'env' in process) {
+      describe('GOOGLE_CLOUD_UNIVERSE_DOMAIN environment variable', () => {
+        it('sets apiEndpoint from environment variable', () => {
+          const saved = process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
+          process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = 'example.com';
+          const client =
+            new sqlflagsserviceModule.v1beta4.SqlFlagsServiceClient();
+          const servicePath = client.apiEndpoint;
+          assert.strictEqual(servicePath, 'sqladmin.example.com');
+          if (saved) {
+            process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = saved;
+          } else {
+            delete process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
+          }
         });
 
-        if (typeof process === 'object' && 'env' in process) {
-            describe('GOOGLE_CLOUD_UNIVERSE_DOMAIN environment variable', () => {
-                it('sets apiEndpoint from environment variable', () => {
-                    const saved = process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
-                    process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = 'example.com';
-                    const client = new sqlflagsserviceModule.v1beta4.SqlFlagsServiceClient();
-                    const servicePath = client.apiEndpoint;
-                    assert.strictEqual(servicePath, 'sqladmin.example.com');
-                    if (saved) {
-                        process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = saved;
-                    } else {
-                        delete process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
-                    }
-                });
-
-                it('value configured in code has priority over environment variable', () => {
-                    const saved = process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
-                    process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = 'example.com';
-                    const client = new sqlflagsserviceModule.v1beta4.SqlFlagsServiceClient({universeDomain: 'configured.example.com'});
-                    const servicePath = client.apiEndpoint;
-                    assert.strictEqual(servicePath, 'sqladmin.configured.example.com');
-                    if (saved) {
-                        process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = saved;
-                    } else {
-                        delete process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
-                    }
-                });
+        it('value configured in code has priority over environment variable', () => {
+          const saved = process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
+          process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = 'example.com';
+          const client =
+            new sqlflagsserviceModule.v1beta4.SqlFlagsServiceClient({
+              universeDomain: 'configured.example.com',
             });
-        }
-        it('does not allow setting both universeDomain and universe_domain', () => {
-            assert.throws(() => { new sqlflagsserviceModule.v1beta4.SqlFlagsServiceClient({universe_domain: 'example.com', universeDomain: 'example.net'}); });
+          const servicePath = client.apiEndpoint;
+          assert.strictEqual(servicePath, 'sqladmin.configured.example.com');
+          if (saved) {
+            process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = saved;
+          } else {
+            delete process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
+          }
         });
-
-        it('has port', () => {
-            const port = sqlflagsserviceModule.v1beta4.SqlFlagsServiceClient.port;
-            assert(port);
-            assert(typeof port === 'number');
+      });
+    }
+    it('does not allow setting both universeDomain and universe_domain', () => {
+      assert.throws(() => {
+        new sqlflagsserviceModule.v1beta4.SqlFlagsServiceClient({
+          universe_domain: 'example.com',
+          universeDomain: 'example.net',
         });
+      });
+    });
 
-        it('should create a client with no option', () => {
-            const client = new sqlflagsserviceModule.v1beta4.SqlFlagsServiceClient();
-            assert(client);
-        });
+    it('has port', () => {
+      const port = sqlflagsserviceModule.v1beta4.SqlFlagsServiceClient.port;
+      assert(port);
+      assert(typeof port === 'number');
+    });
 
-        it('should create a client with gRPC fallback', () => {
-            const client = new sqlflagsserviceModule.v1beta4.SqlFlagsServiceClient({
-                fallback: true,
-            });
-            assert(client);
-        });
+    it('should create a client with no option', () => {
+      const client = new sqlflagsserviceModule.v1beta4.SqlFlagsServiceClient();
+      assert(client);
+    });
 
-        it('has initialize method and supports deferred initialization', async () => {
-            const client = new sqlflagsserviceModule.v1beta4.SqlFlagsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            assert.strictEqual(client.sqlFlagsServiceStub, undefined);
-            await client.initialize();
-            assert(client.sqlFlagsServiceStub);
-        });
+    it('should create a client with gRPC fallback', () => {
+      const client = new sqlflagsserviceModule.v1beta4.SqlFlagsServiceClient({
+        fallback: true,
+      });
+      assert(client);
+    });
 
-        it('has close method for the initialized client', done => {
-            const client = new sqlflagsserviceModule.v1beta4.SqlFlagsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            client.initialize().catch(err => {throw err});
-            assert(client.sqlFlagsServiceStub);
-            client.close().then(() => {
-                done();
-            }).catch(err => {throw err});
-        });
+    it('has initialize method and supports deferred initialization', async () => {
+      const client = new sqlflagsserviceModule.v1beta4.SqlFlagsServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      assert.strictEqual(client.sqlFlagsServiceStub, undefined);
+      await client.initialize();
+      assert(client.sqlFlagsServiceStub);
+    });
 
-        it('has close method for the non-initialized client', done => {
-            const client = new sqlflagsserviceModule.v1beta4.SqlFlagsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            assert.strictEqual(client.sqlFlagsServiceStub, undefined);
-            client.close().then(() => {
-                done();
-            }).catch(err => {throw err});
+    it('has close method for the initialized client', (done) => {
+      const client = new sqlflagsserviceModule.v1beta4.SqlFlagsServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      client.initialize().catch((err) => {
+        throw err;
+      });
+      assert(client.sqlFlagsServiceStub);
+      client
+        .close()
+        .then(() => {
+          done();
+        })
+        .catch((err) => {
+          throw err;
         });
+    });
 
-        it('has getProjectId method', async () => {
-            const fakeProjectId = 'fake-project-id';
-            const client = new sqlflagsserviceModule.v1beta4.SqlFlagsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            client.auth.getProjectId = sinon.stub().resolves(fakeProjectId);
-            const result = await client.getProjectId();
-            assert.strictEqual(result, fakeProjectId);
-            assert((client.auth.getProjectId as SinonStub).calledWithExactly());
+    it('has close method for the non-initialized client', (done) => {
+      const client = new sqlflagsserviceModule.v1beta4.SqlFlagsServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      assert.strictEqual(client.sqlFlagsServiceStub, undefined);
+      client
+        .close()
+        .then(() => {
+          done();
+        })
+        .catch((err) => {
+          throw err;
         });
+    });
 
-        it('has getProjectId method with callback', async () => {
-            const fakeProjectId = 'fake-project-id';
-            const client = new sqlflagsserviceModule.v1beta4.SqlFlagsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            client.auth.getProjectId = sinon.stub().callsArgWith(0, null, fakeProjectId);
-            const promise = new Promise((resolve, reject) => {
-                client.getProjectId((err?: Error|null, projectId?: string|null) => {
-                    if (err) {
-                        reject(err);
-                    } else {
-                        resolve(projectId);
-                    }
-                });
-            });
-            const result = await promise;
-            assert.strictEqual(result, fakeProjectId);
-        });
+    it('has getProjectId method', async () => {
+      const fakeProjectId = 'fake-project-id';
+      const client = new sqlflagsserviceModule.v1beta4.SqlFlagsServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      client.auth.getProjectId = sinon.stub().resolves(fakeProjectId);
+      const result = await client.getProjectId();
+      assert.strictEqual(result, fakeProjectId);
+      assert((client.auth.getProjectId as SinonStub).calledWithExactly());
     });
 
-    describe('list', () => {
-        it('invokes list without error', async () => {
-            const client = new sqlflagsserviceModule.v1beta4.SqlFlagsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlFlagsListRequest()
-            );
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.FlagsListResponse()
-            );
-            client.innerApiCalls.list = stubSimpleCall(expectedResponse);
-            const [response] = await client.list(request);
-            assert.deepStrictEqual(response, expectedResponse);
+    it('has getProjectId method with callback', async () => {
+      const fakeProjectId = 'fake-project-id';
+      const client = new sqlflagsserviceModule.v1beta4.SqlFlagsServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      client.auth.getProjectId = sinon
+        .stub()
+        .callsArgWith(0, null, fakeProjectId);
+      const promise = new Promise((resolve, reject) => {
+        client.getProjectId((err?: Error | null, projectId?: string | null) => {
+          if (err) {
+            reject(err);
+          } else {
+            resolve(projectId);
+          }
         });
+      });
+      const result = await promise;
+      assert.strictEqual(result, fakeProjectId);
+    });
+  });
+
+  describe('list', () => {
+    it('invokes list without error', async () => {
+      const client = new sqlflagsserviceModule.v1beta4.SqlFlagsServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlFlagsListRequest(),
+      );
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.FlagsListResponse(),
+      );
+      client.innerApiCalls.list = stubSimpleCall(expectedResponse);
+      const [response] = await client.list(request);
+      assert.deepStrictEqual(response, expectedResponse);
+    });
 
-        it('invokes list without error using callback', async () => {
-            const client = new sqlflagsserviceModule.v1beta4.SqlFlagsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlFlagsListRequest()
-            );
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.FlagsListResponse()
-            );
-            client.innerApiCalls.list = stubSimpleCallWithCallback(expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.list(
-                    request,
-                    (err?: Error|null, result?: protos.google.cloud.sql.v1beta4.IFlagsListResponse|null) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-        });
+    it('invokes list without error using callback', async () => {
+      const client = new sqlflagsserviceModule.v1beta4.SqlFlagsServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlFlagsListRequest(),
+      );
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.FlagsListResponse(),
+      );
+      client.innerApiCalls.list = stubSimpleCallWithCallback(expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.list(
+          request,
+          (
+            err?: Error | null,
+            result?: protos.google.cloud.sql.v1beta4.IFlagsListResponse | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
+            }
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+    });
 
-        it('invokes list with error', async () => {
-            const client = new sqlflagsserviceModule.v1beta4.SqlFlagsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlFlagsListRequest()
-            );
-            const expectedError = new Error('expected');
-            client.innerApiCalls.list = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.list(request), expectedError);
-        });
+    it('invokes list with error', async () => {
+      const client = new sqlflagsserviceModule.v1beta4.SqlFlagsServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlFlagsListRequest(),
+      );
+      const expectedError = new Error('expected');
+      client.innerApiCalls.list = stubSimpleCall(undefined, expectedError);
+      await assert.rejects(client.list(request), expectedError);
+    });
 
-        it('invokes list with closed client', async () => {
-            const client = new sqlflagsserviceModule.v1beta4.SqlFlagsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlFlagsListRequest()
-            );
-            const expectedError = new Error('The client has already been closed.');
-            client.close().catch(err => {throw err});
-            await assert.rejects(client.list(request), expectedError);
-        });
+    it('invokes list with closed client', async () => {
+      const client = new sqlflagsserviceModule.v1beta4.SqlFlagsServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlFlagsListRequest(),
+      );
+      const expectedError = new Error('The client has already been closed.');
+      client.close().catch((err) => {
+        throw err;
+      });
+      await assert.rejects(client.list(request), expectedError);
     });
-    describe('getLocation', () => {
-        it('invokes getLocation without error', async () => {
-            const client = new sqlflagsserviceModule.v1beta4.SqlFlagsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new LocationProtos.google.cloud.location.GetLocationRequest()
-            );
-            request.name = '';
-            const expectedHeaderRequestParams = 'name=';
-            const expectedOptions = {
-                otherArgs: {
-                    headers: {
-                        'x-goog-request-params': expectedHeaderRequestParams,
-                    },
-                },
-            };
-            const expectedResponse = generateSampleMessage(
-              new LocationProtos.google.cloud.location.Location()
-            );
-            client.locationsClient.getLocation = stubSimpleCall(expectedResponse);
-            const response = await client.getLocation(request, expectedOptions);
-            assert.deepStrictEqual(response, [expectedResponse]);
-            assert((client.locationsClient.getLocation as SinonStub)
-                .getCall(0).calledWith(request, expectedOptions, undefined));
-        });
-        it('invokes getLocation without error using callback', async () => {
-            const client = new sqlflagsserviceModule.v1beta4.SqlFlagsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new LocationProtos.google.cloud.location.GetLocationRequest()
-            );
-            request.name = '';
-            const expectedHeaderRequestParams = 'name=';
-            const expectedOptions = {
-                otherArgs: {
-                    headers: {
-                        'x-goog-request-params': expectedHeaderRequestParams,
-                    },
-                },
-            };
-            const expectedResponse = generateSampleMessage(
-              new LocationProtos.google.cloud.location.Location()
-            );
-            client.locationsClient.getLocation = sinon.stub().callsArgWith(2, null, expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.getLocation(
-                    request,
-                    expectedOptions,
-                    (
-                        err?: Error | null,
-                        result?: LocationProtos.google.cloud.location.ILocation | null
-                    ) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            assert((client.locationsClient.getLocation as SinonStub)
-                .getCall(0));
-        });
-        it('invokes getLocation with error', async () => {
-            const client = new sqlflagsserviceModule.v1beta4.SqlFlagsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new LocationProtos.google.cloud.location.GetLocationRequest()
-            );
-            request.name = '';
-            const expectedHeaderRequestParams = 'name=';
-            const expectedOptions = {
-                otherArgs: {
-                    headers: {
-                        'x-goog-request-params': expectedHeaderRequestParams,
-                    },
-                },
-            };
-            const expectedError = new Error('expected');
-            client.locationsClient.getLocation = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.getLocation(request, expectedOptions), expectedError);
-            assert((client.locationsClient.getLocation as SinonStub)
-                .getCall(0).calledWith(request, expectedOptions, undefined));
-        });
+  });
+  describe('getLocation', () => {
+    it('invokes getLocation without error', async () => {
+      const client = new sqlflagsserviceModule.v1beta4.SqlFlagsServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new LocationProtos.google.cloud.location.GetLocationRequest(),
+      );
+      request.name = '';
+      const expectedHeaderRequestParams = 'name=';
+      const expectedOptions = {
+        otherArgs: {
+          headers: {
+            'x-goog-request-params': expectedHeaderRequestParams,
+          },
+        },
+      };
+      const expectedResponse = generateSampleMessage(
+        new LocationProtos.google.cloud.location.Location(),
+      );
+      client.locationsClient.getLocation = stubSimpleCall(expectedResponse);
+      const response = await client.getLocation(request, expectedOptions);
+      assert.deepStrictEqual(response, [expectedResponse]);
+      assert(
+        (client.locationsClient.getLocation as SinonStub)
+          .getCall(0)
+          .calledWith(request, expectedOptions, undefined),
+      );
     });
-    describe('listLocationsAsync', () => {
-        it('uses async iteration with listLocations without error', async () => {
-            const client = new sqlflagsserviceModule.v1beta4.SqlFlagsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-                new LocationProtos.google.cloud.location.ListLocationsRequest()
-            );
-            request.name = '';
-            const expectedHeaderRequestParams = 'name=';
-            const expectedResponse = [
-                generateSampleMessage(
-                    new LocationProtos.google.cloud.location.Location()
-                ),
-                generateSampleMessage(
-                    new LocationProtos.google.cloud.location.Location()
-                ),
-                generateSampleMessage(
-                    new LocationProtos.google.cloud.location.Location()
-                ),
-            ];
-            client.locationsClient.descriptors.page.listLocations.asyncIterate = stubAsyncIterationCall(expectedResponse);
-            const responses: LocationProtos.google.cloud.location.ILocation[] = [];
-            const iterable = client.listLocationsAsync(request);
-            for await (const resource of iterable) {
-                responses.push(resource!);
+    it('invokes getLocation without error using callback', async () => {
+      const client = new sqlflagsserviceModule.v1beta4.SqlFlagsServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new LocationProtos.google.cloud.location.GetLocationRequest(),
+      );
+      request.name = '';
+      const expectedHeaderRequestParams = 'name=';
+      const expectedOptions = {
+        otherArgs: {
+          headers: {
+            'x-goog-request-params': expectedHeaderRequestParams,
+          },
+        },
+      };
+      const expectedResponse = generateSampleMessage(
+        new LocationProtos.google.cloud.location.Location(),
+      );
+      client.locationsClient.getLocation = sinon
+        .stub()
+        .callsArgWith(2, null, expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.getLocation(
+          request,
+          expectedOptions,
+          (
+            err?: Error | null,
+            result?: LocationProtos.google.cloud.location.ILocation | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
             }
-            assert.deepStrictEqual(responses, expectedResponse);
-            assert.deepStrictEqual(
-                (client.locationsClient.descriptors.page.listLocations.asyncIterate as SinonStub)
-                    .getCall(0).args[1], request);
-            assert(
-                (client.locationsClient.descriptors.page.listLocations.asyncIterate as SinonStub)
-                    .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes(
-                        expectedHeaderRequestParams
-                    )
-            );
-        });
-        it('uses async iteration with listLocations with error', async () => {
-            const client = new sqlflagsserviceModule.v1beta4.SqlFlagsServiceClient({
-                credentials: {client_email: 'bogus', private_key: 'bogus'},
-                projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new LocationProtos.google.cloud.location.ListLocationsRequest()
-            );
-            request.name = '';
-            const expectedHeaderRequestParams = 'name=';
-            const expectedError = new Error('expected');
-            client.locationsClient.descriptors.page.listLocations.asyncIterate = stubAsyncIterationCall(undefined, expectedError);
-            const iterable = client.listLocationsAsync(request);
-            await assert.rejects(async () => {
-                const responses: LocationProtos.google.cloud.location.ILocation[] = [];
-                for await (const resource of iterable) {
-                    responses.push(resource!);
-                }
-            });
-            assert.deepStrictEqual(
-                (client.locationsClient.descriptors.page.listLocations.asyncIterate as SinonStub)
-                    .getCall(0).args[1], request);
-            assert(
-                (client.locationsClient.descriptors.page.listLocations.asyncIterate as SinonStub)
-                    .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes(
-                        expectedHeaderRequestParams
-                    )
-            );
-        });
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      assert((client.locationsClient.getLocation as SinonStub).getCall(0));
+    });
+    it('invokes getLocation with error', async () => {
+      const client = new sqlflagsserviceModule.v1beta4.SqlFlagsServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new LocationProtos.google.cloud.location.GetLocationRequest(),
+      );
+      request.name = '';
+      const expectedHeaderRequestParams = 'name=';
+      const expectedOptions = {
+        otherArgs: {
+          headers: {
+            'x-goog-request-params': expectedHeaderRequestParams,
+          },
+        },
+      };
+      const expectedError = new Error('expected');
+      client.locationsClient.getLocation = stubSimpleCall(
+        undefined,
+        expectedError,
+      );
+      await assert.rejects(
+        client.getLocation(request, expectedOptions),
+        expectedError,
+      );
+      assert(
+        (client.locationsClient.getLocation as SinonStub)
+          .getCall(0)
+          .calledWith(request, expectedOptions, undefined),
+      );
+    });
+  });
+  describe('listLocationsAsync', () => {
+    it('uses async iteration with listLocations without error', async () => {
+      const client = new sqlflagsserviceModule.v1beta4.SqlFlagsServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new LocationProtos.google.cloud.location.ListLocationsRequest(),
+      );
+      request.name = '';
+      const expectedHeaderRequestParams = 'name=';
+      const expectedResponse = [
+        generateSampleMessage(
+          new LocationProtos.google.cloud.location.Location(),
+        ),
+        generateSampleMessage(
+          new LocationProtos.google.cloud.location.Location(),
+        ),
+        generateSampleMessage(
+          new LocationProtos.google.cloud.location.Location(),
+        ),
+      ];
+      client.locationsClient.descriptors.page.listLocations.asyncIterate =
+        stubAsyncIterationCall(expectedResponse);
+      const responses: LocationProtos.google.cloud.location.ILocation[] = [];
+      const iterable = client.listLocationsAsync(request);
+      for await (const resource of iterable) {
+        responses.push(resource!);
+      }
+      assert.deepStrictEqual(responses, expectedResponse);
+      assert.deepStrictEqual(
+        (
+          client.locationsClient.descriptors.page.listLocations
+            .asyncIterate as SinonStub
+        ).getCall(0).args[1],
+        request,
+      );
+      assert(
+        (
+          client.locationsClient.descriptors.page.listLocations
+            .asyncIterate as SinonStub
+        )
+          .getCall(0)
+          .args[2].otherArgs.headers['x-goog-request-params'].includes(
+            expectedHeaderRequestParams,
+          ),
+      );
+    });
+    it('uses async iteration with listLocations with error', async () => {
+      const client = new sqlflagsserviceModule.v1beta4.SqlFlagsServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new LocationProtos.google.cloud.location.ListLocationsRequest(),
+      );
+      request.name = '';
+      const expectedHeaderRequestParams = 'name=';
+      const expectedError = new Error('expected');
+      client.locationsClient.descriptors.page.listLocations.asyncIterate =
+        stubAsyncIterationCall(undefined, expectedError);
+      const iterable = client.listLocationsAsync(request);
+      await assert.rejects(async () => {
+        const responses: LocationProtos.google.cloud.location.ILocation[] = [];
+        for await (const resource of iterable) {
+          responses.push(resource!);
+        }
+      });
+      assert.deepStrictEqual(
+        (
+          client.locationsClient.descriptors.page.listLocations
+            .asyncIterate as SinonStub
+        ).getCall(0).args[1],
+        request,
+      );
+      assert(
+        (
+          client.locationsClient.descriptors.page.listLocations
+            .asyncIterate as SinonStub
+        )
+          .getCall(0)
+          .args[2].otherArgs.headers['x-goog-request-params'].includes(
+            expectedHeaderRequestParams,
+          ),
+      );
+    });
+  });
+
+  describe('Path templates', () => {
+    describe('backup', async () => {
+      const fakePath = '/rendered/path/backup';
+      const expectedParameters = {
+        project: 'projectValue',
+        backup: 'backupValue',
+      };
+      const client = new sqlflagsserviceModule.v1beta4.SqlFlagsServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      await client.initialize();
+      client.pathTemplates.backupPathTemplate.render = sinon
+        .stub()
+        .returns(fakePath);
+      client.pathTemplates.backupPathTemplate.match = sinon
+        .stub()
+        .returns(expectedParameters);
+
+      it('backupPath', () => {
+        const result = client.backupPath('projectValue', 'backupValue');
+        assert.strictEqual(result, fakePath);
+        assert(
+          (client.pathTemplates.backupPathTemplate.render as SinonStub)
+            .getCall(-1)
+            .calledWith(expectedParameters),
+        );
+      });
+
+      it('matchProjectFromBackupName', () => {
+        const result = client.matchProjectFromBackupName(fakePath);
+        assert.strictEqual(result, 'projectValue');
+        assert(
+          (client.pathTemplates.backupPathTemplate.match as SinonStub)
+            .getCall(-1)
+            .calledWith(fakePath),
+        );
+      });
+
+      it('matchBackupFromBackupName', () => {
+        const result = client.matchBackupFromBackupName(fakePath);
+        assert.strictEqual(result, 'backupValue');
+        assert(
+          (client.pathTemplates.backupPathTemplate.match as SinonStub)
+            .getCall(-1)
+            .calledWith(fakePath),
+        );
+      });
     });
 
-    describe('Path templates', () => {
-
-        describe('backup', async () => {
-            const fakePath = "/rendered/path/backup";
-            const expectedParameters = {
-                project: "projectValue",
-                backup: "backupValue",
-            };
-            const client = new sqlflagsserviceModule.v1beta4.SqlFlagsServiceClient({
-                credentials: {client_email: 'bogus', private_key: 'bogus'},
-                projectId: 'bogus',
-            });
-            await client.initialize();
-            client.pathTemplates.backupPathTemplate.render =
-                sinon.stub().returns(fakePath);
-            client.pathTemplates.backupPathTemplate.match =
-                sinon.stub().returns(expectedParameters);
-
-            it('backupPath', () => {
-                const result = client.backupPath("projectValue", "backupValue");
-                assert.strictEqual(result, fakePath);
-                assert((client.pathTemplates.backupPathTemplate.render as SinonStub)
-                    .getCall(-1).calledWith(expectedParameters));
-            });
-
-            it('matchProjectFromBackupName', () => {
-                const result = client.matchProjectFromBackupName(fakePath);
-                assert.strictEqual(result, "projectValue");
-                assert((client.pathTemplates.backupPathTemplate.match as SinonStub)
-                    .getCall(-1).calledWith(fakePath));
-            });
-
-            it('matchBackupFromBackupName', () => {
-                const result = client.matchBackupFromBackupName(fakePath);
-                assert.strictEqual(result, "backupValue");
-                assert((client.pathTemplates.backupPathTemplate.match as SinonStub)
-                    .getCall(-1).calledWith(fakePath));
-            });
-        });
-
-        describe('project', async () => {
-            const fakePath = "/rendered/path/project";
-            const expectedParameters = {
-                project: "projectValue",
-            };
-            const client = new sqlflagsserviceModule.v1beta4.SqlFlagsServiceClient({
-                credentials: {client_email: 'bogus', private_key: 'bogus'},
-                projectId: 'bogus',
-            });
-            await client.initialize();
-            client.pathTemplates.projectPathTemplate.render =
-                sinon.stub().returns(fakePath);
-            client.pathTemplates.projectPathTemplate.match =
-                sinon.stub().returns(expectedParameters);
-
-            it('projectPath', () => {
-                const result = client.projectPath("projectValue");
-                assert.strictEqual(result, fakePath);
-                assert((client.pathTemplates.projectPathTemplate.render as SinonStub)
-                    .getCall(-1).calledWith(expectedParameters));
-            });
-
-            it('matchProjectFromProjectName', () => {
-                const result = client.matchProjectFromProjectName(fakePath);
-                assert.strictEqual(result, "projectValue");
-                assert((client.pathTemplates.projectPathTemplate.match as SinonStub)
-                    .getCall(-1).calledWith(fakePath));
-            });
-        });
+    describe('project', async () => {
+      const fakePath = '/rendered/path/project';
+      const expectedParameters = {
+        project: 'projectValue',
+      };
+      const client = new sqlflagsserviceModule.v1beta4.SqlFlagsServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      await client.initialize();
+      client.pathTemplates.projectPathTemplate.render = sinon
+        .stub()
+        .returns(fakePath);
+      client.pathTemplates.projectPathTemplate.match = sinon
+        .stub()
+        .returns(expectedParameters);
+
+      it('projectPath', () => {
+        const result = client.projectPath('projectValue');
+        assert.strictEqual(result, fakePath);
+        assert(
+          (client.pathTemplates.projectPathTemplate.render as SinonStub)
+            .getCall(-1)
+            .calledWith(expectedParameters),
+        );
+      });
+
+      it('matchProjectFromProjectName', () => {
+        const result = client.matchProjectFromProjectName(fakePath);
+        assert.strictEqual(result, 'projectValue');
+        assert(
+          (client.pathTemplates.projectPathTemplate.match as SinonStub)
+            .getCall(-1)
+            .calledWith(fakePath),
+        );
+      });
     });
+  });
 });
diff --git a/packages/google-cloud-sql/test/gapic_sql_instances_service_v1.ts b/packages/google-cloud-sql/test/gapic_sql_instances_service_v1.ts
index 3e9991b4257f..03dbe2acbf28 100644
--- a/packages/google-cloud-sql/test/gapic_sql_instances_service_v1.ts
+++ b/packages/google-cloud-sql/test/gapic_sql_instances_service_v1.ts
@@ -19,5609 +19,7460 @@
 import * as protos from '../protos/protos';
 import * as assert from 'assert';
 import * as sinon from 'sinon';
-import {SinonStub} from 'sinon';
-import {describe, it} from 'mocha';
+import { SinonStub } from 'sinon';
+import { describe, it } from 'mocha';
 import * as sqlinstancesserviceModule from '../src';
 
-import {protobuf, LocationProtos} from 'google-gax';
+import { protobuf, LocationProtos } from 'google-gax';
 
 // Dynamically loaded proto JSON is needed to get the type information
 // to fill in default values for request objects
-const root = protobuf.Root.fromJSON(require('../protos/protos.json')).resolveAll();
+const root = protobuf.Root.fromJSON(
+  require('../protos/protos.json'),
+).resolveAll();
 
 // eslint-disable-next-line @typescript-eslint/no-unused-vars
 function getTypeDefaultValue(typeName: string, fields: string[]) {
-    let type = root.lookupType(typeName) as protobuf.Type;
-    for (const field of fields.slice(0, -1)) {
-        type = type.fields[field]?.resolvedType as protobuf.Type;
-    }
-    return type.fields[fields[fields.length - 1]]?.defaultValue;
+  let type = root.lookupType(typeName) as protobuf.Type;
+  for (const field of fields.slice(0, -1)) {
+    type = type.fields[field]?.resolvedType as protobuf.Type;
+  }
+  return type.fields[fields[fields.length - 1]]?.defaultValue;
 }
 
 function generateSampleMessage<T extends object>(instance: T) {
-    const filledObject = (instance.constructor as typeof protobuf.Message)
-        .toObject(instance as protobuf.Message<T>, {defaults: true});
-    return (instance.constructor as typeof protobuf.Message).fromObject(filledObject) as T;
+  const filledObject = (
+    instance.constructor as typeof protobuf.Message
+  ).toObject(instance as protobuf.Message<T>, { defaults: true });
+  return (instance.constructor as typeof protobuf.Message).fromObject(
+    filledObject,
+  ) as T;
 }
 
 function stubSimpleCall<ResponseType>(response?: ResponseType, error?: Error) {
-    return error ? sinon.stub().rejects(error) : sinon.stub().resolves([response]);
+  return error
+    ? sinon.stub().rejects(error)
+    : sinon.stub().resolves([response]);
 }
 
-function stubSimpleCallWithCallback<ResponseType>(response?: ResponseType, error?: Error) {
-    return error ? sinon.stub().callsArgWith(2, error) : sinon.stub().callsArgWith(2, null, response);
+function stubSimpleCallWithCallback<ResponseType>(
+  response?: ResponseType,
+  error?: Error,
+) {
+  return error
+    ? sinon.stub().callsArgWith(2, error)
+    : sinon.stub().callsArgWith(2, null, response);
 }
 
-function stubAsyncIterationCall<ResponseType>(responses?: ResponseType[], error?: Error) {
-    let counter = 0;
-    const asyncIterable = {
-        [Symbol.asyncIterator]() {
-            return {
-                async next() {
-                    if (error) {
-                        return Promise.reject(error);
-                    }
-                    if (counter >= responses!.length) {
-                        return Promise.resolve({done: true, value: undefined});
-                    }
-                    return Promise.resolve({done: false, value: responses![counter++]});
-                }
-            };
-        }
-    };
-    return sinon.stub().returns(asyncIterable);
+function stubAsyncIterationCall<ResponseType>(
+  responses?: ResponseType[],
+  error?: Error,
+) {
+  let counter = 0;
+  const asyncIterable = {
+    [Symbol.asyncIterator]() {
+      return {
+        async next() {
+          if (error) {
+            return Promise.reject(error);
+          }
+          if (counter >= responses!.length) {
+            return Promise.resolve({ done: true, value: undefined });
+          }
+          return Promise.resolve({ done: false, value: responses![counter++] });
+        },
+      };
+    },
+  };
+  return sinon.stub().returns(asyncIterable);
 }
 
 describe('v1.SqlInstancesServiceClient', () => {
-    describe('Common methods', () => {
-        it('has apiEndpoint', () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient();
-            const apiEndpoint = client.apiEndpoint;
-            assert.strictEqual(apiEndpoint, 'sqladmin.googleapis.com');
-        });
+  describe('Common methods', () => {
+    it('has apiEndpoint', () => {
+      const client =
+        new sqlinstancesserviceModule.v1.SqlInstancesServiceClient();
+      const apiEndpoint = client.apiEndpoint;
+      assert.strictEqual(apiEndpoint, 'sqladmin.googleapis.com');
+    });
 
-        it('has universeDomain', () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient();
-            const universeDomain = client.universeDomain;
-            assert.strictEqual(universeDomain, "googleapis.com");
-        });
+    it('has universeDomain', () => {
+      const client =
+        new sqlinstancesserviceModule.v1.SqlInstancesServiceClient();
+      const universeDomain = client.universeDomain;
+      assert.strictEqual(universeDomain, 'googleapis.com');
+    });
 
-        if (typeof process === 'object' && typeof process.emitWarning === 'function') {
-            it('throws DeprecationWarning if static servicePath is used', () => {
-                const stub = sinon.stub(process, 'emitWarning');
-                const servicePath = sqlinstancesserviceModule.v1.SqlInstancesServiceClient.servicePath;
-                assert.strictEqual(servicePath, 'sqladmin.googleapis.com');
-                assert(stub.called);
-                stub.restore();
-            });
+    if (
+      typeof process === 'object' &&
+      typeof process.emitWarning === 'function'
+    ) {
+      it('throws DeprecationWarning if static servicePath is used', () => {
+        const stub = sinon.stub(process, 'emitWarning');
+        const servicePath =
+          sqlinstancesserviceModule.v1.SqlInstancesServiceClient.servicePath;
+        assert.strictEqual(servicePath, 'sqladmin.googleapis.com');
+        assert(stub.called);
+        stub.restore();
+      });
+
+      it('throws DeprecationWarning if static apiEndpoint is used', () => {
+        const stub = sinon.stub(process, 'emitWarning');
+        const apiEndpoint =
+          sqlinstancesserviceModule.v1.SqlInstancesServiceClient.apiEndpoint;
+        assert.strictEqual(apiEndpoint, 'sqladmin.googleapis.com');
+        assert(stub.called);
+        stub.restore();
+      });
+    }
+    it('sets apiEndpoint according to universe domain camelCase', () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        { universeDomain: 'example.com' },
+      );
+      const servicePath = client.apiEndpoint;
+      assert.strictEqual(servicePath, 'sqladmin.example.com');
+    });
 
-            it('throws DeprecationWarning if static apiEndpoint is used', () => {
-                const stub = sinon.stub(process, 'emitWarning');
-                const apiEndpoint = sqlinstancesserviceModule.v1.SqlInstancesServiceClient.apiEndpoint;
-                assert.strictEqual(apiEndpoint, 'sqladmin.googleapis.com');
-                assert(stub.called);
-                stub.restore();
-            });
-        }
-        it('sets apiEndpoint according to universe domain camelCase', () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({universeDomain: 'example.com'});
-            const servicePath = client.apiEndpoint;
-            assert.strictEqual(servicePath, 'sqladmin.example.com');
-        });
+    it('sets apiEndpoint according to universe domain snakeCase', () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        { universe_domain: 'example.com' },
+      );
+      const servicePath = client.apiEndpoint;
+      assert.strictEqual(servicePath, 'sqladmin.example.com');
+    });
 
-        it('sets apiEndpoint according to universe domain snakeCase', () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({universe_domain: 'example.com'});
-            const servicePath = client.apiEndpoint;
-            assert.strictEqual(servicePath, 'sqladmin.example.com');
+    if (typeof process === 'object' && 'env' in process) {
+      describe('GOOGLE_CLOUD_UNIVERSE_DOMAIN environment variable', () => {
+        it('sets apiEndpoint from environment variable', () => {
+          const saved = process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
+          process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = 'example.com';
+          const client =
+            new sqlinstancesserviceModule.v1.SqlInstancesServiceClient();
+          const servicePath = client.apiEndpoint;
+          assert.strictEqual(servicePath, 'sqladmin.example.com');
+          if (saved) {
+            process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = saved;
+          } else {
+            delete process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
+          }
+        });
+
+        it('value configured in code has priority over environment variable', () => {
+          const saved = process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
+          process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = 'example.com';
+          const client =
+            new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
+              universeDomain: 'configured.example.com',
+            });
+          const servicePath = client.apiEndpoint;
+          assert.strictEqual(servicePath, 'sqladmin.configured.example.com');
+          if (saved) {
+            process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = saved;
+          } else {
+            delete process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
+          }
+        });
+      });
+    }
+    it('does not allow setting both universeDomain and universe_domain', () => {
+      assert.throws(() => {
+        new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
+          universe_domain: 'example.com',
+          universeDomain: 'example.net',
         });
+      });
+    });
 
-        if (typeof process === 'object' && 'env' in process) {
-            describe('GOOGLE_CLOUD_UNIVERSE_DOMAIN environment variable', () => {
-                it('sets apiEndpoint from environment variable', () => {
-                    const saved = process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
-                    process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = 'example.com';
-                    const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient();
-                    const servicePath = client.apiEndpoint;
-                    assert.strictEqual(servicePath, 'sqladmin.example.com');
-                    if (saved) {
-                        process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = saved;
-                    } else {
-                        delete process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
-                    }
-                });
-
-                it('value configured in code has priority over environment variable', () => {
-                    const saved = process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
-                    process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = 'example.com';
-                    const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({universeDomain: 'configured.example.com'});
-                    const servicePath = client.apiEndpoint;
-                    assert.strictEqual(servicePath, 'sqladmin.configured.example.com');
-                    if (saved) {
-                        process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = saved;
-                    } else {
-                        delete process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
-                    }
-                });
-            });
-        }
-        it('does not allow setting both universeDomain and universe_domain', () => {
-            assert.throws(() => { new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({universe_domain: 'example.com', universeDomain: 'example.net'}); });
-        });
+    it('has port', () => {
+      const port = sqlinstancesserviceModule.v1.SqlInstancesServiceClient.port;
+      assert(port);
+      assert(typeof port === 'number');
+    });
 
-        it('has port', () => {
-            const port = sqlinstancesserviceModule.v1.SqlInstancesServiceClient.port;
-            assert(port);
-            assert(typeof port === 'number');
-        });
+    it('should create a client with no option', () => {
+      const client =
+        new sqlinstancesserviceModule.v1.SqlInstancesServiceClient();
+      assert(client);
+    });
 
-        it('should create a client with no option', () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient();
-            assert(client);
-        });
+    it('should create a client with gRPC fallback', () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          fallback: true,
+        },
+      );
+      assert(client);
+    });
 
-        it('should create a client with gRPC fallback', () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-                fallback: true,
-            });
-            assert(client);
-        });
+    it('has initialize method and supports deferred initialization', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      assert.strictEqual(client.sqlInstancesServiceStub, undefined);
+      await client.initialize();
+      assert(client.sqlInstancesServiceStub);
+    });
 
-        it('has initialize method and supports deferred initialization', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            assert.strictEqual(client.sqlInstancesServiceStub, undefined);
-            await client.initialize();
-            assert(client.sqlInstancesServiceStub);
+    it('has close method for the initialized client', (done) => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      client.initialize().catch((err) => {
+        throw err;
+      });
+      assert(client.sqlInstancesServiceStub);
+      client
+        .close()
+        .then(() => {
+          done();
+        })
+        .catch((err) => {
+          throw err;
         });
+    });
 
-        it('has close method for the initialized client', done => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            client.initialize().catch(err => {throw err});
-            assert(client.sqlInstancesServiceStub);
-            client.close().then(() => {
-                done();
-            }).catch(err => {throw err});
+    it('has close method for the non-initialized client', (done) => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      assert.strictEqual(client.sqlInstancesServiceStub, undefined);
+      client
+        .close()
+        .then(() => {
+          done();
+        })
+        .catch((err) => {
+          throw err;
         });
+    });
 
-        it('has close method for the non-initialized client', done => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            assert.strictEqual(client.sqlInstancesServiceStub, undefined);
-            client.close().then(() => {
-                done();
-            }).catch(err => {throw err});
-        });
+    it('has getProjectId method', async () => {
+      const fakeProjectId = 'fake-project-id';
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      client.auth.getProjectId = sinon.stub().resolves(fakeProjectId);
+      const result = await client.getProjectId();
+      assert.strictEqual(result, fakeProjectId);
+      assert((client.auth.getProjectId as SinonStub).calledWithExactly());
+    });
 
-        it('has getProjectId method', async () => {
-            const fakeProjectId = 'fake-project-id';
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            client.auth.getProjectId = sinon.stub().resolves(fakeProjectId);
-            const result = await client.getProjectId();
-            assert.strictEqual(result, fakeProjectId);
-            assert((client.auth.getProjectId as SinonStub).calledWithExactly());
-        });
+    it('has getProjectId method with callback', async () => {
+      const fakeProjectId = 'fake-project-id';
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      client.auth.getProjectId = sinon
+        .stub()
+        .callsArgWith(0, null, fakeProjectId);
+      const promise = new Promise((resolve, reject) => {
+        client.getProjectId((err?: Error | null, projectId?: string | null) => {
+          if (err) {
+            reject(err);
+          } else {
+            resolve(projectId);
+          }
+        });
+      });
+      const result = await promise;
+      assert.strictEqual(result, fakeProjectId);
+    });
+  });
+
+  describe('addServerCa', () => {
+    it('invokes addServerCa without error', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesAddServerCaRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesAddServerCaRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesAddServerCaRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1.Operation(),
+      );
+      client.innerApiCalls.addServerCa = stubSimpleCall(expectedResponse);
+      const [response] = await client.addServerCa(request);
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (
+        client.innerApiCalls.addServerCa as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.addServerCa as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('has getProjectId method with callback', async () => {
-            const fakeProjectId = 'fake-project-id';
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            client.auth.getProjectId = sinon.stub().callsArgWith(0, null, fakeProjectId);
-            const promise = new Promise((resolve, reject) => {
-                client.getProjectId((err?: Error|null, projectId?: string|null) => {
-                    if (err) {
-                        reject(err);
-                    } else {
-                        resolve(projectId);
-                    }
-                });
-            });
-            const result = await promise;
-            assert.strictEqual(result, fakeProjectId);
-        });
+    it('invokes addServerCa without error using callback', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesAddServerCaRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesAddServerCaRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesAddServerCaRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1.Operation(),
+      );
+      client.innerApiCalls.addServerCa =
+        stubSimpleCallWithCallback(expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.addServerCa(
+          request,
+          (
+            err?: Error | null,
+            result?: protos.google.cloud.sql.v1.IOperation | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
+            }
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (
+        client.innerApiCalls.addServerCa as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.addServerCa as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
     });
 
-    describe('addServerCa', () => {
-        it('invokes addServerCa without error', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesAddServerCaRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesAddServerCaRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesAddServerCaRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1.Operation()
-            );
-            client.innerApiCalls.addServerCa = stubSimpleCall(expectedResponse);
-            const [response] = await client.addServerCa(request);
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.addServerCa as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.addServerCa as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+    it('invokes addServerCa with error', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesAddServerCaRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesAddServerCaRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesAddServerCaRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedError = new Error('expected');
+      client.innerApiCalls.addServerCa = stubSimpleCall(
+        undefined,
+        expectedError,
+      );
+      await assert.rejects(client.addServerCa(request), expectedError);
+      const actualRequest = (
+        client.innerApiCalls.addServerCa as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.addServerCa as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes addServerCa without error using callback', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesAddServerCaRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesAddServerCaRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesAddServerCaRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1.Operation()
-            );
-            client.innerApiCalls.addServerCa = stubSimpleCallWithCallback(expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.addServerCa(
-                    request,
-                    (err?: Error|null, result?: protos.google.cloud.sql.v1.IOperation|null) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.addServerCa as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.addServerCa as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+    it('invokes addServerCa with closed client', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesAddServerCaRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesAddServerCaRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesAddServerCaRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedError = new Error('The client has already been closed.');
+      client.close().catch((err) => {
+        throw err;
+      });
+      await assert.rejects(client.addServerCa(request), expectedError);
+    });
+  });
+
+  describe('addServerCertificate', () => {
+    it('invokes addServerCertificate without error', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesAddServerCertificateRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesAddServerCertificateRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesAddServerCertificateRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1.Operation(),
+      );
+      client.innerApiCalls.addServerCertificate =
+        stubSimpleCall(expectedResponse);
+      const [response] = await client.addServerCertificate(request);
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (
+        client.innerApiCalls.addServerCertificate as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.addServerCertificate as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes addServerCa with error', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesAddServerCaRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesAddServerCaRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesAddServerCaRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedError = new Error('expected');
-            client.innerApiCalls.addServerCa = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.addServerCa(request), expectedError);
-            const actualRequest = (client.innerApiCalls.addServerCa as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.addServerCa as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+    it('invokes addServerCertificate without error using callback', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesAddServerCertificateRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesAddServerCertificateRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesAddServerCertificateRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1.Operation(),
+      );
+      client.innerApiCalls.addServerCertificate =
+        stubSimpleCallWithCallback(expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.addServerCertificate(
+          request,
+          (
+            err?: Error | null,
+            result?: protos.google.cloud.sql.v1.IOperation | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
+            }
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (
+        client.innerApiCalls.addServerCertificate as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.addServerCertificate as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes addServerCa with closed client', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesAddServerCaRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesAddServerCaRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesAddServerCaRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedError = new Error('The client has already been closed.');
-            client.close().catch(err => {throw err});
-            await assert.rejects(client.addServerCa(request), expectedError);
-        });
+    it('invokes addServerCertificate with error', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesAddServerCertificateRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesAddServerCertificateRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesAddServerCertificateRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedError = new Error('expected');
+      client.innerApiCalls.addServerCertificate = stubSimpleCall(
+        undefined,
+        expectedError,
+      );
+      await assert.rejects(client.addServerCertificate(request), expectedError);
+      const actualRequest = (
+        client.innerApiCalls.addServerCertificate as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.addServerCertificate as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
     });
 
-    describe('addServerCertificate', () => {
-        it('invokes addServerCertificate without error', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesAddServerCertificateRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesAddServerCertificateRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesAddServerCertificateRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1.Operation()
-            );
-            client.innerApiCalls.addServerCertificate = stubSimpleCall(expectedResponse);
-            const [response] = await client.addServerCertificate(request);
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.addServerCertificate as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.addServerCertificate as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+    it('invokes addServerCertificate with closed client', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesAddServerCertificateRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesAddServerCertificateRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesAddServerCertificateRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedError = new Error('The client has already been closed.');
+      client.close().catch((err) => {
+        throw err;
+      });
+      await assert.rejects(client.addServerCertificate(request), expectedError);
+    });
+  });
+
+  describe('addEntraIdCertificate', () => {
+    it('invokes addEntraIdCertificate without error', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesAddEntraIdCertificateRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesAddEntraIdCertificateRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesAddEntraIdCertificateRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1.Operation(),
+      );
+      client.innerApiCalls.addEntraIdCertificate =
+        stubSimpleCall(expectedResponse);
+      const [response] = await client.addEntraIdCertificate(request);
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (
+        client.innerApiCalls.addEntraIdCertificate as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.addEntraIdCertificate as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes addServerCertificate without error using callback', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesAddServerCertificateRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesAddServerCertificateRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesAddServerCertificateRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1.Operation()
-            );
-            client.innerApiCalls.addServerCertificate = stubSimpleCallWithCallback(expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.addServerCertificate(
-                    request,
-                    (err?: Error|null, result?: protos.google.cloud.sql.v1.IOperation|null) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.addServerCertificate as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.addServerCertificate as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+    it('invokes addEntraIdCertificate without error using callback', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesAddEntraIdCertificateRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesAddEntraIdCertificateRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesAddEntraIdCertificateRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1.Operation(),
+      );
+      client.innerApiCalls.addEntraIdCertificate =
+        stubSimpleCallWithCallback(expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.addEntraIdCertificate(
+          request,
+          (
+            err?: Error | null,
+            result?: protos.google.cloud.sql.v1.IOperation | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
+            }
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (
+        client.innerApiCalls.addEntraIdCertificate as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.addEntraIdCertificate as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes addServerCertificate with error', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesAddServerCertificateRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesAddServerCertificateRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesAddServerCertificateRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedError = new Error('expected');
-            client.innerApiCalls.addServerCertificate = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.addServerCertificate(request), expectedError);
-            const actualRequest = (client.innerApiCalls.addServerCertificate as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.addServerCertificate as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+    it('invokes addEntraIdCertificate with error', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesAddEntraIdCertificateRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesAddEntraIdCertificateRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesAddEntraIdCertificateRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedError = new Error('expected');
+      client.innerApiCalls.addEntraIdCertificate = stubSimpleCall(
+        undefined,
+        expectedError,
+      );
+      await assert.rejects(
+        client.addEntraIdCertificate(request),
+        expectedError,
+      );
+      const actualRequest = (
+        client.innerApiCalls.addEntraIdCertificate as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.addEntraIdCertificate as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes addServerCertificate with closed client', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesAddServerCertificateRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesAddServerCertificateRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesAddServerCertificateRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedError = new Error('The client has already been closed.');
-            client.close().catch(err => {throw err});
-            await assert.rejects(client.addServerCertificate(request), expectedError);
-        });
+    it('invokes addEntraIdCertificate with closed client', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesAddEntraIdCertificateRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesAddEntraIdCertificateRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesAddEntraIdCertificateRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedError = new Error('The client has already been closed.');
+      client.close().catch((err) => {
+        throw err;
+      });
+      await assert.rejects(
+        client.addEntraIdCertificate(request),
+        expectedError,
+      );
+    });
+  });
+
+  describe('clone', () => {
+    it('invokes clone without error', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesCloneRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesCloneRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesCloneRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1.Operation(),
+      );
+      client.innerApiCalls.clone = stubSimpleCall(expectedResponse);
+      const [response] = await client.clone(request);
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (client.innerApiCalls.clone as SinonStub).getCall(0)
+        .args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.clone as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
     });
 
-    describe('addEntraIdCertificate', () => {
-        it('invokes addEntraIdCertificate without error', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesAddEntraIdCertificateRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesAddEntraIdCertificateRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesAddEntraIdCertificateRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1.Operation()
-            );
-            client.innerApiCalls.addEntraIdCertificate = stubSimpleCall(expectedResponse);
-            const [response] = await client.addEntraIdCertificate(request);
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.addEntraIdCertificate as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.addEntraIdCertificate as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+    it('invokes clone without error using callback', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesCloneRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesCloneRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesCloneRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1.Operation(),
+      );
+      client.innerApiCalls.clone = stubSimpleCallWithCallback(expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.clone(
+          request,
+          (
+            err?: Error | null,
+            result?: protos.google.cloud.sql.v1.IOperation | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
+            }
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (client.innerApiCalls.clone as SinonStub).getCall(0)
+        .args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.clone as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes addEntraIdCertificate without error using callback', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesAddEntraIdCertificateRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesAddEntraIdCertificateRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesAddEntraIdCertificateRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1.Operation()
-            );
-            client.innerApiCalls.addEntraIdCertificate = stubSimpleCallWithCallback(expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.addEntraIdCertificate(
-                    request,
-                    (err?: Error|null, result?: protos.google.cloud.sql.v1.IOperation|null) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.addEntraIdCertificate as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.addEntraIdCertificate as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+    it('invokes clone with error', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesCloneRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesCloneRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesCloneRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedError = new Error('expected');
+      client.innerApiCalls.clone = stubSimpleCall(undefined, expectedError);
+      await assert.rejects(client.clone(request), expectedError);
+      const actualRequest = (client.innerApiCalls.clone as SinonStub).getCall(0)
+        .args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.clone as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes addEntraIdCertificate with error', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesAddEntraIdCertificateRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesAddEntraIdCertificateRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesAddEntraIdCertificateRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedError = new Error('expected');
-            client.innerApiCalls.addEntraIdCertificate = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.addEntraIdCertificate(request), expectedError);
-            const actualRequest = (client.innerApiCalls.addEntraIdCertificate as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.addEntraIdCertificate as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+    it('invokes clone with closed client', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesCloneRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesCloneRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesCloneRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedError = new Error('The client has already been closed.');
+      client.close().catch((err) => {
+        throw err;
+      });
+      await assert.rejects(client.clone(request), expectedError);
+    });
+  });
+
+  describe('delete', () => {
+    it('invokes delete without error', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesDeleteRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesDeleteRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesDeleteRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1.Operation(),
+      );
+      client.innerApiCalls.delete = stubSimpleCall(expectedResponse);
+      const [response] = await client.delete(request);
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (client.innerApiCalls.delete as SinonStub).getCall(
+        0,
+      ).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.delete as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes addEntraIdCertificate with closed client', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesAddEntraIdCertificateRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesAddEntraIdCertificateRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesAddEntraIdCertificateRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedError = new Error('The client has already been closed.');
-            client.close().catch(err => {throw err});
-            await assert.rejects(client.addEntraIdCertificate(request), expectedError);
-        });
+    it('invokes delete without error using callback', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesDeleteRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesDeleteRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesDeleteRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1.Operation(),
+      );
+      client.innerApiCalls.delete =
+        stubSimpleCallWithCallback(expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.delete(
+          request,
+          (
+            err?: Error | null,
+            result?: protos.google.cloud.sql.v1.IOperation | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
+            }
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (client.innerApiCalls.delete as SinonStub).getCall(
+        0,
+      ).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.delete as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
     });
 
-    describe('clone', () => {
-        it('invokes clone without error', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesCloneRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesCloneRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesCloneRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1.Operation()
-            );
-            client.innerApiCalls.clone = stubSimpleCall(expectedResponse);
-            const [response] = await client.clone(request);
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.clone as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.clone as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+    it('invokes delete with error', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesDeleteRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesDeleteRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesDeleteRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedError = new Error('expected');
+      client.innerApiCalls.delete = stubSimpleCall(undefined, expectedError);
+      await assert.rejects(client.delete(request), expectedError);
+      const actualRequest = (client.innerApiCalls.delete as SinonStub).getCall(
+        0,
+      ).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.delete as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes clone without error using callback', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesCloneRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesCloneRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesCloneRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1.Operation()
-            );
-            client.innerApiCalls.clone = stubSimpleCallWithCallback(expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.clone(
-                    request,
-                    (err?: Error|null, result?: protos.google.cloud.sql.v1.IOperation|null) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.clone as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.clone as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+    it('invokes delete with closed client', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesDeleteRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesDeleteRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesDeleteRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedError = new Error('The client has already been closed.');
+      client.close().catch((err) => {
+        throw err;
+      });
+      await assert.rejects(client.delete(request), expectedError);
+    });
+  });
+
+  describe('demoteMaster', () => {
+    it('invokes demoteMaster without error', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesDemoteMasterRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesDemoteMasterRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesDemoteMasterRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1.Operation(),
+      );
+      client.innerApiCalls.demoteMaster = stubSimpleCall(expectedResponse);
+      const [response] = await client.demoteMaster(request);
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (
+        client.innerApiCalls.demoteMaster as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.demoteMaster as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes clone with error', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesCloneRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesCloneRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesCloneRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedError = new Error('expected');
-            client.innerApiCalls.clone = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.clone(request), expectedError);
-            const actualRequest = (client.innerApiCalls.clone as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.clone as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+    it('invokes demoteMaster without error using callback', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesDemoteMasterRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesDemoteMasterRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesDemoteMasterRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1.Operation(),
+      );
+      client.innerApiCalls.demoteMaster =
+        stubSimpleCallWithCallback(expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.demoteMaster(
+          request,
+          (
+            err?: Error | null,
+            result?: protos.google.cloud.sql.v1.IOperation | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
+            }
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (
+        client.innerApiCalls.demoteMaster as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.demoteMaster as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes clone with closed client', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesCloneRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesCloneRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesCloneRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedError = new Error('The client has already been closed.');
-            client.close().catch(err => {throw err});
-            await assert.rejects(client.clone(request), expectedError);
-        });
+    it('invokes demoteMaster with error', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesDemoteMasterRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesDemoteMasterRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesDemoteMasterRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedError = new Error('expected');
+      client.innerApiCalls.demoteMaster = stubSimpleCall(
+        undefined,
+        expectedError,
+      );
+      await assert.rejects(client.demoteMaster(request), expectedError);
+      const actualRequest = (
+        client.innerApiCalls.demoteMaster as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.demoteMaster as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
     });
 
-    describe('delete', () => {
-        it('invokes delete without error', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesDeleteRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesDeleteRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesDeleteRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1.Operation()
-            );
-            client.innerApiCalls.delete = stubSimpleCall(expectedResponse);
-            const [response] = await client.delete(request);
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.delete as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.delete as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+    it('invokes demoteMaster with closed client', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesDemoteMasterRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesDemoteMasterRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesDemoteMasterRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedError = new Error('The client has already been closed.');
+      client.close().catch((err) => {
+        throw err;
+      });
+      await assert.rejects(client.demoteMaster(request), expectedError);
+    });
+  });
+
+  describe('demote', () => {
+    it('invokes demote without error', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesDemoteRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesDemoteRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesDemoteRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1.Operation(),
+      );
+      client.innerApiCalls.demote = stubSimpleCall(expectedResponse);
+      const [response] = await client.demote(request);
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (client.innerApiCalls.demote as SinonStub).getCall(
+        0,
+      ).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.demote as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes delete without error using callback', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesDeleteRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesDeleteRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesDeleteRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1.Operation()
-            );
-            client.innerApiCalls.delete = stubSimpleCallWithCallback(expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.delete(
-                    request,
-                    (err?: Error|null, result?: protos.google.cloud.sql.v1.IOperation|null) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.delete as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.delete as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+    it('invokes demote without error using callback', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesDemoteRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesDemoteRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesDemoteRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1.Operation(),
+      );
+      client.innerApiCalls.demote =
+        stubSimpleCallWithCallback(expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.demote(
+          request,
+          (
+            err?: Error | null,
+            result?: protos.google.cloud.sql.v1.IOperation | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
+            }
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (client.innerApiCalls.demote as SinonStub).getCall(
+        0,
+      ).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.demote as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes delete with error', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesDeleteRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesDeleteRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesDeleteRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedError = new Error('expected');
-            client.innerApiCalls.delete = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.delete(request), expectedError);
-            const actualRequest = (client.innerApiCalls.delete as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.delete as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+    it('invokes demote with error', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesDemoteRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesDemoteRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesDemoteRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedError = new Error('expected');
+      client.innerApiCalls.demote = stubSimpleCall(undefined, expectedError);
+      await assert.rejects(client.demote(request), expectedError);
+      const actualRequest = (client.innerApiCalls.demote as SinonStub).getCall(
+        0,
+      ).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.demote as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes delete with closed client', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesDeleteRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesDeleteRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesDeleteRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedError = new Error('The client has already been closed.');
-            client.close().catch(err => {throw err});
-            await assert.rejects(client.delete(request), expectedError);
-        });
+    it('invokes demote with closed client', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesDemoteRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesDemoteRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesDemoteRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedError = new Error('The client has already been closed.');
+      client.close().catch((err) => {
+        throw err;
+      });
+      await assert.rejects(client.demote(request), expectedError);
+    });
+  });
+
+  describe('export', () => {
+    it('invokes export without error', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesExportRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesExportRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesExportRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1.Operation(),
+      );
+      client.innerApiCalls.export = stubSimpleCall(expectedResponse);
+      const [response] = await client.export(request);
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (client.innerApiCalls.export as SinonStub).getCall(
+        0,
+      ).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.export as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
     });
 
-    describe('demoteMaster', () => {
-        it('invokes demoteMaster without error', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesDemoteMasterRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesDemoteMasterRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesDemoteMasterRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1.Operation()
-            );
-            client.innerApiCalls.demoteMaster = stubSimpleCall(expectedResponse);
-            const [response] = await client.demoteMaster(request);
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.demoteMaster as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.demoteMaster as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+    it('invokes export without error using callback', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesExportRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesExportRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesExportRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1.Operation(),
+      );
+      client.innerApiCalls.export =
+        stubSimpleCallWithCallback(expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.export(
+          request,
+          (
+            err?: Error | null,
+            result?: protos.google.cloud.sql.v1.IOperation | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
+            }
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (client.innerApiCalls.export as SinonStub).getCall(
+        0,
+      ).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.export as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes demoteMaster without error using callback', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesDemoteMasterRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesDemoteMasterRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesDemoteMasterRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1.Operation()
-            );
-            client.innerApiCalls.demoteMaster = stubSimpleCallWithCallback(expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.demoteMaster(
-                    request,
-                    (err?: Error|null, result?: protos.google.cloud.sql.v1.IOperation|null) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.demoteMaster as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.demoteMaster as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+    it('invokes export with error', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesExportRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesExportRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesExportRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedError = new Error('expected');
+      client.innerApiCalls.export = stubSimpleCall(undefined, expectedError);
+      await assert.rejects(client.export(request), expectedError);
+      const actualRequest = (client.innerApiCalls.export as SinonStub).getCall(
+        0,
+      ).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.export as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes demoteMaster with error', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesDemoteMasterRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesDemoteMasterRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesDemoteMasterRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedError = new Error('expected');
-            client.innerApiCalls.demoteMaster = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.demoteMaster(request), expectedError);
-            const actualRequest = (client.innerApiCalls.demoteMaster as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.demoteMaster as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+    it('invokes export with closed client', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesExportRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesExportRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesExportRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedError = new Error('The client has already been closed.');
+      client.close().catch((err) => {
+        throw err;
+      });
+      await assert.rejects(client.export(request), expectedError);
+    });
+  });
+
+  describe('failover', () => {
+    it('invokes failover without error', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesFailoverRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesFailoverRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesFailoverRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1.Operation(),
+      );
+      client.innerApiCalls.failover = stubSimpleCall(expectedResponse);
+      const [response] = await client.failover(request);
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (
+        client.innerApiCalls.failover as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.failover as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes demoteMaster with closed client', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesDemoteMasterRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesDemoteMasterRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesDemoteMasterRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedError = new Error('The client has already been closed.');
-            client.close().catch(err => {throw err});
-            await assert.rejects(client.demoteMaster(request), expectedError);
-        });
+    it('invokes failover without error using callback', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesFailoverRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesFailoverRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesFailoverRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1.Operation(),
+      );
+      client.innerApiCalls.failover =
+        stubSimpleCallWithCallback(expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.failover(
+          request,
+          (
+            err?: Error | null,
+            result?: protos.google.cloud.sql.v1.IOperation | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
+            }
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (
+        client.innerApiCalls.failover as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.failover as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
     });
 
-    describe('demote', () => {
-        it('invokes demote without error', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesDemoteRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesDemoteRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesDemoteRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1.Operation()
-            );
-            client.innerApiCalls.demote = stubSimpleCall(expectedResponse);
-            const [response] = await client.demote(request);
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.demote as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.demote as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+    it('invokes failover with error', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesFailoverRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesFailoverRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesFailoverRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedError = new Error('expected');
+      client.innerApiCalls.failover = stubSimpleCall(undefined, expectedError);
+      await assert.rejects(client.failover(request), expectedError);
+      const actualRequest = (
+        client.innerApiCalls.failover as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.failover as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes demote without error using callback', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesDemoteRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesDemoteRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesDemoteRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1.Operation()
-            );
-            client.innerApiCalls.demote = stubSimpleCallWithCallback(expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.demote(
-                    request,
-                    (err?: Error|null, result?: protos.google.cloud.sql.v1.IOperation|null) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.demote as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.demote as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+    it('invokes failover with closed client', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesFailoverRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesFailoverRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesFailoverRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedError = new Error('The client has already been closed.');
+      client.close().catch((err) => {
+        throw err;
+      });
+      await assert.rejects(client.failover(request), expectedError);
+    });
+  });
+
+  describe('reencrypt', () => {
+    it('invokes reencrypt without error', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesReencryptRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesReencryptRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesReencryptRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1.Operation(),
+      );
+      client.innerApiCalls.reencrypt = stubSimpleCall(expectedResponse);
+      const [response] = await client.reencrypt(request);
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (
+        client.innerApiCalls.reencrypt as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.reencrypt as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes demote with error', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesDemoteRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesDemoteRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesDemoteRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedError = new Error('expected');
-            client.innerApiCalls.demote = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.demote(request), expectedError);
-            const actualRequest = (client.innerApiCalls.demote as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.demote as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+    it('invokes reencrypt without error using callback', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesReencryptRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesReencryptRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesReencryptRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1.Operation(),
+      );
+      client.innerApiCalls.reencrypt =
+        stubSimpleCallWithCallback(expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.reencrypt(
+          request,
+          (
+            err?: Error | null,
+            result?: protos.google.cloud.sql.v1.IOperation | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
+            }
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (
+        client.innerApiCalls.reencrypt as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.reencrypt as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes demote with closed client', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesDemoteRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesDemoteRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesDemoteRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedError = new Error('The client has already been closed.');
-            client.close().catch(err => {throw err});
-            await assert.rejects(client.demote(request), expectedError);
-        });
+    it('invokes reencrypt with error', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesReencryptRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesReencryptRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesReencryptRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedError = new Error('expected');
+      client.innerApiCalls.reencrypt = stubSimpleCall(undefined, expectedError);
+      await assert.rejects(client.reencrypt(request), expectedError);
+      const actualRequest = (
+        client.innerApiCalls.reencrypt as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.reencrypt as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
     });
 
-    describe('export', () => {
-        it('invokes export without error', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesExportRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesExportRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesExportRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1.Operation()
-            );
-            client.innerApiCalls.export = stubSimpleCall(expectedResponse);
-            const [response] = await client.export(request);
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.export as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.export as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+    it('invokes reencrypt with closed client', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesReencryptRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesReencryptRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesReencryptRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedError = new Error('The client has already been closed.');
+      client.close().catch((err) => {
+        throw err;
+      });
+      await assert.rejects(client.reencrypt(request), expectedError);
+    });
+  });
+
+  describe('get', () => {
+    it('invokes get without error', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesGetRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesGetRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesGetRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1.DatabaseInstance(),
+      );
+      client.innerApiCalls.get = stubSimpleCall(expectedResponse);
+      const [response] = await client.get(request);
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (client.innerApiCalls.get as SinonStub).getCall(0)
+        .args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.get as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes export without error using callback', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesExportRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesExportRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesExportRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1.Operation()
-            );
-            client.innerApiCalls.export = stubSimpleCallWithCallback(expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.export(
-                    request,
-                    (err?: Error|null, result?: protos.google.cloud.sql.v1.IOperation|null) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.export as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.export as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+    it('invokes get without error using callback', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesGetRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesGetRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesGetRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1.DatabaseInstance(),
+      );
+      client.innerApiCalls.get = stubSimpleCallWithCallback(expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.get(
+          request,
+          (
+            err?: Error | null,
+            result?: protos.google.cloud.sql.v1.IDatabaseInstance | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
+            }
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (client.innerApiCalls.get as SinonStub).getCall(0)
+        .args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.get as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes export with error', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesExportRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesExportRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesExportRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedError = new Error('expected');
-            client.innerApiCalls.export = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.export(request), expectedError);
-            const actualRequest = (client.innerApiCalls.export as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.export as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+    it('invokes get with error', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesGetRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesGetRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesGetRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedError = new Error('expected');
+      client.innerApiCalls.get = stubSimpleCall(undefined, expectedError);
+      await assert.rejects(client.get(request), expectedError);
+      const actualRequest = (client.innerApiCalls.get as SinonStub).getCall(0)
+        .args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.get as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes export with closed client', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesExportRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesExportRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesExportRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedError = new Error('The client has already been closed.');
-            client.close().catch(err => {throw err});
-            await assert.rejects(client.export(request), expectedError);
-        });
+    it('invokes get with closed client', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesGetRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesGetRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesGetRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedError = new Error('The client has already been closed.');
+      client.close().catch((err) => {
+        throw err;
+      });
+      await assert.rejects(client.get(request), expectedError);
+    });
+  });
+
+  describe('import', () => {
+    it('invokes import without error', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesImportRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesImportRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesImportRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1.Operation(),
+      );
+      client.innerApiCalls.import = stubSimpleCall(expectedResponse);
+      const [response] = await client.import(request);
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (client.innerApiCalls.import as SinonStub).getCall(
+        0,
+      ).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.import as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
     });
 
-    describe('failover', () => {
-        it('invokes failover without error', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesFailoverRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesFailoverRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesFailoverRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1.Operation()
-            );
-            client.innerApiCalls.failover = stubSimpleCall(expectedResponse);
-            const [response] = await client.failover(request);
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.failover as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.failover as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+    it('invokes import without error using callback', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesImportRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesImportRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesImportRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1.Operation(),
+      );
+      client.innerApiCalls.import =
+        stubSimpleCallWithCallback(expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.import(
+          request,
+          (
+            err?: Error | null,
+            result?: protos.google.cloud.sql.v1.IOperation | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
+            }
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (client.innerApiCalls.import as SinonStub).getCall(
+        0,
+      ).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.import as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes failover without error using callback', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesFailoverRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesFailoverRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesFailoverRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1.Operation()
-            );
-            client.innerApiCalls.failover = stubSimpleCallWithCallback(expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.failover(
-                    request,
-                    (err?: Error|null, result?: protos.google.cloud.sql.v1.IOperation|null) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.failover as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.failover as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+    it('invokes import with error', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesImportRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesImportRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesImportRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedError = new Error('expected');
+      client.innerApiCalls.import = stubSimpleCall(undefined, expectedError);
+      await assert.rejects(client.import(request), expectedError);
+      const actualRequest = (client.innerApiCalls.import as SinonStub).getCall(
+        0,
+      ).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.import as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes failover with error', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesFailoverRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesFailoverRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesFailoverRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedError = new Error('expected');
-            client.innerApiCalls.failover = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.failover(request), expectedError);
-            const actualRequest = (client.innerApiCalls.failover as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.failover as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+    it('invokes import with closed client', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesImportRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesImportRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesImportRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedError = new Error('The client has already been closed.');
+      client.close().catch((err) => {
+        throw err;
+      });
+      await assert.rejects(client.import(request), expectedError);
+    });
+  });
+
+  describe('insert', () => {
+    it('invokes insert without error', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesInsertRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesInsertRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1.Operation(),
+      );
+      client.innerApiCalls.insert = stubSimpleCall(expectedResponse);
+      const [response] = await client.insert(request);
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (client.innerApiCalls.insert as SinonStub).getCall(
+        0,
+      ).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.insert as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes failover with closed client', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesFailoverRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesFailoverRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesFailoverRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedError = new Error('The client has already been closed.');
-            client.close().catch(err => {throw err});
-            await assert.rejects(client.failover(request), expectedError);
-        });
+    it('invokes insert without error using callback', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesInsertRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesInsertRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1.Operation(),
+      );
+      client.innerApiCalls.insert =
+        stubSimpleCallWithCallback(expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.insert(
+          request,
+          (
+            err?: Error | null,
+            result?: protos.google.cloud.sql.v1.IOperation | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
+            }
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (client.innerApiCalls.insert as SinonStub).getCall(
+        0,
+      ).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.insert as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
     });
 
-    describe('reencrypt', () => {
-        it('invokes reencrypt without error', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesReencryptRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesReencryptRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesReencryptRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1.Operation()
-            );
-            client.innerApiCalls.reencrypt = stubSimpleCall(expectedResponse);
-            const [response] = await client.reencrypt(request);
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.reencrypt as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.reencrypt as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+    it('invokes insert with error', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesInsertRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesInsertRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}`;
+      const expectedError = new Error('expected');
+      client.innerApiCalls.insert = stubSimpleCall(undefined, expectedError);
+      await assert.rejects(client.insert(request), expectedError);
+      const actualRequest = (client.innerApiCalls.insert as SinonStub).getCall(
+        0,
+      ).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.insert as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes reencrypt without error using callback', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesReencryptRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesReencryptRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesReencryptRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1.Operation()
-            );
-            client.innerApiCalls.reencrypt = stubSimpleCallWithCallback(expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.reencrypt(
-                    request,
-                    (err?: Error|null, result?: protos.google.cloud.sql.v1.IOperation|null) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.reencrypt as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.reencrypt as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+    it('invokes insert with closed client', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesInsertRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesInsertRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const expectedError = new Error('The client has already been closed.');
+      client.close().catch((err) => {
+        throw err;
+      });
+      await assert.rejects(client.insert(request), expectedError);
+    });
+  });
+
+  describe('list', () => {
+    it('invokes list without error', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesListRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesListRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1.InstancesListResponse(),
+      );
+      client.innerApiCalls.list = stubSimpleCall(expectedResponse);
+      const [response] = await client.list(request);
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (client.innerApiCalls.list as SinonStub).getCall(0)
+        .args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.list as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes reencrypt with error', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesReencryptRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesReencryptRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesReencryptRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedError = new Error('expected');
-            client.innerApiCalls.reencrypt = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.reencrypt(request), expectedError);
-            const actualRequest = (client.innerApiCalls.reencrypt as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.reencrypt as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+    it('invokes list without error using callback', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesListRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesListRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1.InstancesListResponse(),
+      );
+      client.innerApiCalls.list = stubSimpleCallWithCallback(expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.list(
+          request,
+          (
+            err?: Error | null,
+            result?: protos.google.cloud.sql.v1.IInstancesListResponse | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
+            }
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (client.innerApiCalls.list as SinonStub).getCall(0)
+        .args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.list as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes reencrypt with closed client', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesReencryptRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesReencryptRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesReencryptRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedError = new Error('The client has already been closed.');
-            client.close().catch(err => {throw err});
-            await assert.rejects(client.reencrypt(request), expectedError);
-        });
+    it('invokes list with error', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesListRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesListRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}`;
+      const expectedError = new Error('expected');
+      client.innerApiCalls.list = stubSimpleCall(undefined, expectedError);
+      await assert.rejects(client.list(request), expectedError);
+      const actualRequest = (client.innerApiCalls.list as SinonStub).getCall(0)
+        .args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.list as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
     });
 
-    describe('get', () => {
-        it('invokes get without error', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesGetRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesGetRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesGetRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1.DatabaseInstance()
-            );
-            client.innerApiCalls.get = stubSimpleCall(expectedResponse);
-            const [response] = await client.get(request);
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.get as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.get as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+    it('invokes list with closed client', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesListRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesListRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const expectedError = new Error('The client has already been closed.');
+      client.close().catch((err) => {
+        throw err;
+      });
+      await assert.rejects(client.list(request), expectedError);
+    });
+  });
+
+  describe('listServerCas', () => {
+    it('invokes listServerCas without error', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesListServerCasRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesListServerCasRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesListServerCasRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1.InstancesListServerCasResponse(),
+      );
+      client.innerApiCalls.listServerCas = stubSimpleCall(expectedResponse);
+      const [response] = await client.listServerCas(request);
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (
+        client.innerApiCalls.listServerCas as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.listServerCas as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes get without error using callback', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesGetRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesGetRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesGetRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1.DatabaseInstance()
-            );
-            client.innerApiCalls.get = stubSimpleCallWithCallback(expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.get(
-                    request,
-                    (err?: Error|null, result?: protos.google.cloud.sql.v1.IDatabaseInstance|null) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.get as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.get as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+    it('invokes listServerCas without error using callback', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesListServerCasRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesListServerCasRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesListServerCasRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1.InstancesListServerCasResponse(),
+      );
+      client.innerApiCalls.listServerCas =
+        stubSimpleCallWithCallback(expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.listServerCas(
+          request,
+          (
+            err?: Error | null,
+            result?: protos.google.cloud.sql.v1.IInstancesListServerCasResponse | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
+            }
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (
+        client.innerApiCalls.listServerCas as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.listServerCas as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes get with error', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesGetRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesGetRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesGetRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedError = new Error('expected');
-            client.innerApiCalls.get = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.get(request), expectedError);
-            const actualRequest = (client.innerApiCalls.get as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.get as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+    it('invokes listServerCas with error', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesListServerCasRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesListServerCasRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesListServerCasRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedError = new Error('expected');
+      client.innerApiCalls.listServerCas = stubSimpleCall(
+        undefined,
+        expectedError,
+      );
+      await assert.rejects(client.listServerCas(request), expectedError);
+      const actualRequest = (
+        client.innerApiCalls.listServerCas as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.listServerCas as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes get with closed client', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesGetRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesGetRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesGetRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedError = new Error('The client has already been closed.');
-            client.close().catch(err => {throw err});
-            await assert.rejects(client.get(request), expectedError);
-        });
+    it('invokes listServerCas with closed client', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesListServerCasRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesListServerCasRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesListServerCasRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedError = new Error('The client has already been closed.');
+      client.close().catch((err) => {
+        throw err;
+      });
+      await assert.rejects(client.listServerCas(request), expectedError);
+    });
+  });
+
+  describe('listServerCertificates', () => {
+    it('invokes listServerCertificates without error', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesListServerCertificatesRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesListServerCertificatesRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesListServerCertificatesRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1.InstancesListServerCertificatesResponse(),
+      );
+      client.innerApiCalls.listServerCertificates =
+        stubSimpleCall(expectedResponse);
+      const [response] = await client.listServerCertificates(request);
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (
+        client.innerApiCalls.listServerCertificates as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.listServerCertificates as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
     });
 
-    describe('import', () => {
-        it('invokes import without error', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesImportRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesImportRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesImportRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1.Operation()
-            );
-            client.innerApiCalls.import = stubSimpleCall(expectedResponse);
-            const [response] = await client.import(request);
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.import as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.import as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+    it('invokes listServerCertificates without error using callback', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesListServerCertificatesRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesListServerCertificatesRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesListServerCertificatesRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1.InstancesListServerCertificatesResponse(),
+      );
+      client.innerApiCalls.listServerCertificates =
+        stubSimpleCallWithCallback(expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.listServerCertificates(
+          request,
+          (
+            err?: Error | null,
+            result?: protos.google.cloud.sql.v1.IInstancesListServerCertificatesResponse | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
+            }
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (
+        client.innerApiCalls.listServerCertificates as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.listServerCertificates as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes import without error using callback', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesImportRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesImportRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesImportRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1.Operation()
-            );
-            client.innerApiCalls.import = stubSimpleCallWithCallback(expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.import(
-                    request,
-                    (err?: Error|null, result?: protos.google.cloud.sql.v1.IOperation|null) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.import as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.import as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+    it('invokes listServerCertificates with error', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesListServerCertificatesRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesListServerCertificatesRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesListServerCertificatesRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedError = new Error('expected');
+      client.innerApiCalls.listServerCertificates = stubSimpleCall(
+        undefined,
+        expectedError,
+      );
+      await assert.rejects(
+        client.listServerCertificates(request),
+        expectedError,
+      );
+      const actualRequest = (
+        client.innerApiCalls.listServerCertificates as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.listServerCertificates as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes import with error', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesImportRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesImportRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesImportRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedError = new Error('expected');
-            client.innerApiCalls.import = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.import(request), expectedError);
-            const actualRequest = (client.innerApiCalls.import as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.import as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+    it('invokes listServerCertificates with closed client', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesListServerCertificatesRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesListServerCertificatesRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesListServerCertificatesRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedError = new Error('The client has already been closed.');
+      client.close().catch((err) => {
+        throw err;
+      });
+      await assert.rejects(
+        client.listServerCertificates(request),
+        expectedError,
+      );
+    });
+  });
+
+  describe('listEntraIdCertificates', () => {
+    it('invokes listEntraIdCertificates without error', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesListEntraIdCertificatesRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesListEntraIdCertificatesRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesListEntraIdCertificatesRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1.InstancesListEntraIdCertificatesResponse(),
+      );
+      client.innerApiCalls.listEntraIdCertificates =
+        stubSimpleCall(expectedResponse);
+      const [response] = await client.listEntraIdCertificates(request);
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (
+        client.innerApiCalls.listEntraIdCertificates as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.listEntraIdCertificates as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes import with closed client', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesImportRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesImportRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesImportRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedError = new Error('The client has already been closed.');
-            client.close().catch(err => {throw err});
-            await assert.rejects(client.import(request), expectedError);
-        });
+    it('invokes listEntraIdCertificates without error using callback', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesListEntraIdCertificatesRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesListEntraIdCertificatesRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesListEntraIdCertificatesRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1.InstancesListEntraIdCertificatesResponse(),
+      );
+      client.innerApiCalls.listEntraIdCertificates =
+        stubSimpleCallWithCallback(expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.listEntraIdCertificates(
+          request,
+          (
+            err?: Error | null,
+            result?: protos.google.cloud.sql.v1.IInstancesListEntraIdCertificatesResponse | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
+            }
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (
+        client.innerApiCalls.listEntraIdCertificates as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.listEntraIdCertificates as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
     });
 
-    describe('insert', () => {
-        it('invokes insert without error', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesInsertRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesInsertRequest', ['project']);
-            request.project = defaultValue1;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1.Operation()
-            );
-            client.innerApiCalls.insert = stubSimpleCall(expectedResponse);
-            const [response] = await client.insert(request);
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.insert as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.insert as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+    it('invokes listEntraIdCertificates with error', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesListEntraIdCertificatesRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesListEntraIdCertificatesRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesListEntraIdCertificatesRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedError = new Error('expected');
+      client.innerApiCalls.listEntraIdCertificates = stubSimpleCall(
+        undefined,
+        expectedError,
+      );
+      await assert.rejects(
+        client.listEntraIdCertificates(request),
+        expectedError,
+      );
+      const actualRequest = (
+        client.innerApiCalls.listEntraIdCertificates as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.listEntraIdCertificates as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes insert without error using callback', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesInsertRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesInsertRequest', ['project']);
-            request.project = defaultValue1;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1.Operation()
-            );
-            client.innerApiCalls.insert = stubSimpleCallWithCallback(expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.insert(
-                    request,
-                    (err?: Error|null, result?: protos.google.cloud.sql.v1.IOperation|null) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.insert as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.insert as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+    it('invokes listEntraIdCertificates with closed client', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesListEntraIdCertificatesRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesListEntraIdCertificatesRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesListEntraIdCertificatesRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedError = new Error('The client has already been closed.');
+      client.close().catch((err) => {
+        throw err;
+      });
+      await assert.rejects(
+        client.listEntraIdCertificates(request),
+        expectedError,
+      );
+    });
+  });
+
+  describe('patch', () => {
+    it('invokes patch without error', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesPatchRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesPatchRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesPatchRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1.Operation(),
+      );
+      client.innerApiCalls.patch = stubSimpleCall(expectedResponse);
+      const [response] = await client.patch(request);
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (client.innerApiCalls.patch as SinonStub).getCall(0)
+        .args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.patch as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes insert with error', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesInsertRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesInsertRequest', ['project']);
-            request.project = defaultValue1;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }`;
-            const expectedError = new Error('expected');
-            client.innerApiCalls.insert = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.insert(request), expectedError);
-            const actualRequest = (client.innerApiCalls.insert as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.insert as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+    it('invokes patch without error using callback', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesPatchRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesPatchRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesPatchRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1.Operation(),
+      );
+      client.innerApiCalls.patch = stubSimpleCallWithCallback(expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.patch(
+          request,
+          (
+            err?: Error | null,
+            result?: protos.google.cloud.sql.v1.IOperation | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
+            }
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (client.innerApiCalls.patch as SinonStub).getCall(0)
+        .args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.patch as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes insert with closed client', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesInsertRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesInsertRequest', ['project']);
-            request.project = defaultValue1;
-            const expectedError = new Error('The client has already been closed.');
-            client.close().catch(err => {throw err});
-            await assert.rejects(client.insert(request), expectedError);
-        });
+    it('invokes patch with error', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesPatchRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesPatchRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesPatchRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedError = new Error('expected');
+      client.innerApiCalls.patch = stubSimpleCall(undefined, expectedError);
+      await assert.rejects(client.patch(request), expectedError);
+      const actualRequest = (client.innerApiCalls.patch as SinonStub).getCall(0)
+        .args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.patch as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
     });
 
-    describe('list', () => {
-        it('invokes list without error', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesListRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesListRequest', ['project']);
-            request.project = defaultValue1;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1.InstancesListResponse()
-            );
-            client.innerApiCalls.list = stubSimpleCall(expectedResponse);
-            const [response] = await client.list(request);
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.list as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.list as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+    it('invokes patch with closed client', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesPatchRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesPatchRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesPatchRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedError = new Error('The client has already been closed.');
+      client.close().catch((err) => {
+        throw err;
+      });
+      await assert.rejects(client.patch(request), expectedError);
+    });
+  });
+
+  describe('promoteReplica', () => {
+    it('invokes promoteReplica without error', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesPromoteReplicaRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesPromoteReplicaRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesPromoteReplicaRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1.Operation(),
+      );
+      client.innerApiCalls.promoteReplica = stubSimpleCall(expectedResponse);
+      const [response] = await client.promoteReplica(request);
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (
+        client.innerApiCalls.promoteReplica as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.promoteReplica as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes list without error using callback', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesListRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesListRequest', ['project']);
-            request.project = defaultValue1;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1.InstancesListResponse()
-            );
-            client.innerApiCalls.list = stubSimpleCallWithCallback(expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.list(
-                    request,
-                    (err?: Error|null, result?: protos.google.cloud.sql.v1.IInstancesListResponse|null) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.list as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.list as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+    it('invokes promoteReplica without error using callback', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesPromoteReplicaRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesPromoteReplicaRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesPromoteReplicaRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1.Operation(),
+      );
+      client.innerApiCalls.promoteReplica =
+        stubSimpleCallWithCallback(expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.promoteReplica(
+          request,
+          (
+            err?: Error | null,
+            result?: protos.google.cloud.sql.v1.IOperation | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
+            }
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (
+        client.innerApiCalls.promoteReplica as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.promoteReplica as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes list with error', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesListRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesListRequest', ['project']);
-            request.project = defaultValue1;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }`;
-            const expectedError = new Error('expected');
-            client.innerApiCalls.list = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.list(request), expectedError);
-            const actualRequest = (client.innerApiCalls.list as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.list as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+    it('invokes promoteReplica with error', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesPromoteReplicaRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesPromoteReplicaRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesPromoteReplicaRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedError = new Error('expected');
+      client.innerApiCalls.promoteReplica = stubSimpleCall(
+        undefined,
+        expectedError,
+      );
+      await assert.rejects(client.promoteReplica(request), expectedError);
+      const actualRequest = (
+        client.innerApiCalls.promoteReplica as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.promoteReplica as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes list with closed client', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesListRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesListRequest', ['project']);
-            request.project = defaultValue1;
-            const expectedError = new Error('The client has already been closed.');
-            client.close().catch(err => {throw err});
-            await assert.rejects(client.list(request), expectedError);
-        });
+    it('invokes promoteReplica with closed client', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesPromoteReplicaRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesPromoteReplicaRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesPromoteReplicaRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedError = new Error('The client has already been closed.');
+      client.close().catch((err) => {
+        throw err;
+      });
+      await assert.rejects(client.promoteReplica(request), expectedError);
+    });
+  });
+
+  describe('switchover', () => {
+    it('invokes switchover without error', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesSwitchoverRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesSwitchoverRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesSwitchoverRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1.Operation(),
+      );
+      client.innerApiCalls.switchover = stubSimpleCall(expectedResponse);
+      const [response] = await client.switchover(request);
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (
+        client.innerApiCalls.switchover as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.switchover as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
     });
 
-    describe('listServerCas', () => {
-        it('invokes listServerCas without error', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesListServerCasRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesListServerCasRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesListServerCasRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1.InstancesListServerCasResponse()
-            );
-            client.innerApiCalls.listServerCas = stubSimpleCall(expectedResponse);
-            const [response] = await client.listServerCas(request);
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.listServerCas as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.listServerCas as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+    it('invokes switchover without error using callback', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesSwitchoverRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesSwitchoverRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesSwitchoverRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1.Operation(),
+      );
+      client.innerApiCalls.switchover =
+        stubSimpleCallWithCallback(expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.switchover(
+          request,
+          (
+            err?: Error | null,
+            result?: protos.google.cloud.sql.v1.IOperation | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
+            }
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (
+        client.innerApiCalls.switchover as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.switchover as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes listServerCas without error using callback', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesListServerCasRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesListServerCasRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesListServerCasRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1.InstancesListServerCasResponse()
-            );
-            client.innerApiCalls.listServerCas = stubSimpleCallWithCallback(expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.listServerCas(
-                    request,
-                    (err?: Error|null, result?: protos.google.cloud.sql.v1.IInstancesListServerCasResponse|null) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.listServerCas as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.listServerCas as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+    it('invokes switchover with error', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesSwitchoverRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesSwitchoverRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesSwitchoverRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedError = new Error('expected');
+      client.innerApiCalls.switchover = stubSimpleCall(
+        undefined,
+        expectedError,
+      );
+      await assert.rejects(client.switchover(request), expectedError);
+      const actualRequest = (
+        client.innerApiCalls.switchover as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.switchover as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes listServerCas with error', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesListServerCasRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesListServerCasRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesListServerCasRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedError = new Error('expected');
-            client.innerApiCalls.listServerCas = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.listServerCas(request), expectedError);
-            const actualRequest = (client.innerApiCalls.listServerCas as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.listServerCas as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes listServerCas with closed client', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesListServerCasRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesListServerCasRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesListServerCasRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedError = new Error('The client has already been closed.');
-            client.close().catch(err => {throw err});
-            await assert.rejects(client.listServerCas(request), expectedError);
-        });
+    it('invokes switchover with closed client', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesSwitchoverRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesSwitchoverRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesSwitchoverRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedError = new Error('The client has already been closed.');
+      client.close().catch((err) => {
+        throw err;
+      });
+      await assert.rejects(client.switchover(request), expectedError);
     });
-
-    describe('listServerCertificates', () => {
-        it('invokes listServerCertificates without error', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesListServerCertificatesRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesListServerCertificatesRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesListServerCertificatesRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1.InstancesListServerCertificatesResponse()
-            );
-            client.innerApiCalls.listServerCertificates = stubSimpleCall(expectedResponse);
-            const [response] = await client.listServerCertificates(request);
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.listServerCertificates as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.listServerCertificates as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes listServerCertificates without error using callback', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesListServerCertificatesRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesListServerCertificatesRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesListServerCertificatesRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1.InstancesListServerCertificatesResponse()
-            );
-            client.innerApiCalls.listServerCertificates = stubSimpleCallWithCallback(expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.listServerCertificates(
-                    request,
-                    (err?: Error|null, result?: protos.google.cloud.sql.v1.IInstancesListServerCertificatesResponse|null) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.listServerCertificates as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.listServerCertificates as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes listServerCertificates with error', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesListServerCertificatesRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesListServerCertificatesRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesListServerCertificatesRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedError = new Error('expected');
-            client.innerApiCalls.listServerCertificates = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.listServerCertificates(request), expectedError);
-            const actualRequest = (client.innerApiCalls.listServerCertificates as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.listServerCertificates as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes listServerCertificates with closed client', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesListServerCertificatesRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesListServerCertificatesRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesListServerCertificatesRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedError = new Error('The client has already been closed.');
-            client.close().catch(err => {throw err});
-            await assert.rejects(client.listServerCertificates(request), expectedError);
-        });
+  });
+
+  describe('resetSslConfig', () => {
+    it('invokes resetSslConfig without error', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesResetSslConfigRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesResetSslConfigRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesResetSslConfigRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1.Operation(),
+      );
+      client.innerApiCalls.resetSslConfig = stubSimpleCall(expectedResponse);
+      const [response] = await client.resetSslConfig(request);
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (
+        client.innerApiCalls.resetSslConfig as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.resetSslConfig as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
     });
 
-    describe('listEntraIdCertificates', () => {
-        it('invokes listEntraIdCertificates without error', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesListEntraIdCertificatesRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesListEntraIdCertificatesRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesListEntraIdCertificatesRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1.InstancesListEntraIdCertificatesResponse()
-            );
-            client.innerApiCalls.listEntraIdCertificates = stubSimpleCall(expectedResponse);
-            const [response] = await client.listEntraIdCertificates(request);
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.listEntraIdCertificates as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.listEntraIdCertificates as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes listEntraIdCertificates without error using callback', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesListEntraIdCertificatesRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesListEntraIdCertificatesRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesListEntraIdCertificatesRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1.InstancesListEntraIdCertificatesResponse()
-            );
-            client.innerApiCalls.listEntraIdCertificates = stubSimpleCallWithCallback(expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.listEntraIdCertificates(
-                    request,
-                    (err?: Error|null, result?: protos.google.cloud.sql.v1.IInstancesListEntraIdCertificatesResponse|null) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.listEntraIdCertificates as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.listEntraIdCertificates as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes listEntraIdCertificates with error', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesListEntraIdCertificatesRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesListEntraIdCertificatesRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesListEntraIdCertificatesRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedError = new Error('expected');
-            client.innerApiCalls.listEntraIdCertificates = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.listEntraIdCertificates(request), expectedError);
-            const actualRequest = (client.innerApiCalls.listEntraIdCertificates as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.listEntraIdCertificates as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes listEntraIdCertificates with closed client', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesListEntraIdCertificatesRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesListEntraIdCertificatesRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesListEntraIdCertificatesRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedError = new Error('The client has already been closed.');
-            client.close().catch(err => {throw err});
-            await assert.rejects(client.listEntraIdCertificates(request), expectedError);
-        });
+    it('invokes resetSslConfig without error using callback', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesResetSslConfigRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesResetSslConfigRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesResetSslConfigRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1.Operation(),
+      );
+      client.innerApiCalls.resetSslConfig =
+        stubSimpleCallWithCallback(expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.resetSslConfig(
+          request,
+          (
+            err?: Error | null,
+            result?: protos.google.cloud.sql.v1.IOperation | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
+            }
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (
+        client.innerApiCalls.resetSslConfig as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.resetSslConfig as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
     });
 
-    describe('patch', () => {
-        it('invokes patch without error', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesPatchRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesPatchRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesPatchRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1.Operation()
-            );
-            client.innerApiCalls.patch = stubSimpleCall(expectedResponse);
-            const [response] = await client.patch(request);
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.patch as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.patch as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes patch without error using callback', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesPatchRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesPatchRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesPatchRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1.Operation()
-            );
-            client.innerApiCalls.patch = stubSimpleCallWithCallback(expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.patch(
-                    request,
-                    (err?: Error|null, result?: protos.google.cloud.sql.v1.IOperation|null) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.patch as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.patch as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes patch with error', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesPatchRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesPatchRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesPatchRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedError = new Error('expected');
-            client.innerApiCalls.patch = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.patch(request), expectedError);
-            const actualRequest = (client.innerApiCalls.patch as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.patch as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes patch with closed client', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesPatchRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesPatchRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesPatchRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedError = new Error('The client has already been closed.');
-            client.close().catch(err => {throw err});
-            await assert.rejects(client.patch(request), expectedError);
-        });
+    it('invokes resetSslConfig with error', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesResetSslConfigRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesResetSslConfigRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesResetSslConfigRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedError = new Error('expected');
+      client.innerApiCalls.resetSslConfig = stubSimpleCall(
+        undefined,
+        expectedError,
+      );
+      await assert.rejects(client.resetSslConfig(request), expectedError);
+      const actualRequest = (
+        client.innerApiCalls.resetSslConfig as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.resetSslConfig as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
     });
 
-    describe('promoteReplica', () => {
-        it('invokes promoteReplica without error', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesPromoteReplicaRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesPromoteReplicaRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesPromoteReplicaRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1.Operation()
-            );
-            client.innerApiCalls.promoteReplica = stubSimpleCall(expectedResponse);
-            const [response] = await client.promoteReplica(request);
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.promoteReplica as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.promoteReplica as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes promoteReplica without error using callback', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesPromoteReplicaRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesPromoteReplicaRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesPromoteReplicaRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1.Operation()
-            );
-            client.innerApiCalls.promoteReplica = stubSimpleCallWithCallback(expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.promoteReplica(
-                    request,
-                    (err?: Error|null, result?: protos.google.cloud.sql.v1.IOperation|null) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.promoteReplica as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.promoteReplica as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes promoteReplica with error', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesPromoteReplicaRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesPromoteReplicaRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesPromoteReplicaRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedError = new Error('expected');
-            client.innerApiCalls.promoteReplica = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.promoteReplica(request), expectedError);
-            const actualRequest = (client.innerApiCalls.promoteReplica as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.promoteReplica as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes promoteReplica with closed client', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesPromoteReplicaRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesPromoteReplicaRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesPromoteReplicaRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedError = new Error('The client has already been closed.');
-            client.close().catch(err => {throw err});
-            await assert.rejects(client.promoteReplica(request), expectedError);
-        });
+    it('invokes resetSslConfig with closed client', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesResetSslConfigRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesResetSslConfigRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesResetSslConfigRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedError = new Error('The client has already been closed.');
+      client.close().catch((err) => {
+        throw err;
+      });
+      await assert.rejects(client.resetSslConfig(request), expectedError);
     });
-
-    describe('switchover', () => {
-        it('invokes switchover without error', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesSwitchoverRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesSwitchoverRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesSwitchoverRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1.Operation()
-            );
-            client.innerApiCalls.switchover = stubSimpleCall(expectedResponse);
-            const [response] = await client.switchover(request);
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.switchover as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.switchover as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes switchover without error using callback', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesSwitchoverRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesSwitchoverRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesSwitchoverRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1.Operation()
-            );
-            client.innerApiCalls.switchover = stubSimpleCallWithCallback(expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.switchover(
-                    request,
-                    (err?: Error|null, result?: protos.google.cloud.sql.v1.IOperation|null) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.switchover as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.switchover as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes switchover with error', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesSwitchoverRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesSwitchoverRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesSwitchoverRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedError = new Error('expected');
-            client.innerApiCalls.switchover = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.switchover(request), expectedError);
-            const actualRequest = (client.innerApiCalls.switchover as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.switchover as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes switchover with closed client', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesSwitchoverRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesSwitchoverRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesSwitchoverRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedError = new Error('The client has already been closed.');
-            client.close().catch(err => {throw err});
-            await assert.rejects(client.switchover(request), expectedError);
-        });
+  });
+
+  describe('restart', () => {
+    it('invokes restart without error', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesRestartRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesRestartRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesRestartRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1.Operation(),
+      );
+      client.innerApiCalls.restart = stubSimpleCall(expectedResponse);
+      const [response] = await client.restart(request);
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (client.innerApiCalls.restart as SinonStub).getCall(
+        0,
+      ).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.restart as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
     });
 
-    describe('resetSslConfig', () => {
-        it('invokes resetSslConfig without error', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesResetSslConfigRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesResetSslConfigRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesResetSslConfigRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1.Operation()
-            );
-            client.innerApiCalls.resetSslConfig = stubSimpleCall(expectedResponse);
-            const [response] = await client.resetSslConfig(request);
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.resetSslConfig as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.resetSslConfig as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes resetSslConfig without error using callback', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesResetSslConfigRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesResetSslConfigRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesResetSslConfigRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1.Operation()
-            );
-            client.innerApiCalls.resetSslConfig = stubSimpleCallWithCallback(expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.resetSslConfig(
-                    request,
-                    (err?: Error|null, result?: protos.google.cloud.sql.v1.IOperation|null) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.resetSslConfig as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.resetSslConfig as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes resetSslConfig with error', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesResetSslConfigRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesResetSslConfigRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesResetSslConfigRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedError = new Error('expected');
-            client.innerApiCalls.resetSslConfig = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.resetSslConfig(request), expectedError);
-            const actualRequest = (client.innerApiCalls.resetSslConfig as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.resetSslConfig as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes resetSslConfig with closed client', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesResetSslConfigRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesResetSslConfigRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesResetSslConfigRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedError = new Error('The client has already been closed.');
-            client.close().catch(err => {throw err});
-            await assert.rejects(client.resetSslConfig(request), expectedError);
-        });
+    it('invokes restart without error using callback', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesRestartRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesRestartRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesRestartRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1.Operation(),
+      );
+      client.innerApiCalls.restart =
+        stubSimpleCallWithCallback(expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.restart(
+          request,
+          (
+            err?: Error | null,
+            result?: protos.google.cloud.sql.v1.IOperation | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
+            }
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (client.innerApiCalls.restart as SinonStub).getCall(
+        0,
+      ).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.restart as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
     });
 
-    describe('restart', () => {
-        it('invokes restart without error', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesRestartRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesRestartRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesRestartRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1.Operation()
-            );
-            client.innerApiCalls.restart = stubSimpleCall(expectedResponse);
-            const [response] = await client.restart(request);
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.restart as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.restart as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes restart without error using callback', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesRestartRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesRestartRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesRestartRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1.Operation()
-            );
-            client.innerApiCalls.restart = stubSimpleCallWithCallback(expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.restart(
-                    request,
-                    (err?: Error|null, result?: protos.google.cloud.sql.v1.IOperation|null) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.restart as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.restart as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes restart with error', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesRestartRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesRestartRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesRestartRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedError = new Error('expected');
-            client.innerApiCalls.restart = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.restart(request), expectedError);
-            const actualRequest = (client.innerApiCalls.restart as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.restart as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes restart with closed client', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesRestartRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesRestartRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesRestartRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedError = new Error('The client has already been closed.');
-            client.close().catch(err => {throw err});
-            await assert.rejects(client.restart(request), expectedError);
-        });
+    it('invokes restart with error', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesRestartRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesRestartRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesRestartRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedError = new Error('expected');
+      client.innerApiCalls.restart = stubSimpleCall(undefined, expectedError);
+      await assert.rejects(client.restart(request), expectedError);
+      const actualRequest = (client.innerApiCalls.restart as SinonStub).getCall(
+        0,
+      ).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.restart as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
     });
 
-    describe('restoreBackup', () => {
-        it('invokes restoreBackup without error', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesRestoreBackupRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesRestoreBackupRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesRestoreBackupRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1.Operation()
-            );
-            client.innerApiCalls.restoreBackup = stubSimpleCall(expectedResponse);
-            const [response] = await client.restoreBackup(request);
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.restoreBackup as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.restoreBackup as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes restoreBackup without error using callback', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesRestoreBackupRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesRestoreBackupRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesRestoreBackupRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1.Operation()
-            );
-            client.innerApiCalls.restoreBackup = stubSimpleCallWithCallback(expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.restoreBackup(
-                    request,
-                    (err?: Error|null, result?: protos.google.cloud.sql.v1.IOperation|null) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.restoreBackup as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.restoreBackup as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes restoreBackup with error', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesRestoreBackupRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesRestoreBackupRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesRestoreBackupRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedError = new Error('expected');
-            client.innerApiCalls.restoreBackup = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.restoreBackup(request), expectedError);
-            const actualRequest = (client.innerApiCalls.restoreBackup as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.restoreBackup as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes restoreBackup with closed client', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesRestoreBackupRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesRestoreBackupRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesRestoreBackupRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedError = new Error('The client has already been closed.');
-            client.close().catch(err => {throw err});
-            await assert.rejects(client.restoreBackup(request), expectedError);
-        });
+    it('invokes restart with closed client', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesRestartRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesRestartRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesRestartRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedError = new Error('The client has already been closed.');
+      client.close().catch((err) => {
+        throw err;
+      });
+      await assert.rejects(client.restart(request), expectedError);
     });
-
-    describe('rotateServerCa', () => {
-        it('invokes rotateServerCa without error', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesRotateServerCaRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesRotateServerCaRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesRotateServerCaRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1.Operation()
-            );
-            client.innerApiCalls.rotateServerCa = stubSimpleCall(expectedResponse);
-            const [response] = await client.rotateServerCa(request);
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.rotateServerCa as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.rotateServerCa as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes rotateServerCa without error using callback', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesRotateServerCaRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesRotateServerCaRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesRotateServerCaRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1.Operation()
-            );
-            client.innerApiCalls.rotateServerCa = stubSimpleCallWithCallback(expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.rotateServerCa(
-                    request,
-                    (err?: Error|null, result?: protos.google.cloud.sql.v1.IOperation|null) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.rotateServerCa as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.rotateServerCa as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes rotateServerCa with error', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesRotateServerCaRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesRotateServerCaRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesRotateServerCaRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedError = new Error('expected');
-            client.innerApiCalls.rotateServerCa = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.rotateServerCa(request), expectedError);
-            const actualRequest = (client.innerApiCalls.rotateServerCa as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.rotateServerCa as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes rotateServerCa with closed client', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesRotateServerCaRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesRotateServerCaRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesRotateServerCaRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedError = new Error('The client has already been closed.');
-            client.close().catch(err => {throw err});
-            await assert.rejects(client.rotateServerCa(request), expectedError);
-        });
+  });
+
+  describe('restoreBackup', () => {
+    it('invokes restoreBackup without error', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesRestoreBackupRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesRestoreBackupRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesRestoreBackupRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1.Operation(),
+      );
+      client.innerApiCalls.restoreBackup = stubSimpleCall(expectedResponse);
+      const [response] = await client.restoreBackup(request);
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (
+        client.innerApiCalls.restoreBackup as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.restoreBackup as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
     });
 
-    describe('rotateServerCertificate', () => {
-        it('invokes rotateServerCertificate without error', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesRotateServerCertificateRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesRotateServerCertificateRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesRotateServerCertificateRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1.Operation()
-            );
-            client.innerApiCalls.rotateServerCertificate = stubSimpleCall(expectedResponse);
-            const [response] = await client.rotateServerCertificate(request);
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.rotateServerCertificate as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.rotateServerCertificate as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes rotateServerCertificate without error using callback', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesRotateServerCertificateRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesRotateServerCertificateRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesRotateServerCertificateRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1.Operation()
-            );
-            client.innerApiCalls.rotateServerCertificate = stubSimpleCallWithCallback(expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.rotateServerCertificate(
-                    request,
-                    (err?: Error|null, result?: protos.google.cloud.sql.v1.IOperation|null) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.rotateServerCertificate as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.rotateServerCertificate as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes rotateServerCertificate with error', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesRotateServerCertificateRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesRotateServerCertificateRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesRotateServerCertificateRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedError = new Error('expected');
-            client.innerApiCalls.rotateServerCertificate = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.rotateServerCertificate(request), expectedError);
-            const actualRequest = (client.innerApiCalls.rotateServerCertificate as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.rotateServerCertificate as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes rotateServerCertificate with closed client', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesRotateServerCertificateRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesRotateServerCertificateRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesRotateServerCertificateRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedError = new Error('The client has already been closed.');
-            client.close().catch(err => {throw err});
-            await assert.rejects(client.rotateServerCertificate(request), expectedError);
-        });
+    it('invokes restoreBackup without error using callback', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesRestoreBackupRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesRestoreBackupRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesRestoreBackupRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1.Operation(),
+      );
+      client.innerApiCalls.restoreBackup =
+        stubSimpleCallWithCallback(expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.restoreBackup(
+          request,
+          (
+            err?: Error | null,
+            result?: protos.google.cloud.sql.v1.IOperation | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
+            }
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (
+        client.innerApiCalls.restoreBackup as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.restoreBackup as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
     });
 
-    describe('rotateEntraIdCertificate', () => {
-        it('invokes rotateEntraIdCertificate without error', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesRotateEntraIdCertificateRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesRotateEntraIdCertificateRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesRotateEntraIdCertificateRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1.Operation()
-            );
-            client.innerApiCalls.rotateEntraIdCertificate = stubSimpleCall(expectedResponse);
-            const [response] = await client.rotateEntraIdCertificate(request);
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.rotateEntraIdCertificate as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.rotateEntraIdCertificate as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes rotateEntraIdCertificate without error using callback', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesRotateEntraIdCertificateRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesRotateEntraIdCertificateRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesRotateEntraIdCertificateRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1.Operation()
-            );
-            client.innerApiCalls.rotateEntraIdCertificate = stubSimpleCallWithCallback(expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.rotateEntraIdCertificate(
-                    request,
-                    (err?: Error|null, result?: protos.google.cloud.sql.v1.IOperation|null) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.rotateEntraIdCertificate as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.rotateEntraIdCertificate as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes rotateEntraIdCertificate with error', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesRotateEntraIdCertificateRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesRotateEntraIdCertificateRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesRotateEntraIdCertificateRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedError = new Error('expected');
-            client.innerApiCalls.rotateEntraIdCertificate = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.rotateEntraIdCertificate(request), expectedError);
-            const actualRequest = (client.innerApiCalls.rotateEntraIdCertificate as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.rotateEntraIdCertificate as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes rotateEntraIdCertificate with closed client', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesRotateEntraIdCertificateRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesRotateEntraIdCertificateRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesRotateEntraIdCertificateRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedError = new Error('The client has already been closed.');
-            client.close().catch(err => {throw err});
-            await assert.rejects(client.rotateEntraIdCertificate(request), expectedError);
-        });
+    it('invokes restoreBackup with error', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesRestoreBackupRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesRestoreBackupRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesRestoreBackupRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedError = new Error('expected');
+      client.innerApiCalls.restoreBackup = stubSimpleCall(
+        undefined,
+        expectedError,
+      );
+      await assert.rejects(client.restoreBackup(request), expectedError);
+      const actualRequest = (
+        client.innerApiCalls.restoreBackup as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.restoreBackup as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
     });
 
-    describe('startReplica', () => {
-        it('invokes startReplica without error', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesStartReplicaRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesStartReplicaRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesStartReplicaRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1.Operation()
-            );
-            client.innerApiCalls.startReplica = stubSimpleCall(expectedResponse);
-            const [response] = await client.startReplica(request);
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.startReplica as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.startReplica as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes startReplica without error using callback', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesStartReplicaRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesStartReplicaRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesStartReplicaRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1.Operation()
-            );
-            client.innerApiCalls.startReplica = stubSimpleCallWithCallback(expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.startReplica(
-                    request,
-                    (err?: Error|null, result?: protos.google.cloud.sql.v1.IOperation|null) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.startReplica as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.startReplica as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes startReplica with error', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesStartReplicaRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesStartReplicaRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesStartReplicaRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedError = new Error('expected');
-            client.innerApiCalls.startReplica = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.startReplica(request), expectedError);
-            const actualRequest = (client.innerApiCalls.startReplica as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.startReplica as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes startReplica with closed client', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesStartReplicaRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesStartReplicaRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesStartReplicaRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedError = new Error('The client has already been closed.');
-            client.close().catch(err => {throw err});
-            await assert.rejects(client.startReplica(request), expectedError);
-        });
+    it('invokes restoreBackup with closed client', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesRestoreBackupRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesRestoreBackupRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesRestoreBackupRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedError = new Error('The client has already been closed.');
+      client.close().catch((err) => {
+        throw err;
+      });
+      await assert.rejects(client.restoreBackup(request), expectedError);
     });
-
-    describe('stopReplica', () => {
-        it('invokes stopReplica without error', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesStopReplicaRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesStopReplicaRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesStopReplicaRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1.Operation()
-            );
-            client.innerApiCalls.stopReplica = stubSimpleCall(expectedResponse);
-            const [response] = await client.stopReplica(request);
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.stopReplica as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.stopReplica as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes stopReplica without error using callback', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesStopReplicaRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesStopReplicaRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesStopReplicaRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1.Operation()
-            );
-            client.innerApiCalls.stopReplica = stubSimpleCallWithCallback(expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.stopReplica(
-                    request,
-                    (err?: Error|null, result?: protos.google.cloud.sql.v1.IOperation|null) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.stopReplica as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.stopReplica as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes stopReplica with error', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesStopReplicaRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesStopReplicaRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesStopReplicaRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedError = new Error('expected');
-            client.innerApiCalls.stopReplica = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.stopReplica(request), expectedError);
-            const actualRequest = (client.innerApiCalls.stopReplica as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.stopReplica as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes stopReplica with closed client', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesStopReplicaRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesStopReplicaRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesStopReplicaRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedError = new Error('The client has already been closed.');
-            client.close().catch(err => {throw err});
-            await assert.rejects(client.stopReplica(request), expectedError);
-        });
+  });
+
+  describe('rotateServerCa', () => {
+    it('invokes rotateServerCa without error', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesRotateServerCaRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesRotateServerCaRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesRotateServerCaRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1.Operation(),
+      );
+      client.innerApiCalls.rotateServerCa = stubSimpleCall(expectedResponse);
+      const [response] = await client.rotateServerCa(request);
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (
+        client.innerApiCalls.rotateServerCa as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.rotateServerCa as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
     });
 
-    describe('truncateLog', () => {
-        it('invokes truncateLog without error', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesTruncateLogRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesTruncateLogRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesTruncateLogRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1.Operation()
-            );
-            client.innerApiCalls.truncateLog = stubSimpleCall(expectedResponse);
-            const [response] = await client.truncateLog(request);
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.truncateLog as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.truncateLog as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+    it('invokes rotateServerCa without error using callback', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesRotateServerCaRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesRotateServerCaRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesRotateServerCaRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1.Operation(),
+      );
+      client.innerApiCalls.rotateServerCa =
+        stubSimpleCallWithCallback(expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.rotateServerCa(
+          request,
+          (
+            err?: Error | null,
+            result?: protos.google.cloud.sql.v1.IOperation | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
+            }
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (
+        client.innerApiCalls.rotateServerCa as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.rotateServerCa as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes truncateLog without error using callback', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesTruncateLogRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesTruncateLogRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesTruncateLogRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1.Operation()
-            );
-            client.innerApiCalls.truncateLog = stubSimpleCallWithCallback(expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.truncateLog(
-                    request,
-                    (err?: Error|null, result?: protos.google.cloud.sql.v1.IOperation|null) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.truncateLog as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.truncateLog as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+    it('invokes rotateServerCa with error', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesRotateServerCaRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesRotateServerCaRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesRotateServerCaRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedError = new Error('expected');
+      client.innerApiCalls.rotateServerCa = stubSimpleCall(
+        undefined,
+        expectedError,
+      );
+      await assert.rejects(client.rotateServerCa(request), expectedError);
+      const actualRequest = (
+        client.innerApiCalls.rotateServerCa as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.rotateServerCa as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes truncateLog with error', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesTruncateLogRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesTruncateLogRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesTruncateLogRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedError = new Error('expected');
-            client.innerApiCalls.truncateLog = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.truncateLog(request), expectedError);
-            const actualRequest = (client.innerApiCalls.truncateLog as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.truncateLog as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+    it('invokes rotateServerCa with closed client', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesRotateServerCaRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesRotateServerCaRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesRotateServerCaRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedError = new Error('The client has already been closed.');
+      client.close().catch((err) => {
+        throw err;
+      });
+      await assert.rejects(client.rotateServerCa(request), expectedError);
+    });
+  });
+
+  describe('rotateServerCertificate', () => {
+    it('invokes rotateServerCertificate without error', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesRotateServerCertificateRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesRotateServerCertificateRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesRotateServerCertificateRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1.Operation(),
+      );
+      client.innerApiCalls.rotateServerCertificate =
+        stubSimpleCall(expectedResponse);
+      const [response] = await client.rotateServerCertificate(request);
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (
+        client.innerApiCalls.rotateServerCertificate as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.rotateServerCertificate as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes truncateLog with closed client', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesTruncateLogRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesTruncateLogRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesTruncateLogRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedError = new Error('The client has already been closed.');
-            client.close().catch(err => {throw err});
-            await assert.rejects(client.truncateLog(request), expectedError);
-        });
+    it('invokes rotateServerCertificate without error using callback', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesRotateServerCertificateRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesRotateServerCertificateRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesRotateServerCertificateRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1.Operation(),
+      );
+      client.innerApiCalls.rotateServerCertificate =
+        stubSimpleCallWithCallback(expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.rotateServerCertificate(
+          request,
+          (
+            err?: Error | null,
+            result?: protos.google.cloud.sql.v1.IOperation | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
+            }
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (
+        client.innerApiCalls.rotateServerCertificate as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.rotateServerCertificate as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
     });
 
-    describe('update', () => {
-        it('invokes update without error', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesUpdateRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesUpdateRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesUpdateRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1.Operation()
-            );
-            client.innerApiCalls.update = stubSimpleCall(expectedResponse);
-            const [response] = await client.update(request);
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.update as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.update as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+    it('invokes rotateServerCertificate with error', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesRotateServerCertificateRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesRotateServerCertificateRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesRotateServerCertificateRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedError = new Error('expected');
+      client.innerApiCalls.rotateServerCertificate = stubSimpleCall(
+        undefined,
+        expectedError,
+      );
+      await assert.rejects(
+        client.rotateServerCertificate(request),
+        expectedError,
+      );
+      const actualRequest = (
+        client.innerApiCalls.rotateServerCertificate as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.rotateServerCertificate as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes update without error using callback', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesUpdateRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesUpdateRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesUpdateRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1.Operation()
-            );
-            client.innerApiCalls.update = stubSimpleCallWithCallback(expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.update(
-                    request,
-                    (err?: Error|null, result?: protos.google.cloud.sql.v1.IOperation|null) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.update as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.update as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+    it('invokes rotateServerCertificate with closed client', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesRotateServerCertificateRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesRotateServerCertificateRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesRotateServerCertificateRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedError = new Error('The client has already been closed.');
+      client.close().catch((err) => {
+        throw err;
+      });
+      await assert.rejects(
+        client.rotateServerCertificate(request),
+        expectedError,
+      );
+    });
+  });
+
+  describe('rotateEntraIdCertificate', () => {
+    it('invokes rotateEntraIdCertificate without error', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesRotateEntraIdCertificateRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesRotateEntraIdCertificateRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesRotateEntraIdCertificateRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1.Operation(),
+      );
+      client.innerApiCalls.rotateEntraIdCertificate =
+        stubSimpleCall(expectedResponse);
+      const [response] = await client.rotateEntraIdCertificate(request);
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (
+        client.innerApiCalls.rotateEntraIdCertificate as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.rotateEntraIdCertificate as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes update with error', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesUpdateRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesUpdateRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesUpdateRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedError = new Error('expected');
-            client.innerApiCalls.update = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.update(request), expectedError);
-            const actualRequest = (client.innerApiCalls.update as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.update as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+    it('invokes rotateEntraIdCertificate without error using callback', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesRotateEntraIdCertificateRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesRotateEntraIdCertificateRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesRotateEntraIdCertificateRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1.Operation(),
+      );
+      client.innerApiCalls.rotateEntraIdCertificate =
+        stubSimpleCallWithCallback(expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.rotateEntraIdCertificate(
+          request,
+          (
+            err?: Error | null,
+            result?: protos.google.cloud.sql.v1.IOperation | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
+            }
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (
+        client.innerApiCalls.rotateEntraIdCertificate as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.rotateEntraIdCertificate as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes update with closed client', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesUpdateRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesUpdateRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesUpdateRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedError = new Error('The client has already been closed.');
-            client.close().catch(err => {throw err});
-            await assert.rejects(client.update(request), expectedError);
-        });
+    it('invokes rotateEntraIdCertificate with error', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesRotateEntraIdCertificateRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesRotateEntraIdCertificateRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesRotateEntraIdCertificateRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedError = new Error('expected');
+      client.innerApiCalls.rotateEntraIdCertificate = stubSimpleCall(
+        undefined,
+        expectedError,
+      );
+      await assert.rejects(
+        client.rotateEntraIdCertificate(request),
+        expectedError,
+      );
+      const actualRequest = (
+        client.innerApiCalls.rotateEntraIdCertificate as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.rotateEntraIdCertificate as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
     });
 
-    describe('createEphemeral', () => {
-        it('invokes createEphemeral without error', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesCreateEphemeralCertRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesCreateEphemeralCertRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesCreateEphemeralCertRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SslCert()
-            );
-            client.innerApiCalls.createEphemeral = stubSimpleCall(expectedResponse);
-            const [response] = await client.createEphemeral(request);
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.createEphemeral as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.createEphemeral as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+    it('invokes rotateEntraIdCertificate with closed client', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesRotateEntraIdCertificateRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesRotateEntraIdCertificateRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesRotateEntraIdCertificateRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedError = new Error('The client has already been closed.');
+      client.close().catch((err) => {
+        throw err;
+      });
+      await assert.rejects(
+        client.rotateEntraIdCertificate(request),
+        expectedError,
+      );
+    });
+  });
+
+  describe('startReplica', () => {
+    it('invokes startReplica without error', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesStartReplicaRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesStartReplicaRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesStartReplicaRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1.Operation(),
+      );
+      client.innerApiCalls.startReplica = stubSimpleCall(expectedResponse);
+      const [response] = await client.startReplica(request);
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (
+        client.innerApiCalls.startReplica as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.startReplica as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes createEphemeral without error using callback', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesCreateEphemeralCertRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesCreateEphemeralCertRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesCreateEphemeralCertRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SslCert()
-            );
-            client.innerApiCalls.createEphemeral = stubSimpleCallWithCallback(expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.createEphemeral(
-                    request,
-                    (err?: Error|null, result?: protos.google.cloud.sql.v1.ISslCert|null) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.createEphemeral as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.createEphemeral as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+    it('invokes startReplica without error using callback', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesStartReplicaRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesStartReplicaRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesStartReplicaRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1.Operation(),
+      );
+      client.innerApiCalls.startReplica =
+        stubSimpleCallWithCallback(expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.startReplica(
+          request,
+          (
+            err?: Error | null,
+            result?: protos.google.cloud.sql.v1.IOperation | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
+            }
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (
+        client.innerApiCalls.startReplica as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.startReplica as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes createEphemeral with error', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesCreateEphemeralCertRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesCreateEphemeralCertRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesCreateEphemeralCertRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedError = new Error('expected');
-            client.innerApiCalls.createEphemeral = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.createEphemeral(request), expectedError);
-            const actualRequest = (client.innerApiCalls.createEphemeral as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.createEphemeral as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+    it('invokes startReplica with error', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesStartReplicaRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesStartReplicaRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesStartReplicaRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedError = new Error('expected');
+      client.innerApiCalls.startReplica = stubSimpleCall(
+        undefined,
+        expectedError,
+      );
+      await assert.rejects(client.startReplica(request), expectedError);
+      const actualRequest = (
+        client.innerApiCalls.startReplica as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.startReplica as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes createEphemeral with closed client', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesCreateEphemeralCertRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesCreateEphemeralCertRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesCreateEphemeralCertRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedError = new Error('The client has already been closed.');
-            client.close().catch(err => {throw err});
-            await assert.rejects(client.createEphemeral(request), expectedError);
-        });
+    it('invokes startReplica with closed client', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesStartReplicaRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesStartReplicaRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesStartReplicaRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedError = new Error('The client has already been closed.');
+      client.close().catch((err) => {
+        throw err;
+      });
+      await assert.rejects(client.startReplica(request), expectedError);
+    });
+  });
+
+  describe('stopReplica', () => {
+    it('invokes stopReplica without error', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesStopReplicaRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesStopReplicaRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesStopReplicaRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1.Operation(),
+      );
+      client.innerApiCalls.stopReplica = stubSimpleCall(expectedResponse);
+      const [response] = await client.stopReplica(request);
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (
+        client.innerApiCalls.stopReplica as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.stopReplica as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
     });
 
-    describe('rescheduleMaintenance', () => {
-        it('invokes rescheduleMaintenance without error', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesRescheduleMaintenanceRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesRescheduleMaintenanceRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesRescheduleMaintenanceRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1.Operation()
-            );
-            client.innerApiCalls.rescheduleMaintenance = stubSimpleCall(expectedResponse);
-            const [response] = await client.rescheduleMaintenance(request);
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.rescheduleMaintenance as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.rescheduleMaintenance as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+    it('invokes stopReplica without error using callback', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesStopReplicaRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesStopReplicaRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesStopReplicaRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1.Operation(),
+      );
+      client.innerApiCalls.stopReplica =
+        stubSimpleCallWithCallback(expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.stopReplica(
+          request,
+          (
+            err?: Error | null,
+            result?: protos.google.cloud.sql.v1.IOperation | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
+            }
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (
+        client.innerApiCalls.stopReplica as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.stopReplica as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes rescheduleMaintenance without error using callback', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesRescheduleMaintenanceRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesRescheduleMaintenanceRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesRescheduleMaintenanceRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1.Operation()
-            );
-            client.innerApiCalls.rescheduleMaintenance = stubSimpleCallWithCallback(expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.rescheduleMaintenance(
-                    request,
-                    (err?: Error|null, result?: protos.google.cloud.sql.v1.IOperation|null) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.rescheduleMaintenance as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.rescheduleMaintenance as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+    it('invokes stopReplica with error', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesStopReplicaRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesStopReplicaRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesStopReplicaRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedError = new Error('expected');
+      client.innerApiCalls.stopReplica = stubSimpleCall(
+        undefined,
+        expectedError,
+      );
+      await assert.rejects(client.stopReplica(request), expectedError);
+      const actualRequest = (
+        client.innerApiCalls.stopReplica as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.stopReplica as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes rescheduleMaintenance with error', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesRescheduleMaintenanceRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesRescheduleMaintenanceRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesRescheduleMaintenanceRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedError = new Error('expected');
-            client.innerApiCalls.rescheduleMaintenance = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.rescheduleMaintenance(request), expectedError);
-            const actualRequest = (client.innerApiCalls.rescheduleMaintenance as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.rescheduleMaintenance as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+    it('invokes stopReplica with closed client', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesStopReplicaRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesStopReplicaRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesStopReplicaRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedError = new Error('The client has already been closed.');
+      client.close().catch((err) => {
+        throw err;
+      });
+      await assert.rejects(client.stopReplica(request), expectedError);
+    });
+  });
+
+  describe('truncateLog', () => {
+    it('invokes truncateLog without error', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesTruncateLogRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesTruncateLogRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesTruncateLogRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1.Operation(),
+      );
+      client.innerApiCalls.truncateLog = stubSimpleCall(expectedResponse);
+      const [response] = await client.truncateLog(request);
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (
+        client.innerApiCalls.truncateLog as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.truncateLog as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes rescheduleMaintenance with closed client', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesRescheduleMaintenanceRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesRescheduleMaintenanceRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesRescheduleMaintenanceRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedError = new Error('The client has already been closed.');
-            client.close().catch(err => {throw err});
-            await assert.rejects(client.rescheduleMaintenance(request), expectedError);
-        });
+    it('invokes truncateLog without error using callback', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesTruncateLogRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesTruncateLogRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesTruncateLogRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1.Operation(),
+      );
+      client.innerApiCalls.truncateLog =
+        stubSimpleCallWithCallback(expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.truncateLog(
+          request,
+          (
+            err?: Error | null,
+            result?: protos.google.cloud.sql.v1.IOperation | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
+            }
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (
+        client.innerApiCalls.truncateLog as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.truncateLog as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
     });
 
-    describe('verifyExternalSyncSettings', () => {
-        it('invokes verifyExternalSyncSettings without error', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesVerifyExternalSyncSettingsRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesVerifyExternalSyncSettingsRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesVerifyExternalSyncSettingsRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesVerifyExternalSyncSettingsResponse()
-            );
-            client.innerApiCalls.verifyExternalSyncSettings = stubSimpleCall(expectedResponse);
-            const [response] = await client.verifyExternalSyncSettings(request);
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.verifyExternalSyncSettings as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.verifyExternalSyncSettings as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+    it('invokes truncateLog with error', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesTruncateLogRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesTruncateLogRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesTruncateLogRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedError = new Error('expected');
+      client.innerApiCalls.truncateLog = stubSimpleCall(
+        undefined,
+        expectedError,
+      );
+      await assert.rejects(client.truncateLog(request), expectedError);
+      const actualRequest = (
+        client.innerApiCalls.truncateLog as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.truncateLog as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes verifyExternalSyncSettings without error using callback', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesVerifyExternalSyncSettingsRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesVerifyExternalSyncSettingsRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesVerifyExternalSyncSettingsRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesVerifyExternalSyncSettingsResponse()
-            );
-            client.innerApiCalls.verifyExternalSyncSettings = stubSimpleCallWithCallback(expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.verifyExternalSyncSettings(
-                    request,
-                    (err?: Error|null, result?: protos.google.cloud.sql.v1.ISqlInstancesVerifyExternalSyncSettingsResponse|null) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.verifyExternalSyncSettings as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.verifyExternalSyncSettings as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+    it('invokes truncateLog with closed client', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesTruncateLogRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesTruncateLogRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesTruncateLogRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedError = new Error('The client has already been closed.');
+      client.close().catch((err) => {
+        throw err;
+      });
+      await assert.rejects(client.truncateLog(request), expectedError);
+    });
+  });
+
+  describe('update', () => {
+    it('invokes update without error', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesUpdateRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesUpdateRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesUpdateRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1.Operation(),
+      );
+      client.innerApiCalls.update = stubSimpleCall(expectedResponse);
+      const [response] = await client.update(request);
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (client.innerApiCalls.update as SinonStub).getCall(
+        0,
+      ).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.update as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes verifyExternalSyncSettings with error', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesVerifyExternalSyncSettingsRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesVerifyExternalSyncSettingsRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesVerifyExternalSyncSettingsRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedError = new Error('expected');
-            client.innerApiCalls.verifyExternalSyncSettings = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.verifyExternalSyncSettings(request), expectedError);
-            const actualRequest = (client.innerApiCalls.verifyExternalSyncSettings as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.verifyExternalSyncSettings as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+    it('invokes update without error using callback', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesUpdateRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesUpdateRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesUpdateRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1.Operation(),
+      );
+      client.innerApiCalls.update =
+        stubSimpleCallWithCallback(expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.update(
+          request,
+          (
+            err?: Error | null,
+            result?: protos.google.cloud.sql.v1.IOperation | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
+            }
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (client.innerApiCalls.update as SinonStub).getCall(
+        0,
+      ).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.update as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes verifyExternalSyncSettings with closed client', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesVerifyExternalSyncSettingsRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesVerifyExternalSyncSettingsRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesVerifyExternalSyncSettingsRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedError = new Error('The client has already been closed.');
-            client.close().catch(err => {throw err});
-            await assert.rejects(client.verifyExternalSyncSettings(request), expectedError);
-        });
+    it('invokes update with error', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesUpdateRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesUpdateRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesUpdateRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedError = new Error('expected');
+      client.innerApiCalls.update = stubSimpleCall(undefined, expectedError);
+      await assert.rejects(client.update(request), expectedError);
+      const actualRequest = (client.innerApiCalls.update as SinonStub).getCall(
+        0,
+      ).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.update as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
     });
 
-    describe('startExternalSync', () => {
-        it('invokes startExternalSync without error', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesStartExternalSyncRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesStartExternalSyncRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesStartExternalSyncRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1.Operation()
-            );
-            client.innerApiCalls.startExternalSync = stubSimpleCall(expectedResponse);
-            const [response] = await client.startExternalSync(request);
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.startExternalSync as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.startExternalSync as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+    it('invokes update with closed client', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesUpdateRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesUpdateRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesUpdateRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedError = new Error('The client has already been closed.');
+      client.close().catch((err) => {
+        throw err;
+      });
+      await assert.rejects(client.update(request), expectedError);
+    });
+  });
+
+  describe('createEphemeral', () => {
+    it('invokes createEphemeral without error', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesCreateEphemeralCertRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesCreateEphemeralCertRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesCreateEphemeralCertRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SslCert(),
+      );
+      client.innerApiCalls.createEphemeral = stubSimpleCall(expectedResponse);
+      const [response] = await client.createEphemeral(request);
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (
+        client.innerApiCalls.createEphemeral as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.createEphemeral as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes startExternalSync without error using callback', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesStartExternalSyncRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesStartExternalSyncRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesStartExternalSyncRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1.Operation()
-            );
-            client.innerApiCalls.startExternalSync = stubSimpleCallWithCallback(expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.startExternalSync(
-                    request,
-                    (err?: Error|null, result?: protos.google.cloud.sql.v1.IOperation|null) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.startExternalSync as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.startExternalSync as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+    it('invokes createEphemeral without error using callback', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesCreateEphemeralCertRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesCreateEphemeralCertRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesCreateEphemeralCertRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SslCert(),
+      );
+      client.innerApiCalls.createEphemeral =
+        stubSimpleCallWithCallback(expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.createEphemeral(
+          request,
+          (
+            err?: Error | null,
+            result?: protos.google.cloud.sql.v1.ISslCert | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
+            }
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (
+        client.innerApiCalls.createEphemeral as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.createEphemeral as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes startExternalSync with error', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesStartExternalSyncRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesStartExternalSyncRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesStartExternalSyncRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedError = new Error('expected');
-            client.innerApiCalls.startExternalSync = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.startExternalSync(request), expectedError);
-            const actualRequest = (client.innerApiCalls.startExternalSync as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.startExternalSync as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+    it('invokes createEphemeral with error', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesCreateEphemeralCertRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesCreateEphemeralCertRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesCreateEphemeralCertRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedError = new Error('expected');
+      client.innerApiCalls.createEphemeral = stubSimpleCall(
+        undefined,
+        expectedError,
+      );
+      await assert.rejects(client.createEphemeral(request), expectedError);
+      const actualRequest = (
+        client.innerApiCalls.createEphemeral as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.createEphemeral as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes startExternalSync with closed client', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesStartExternalSyncRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesStartExternalSyncRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesStartExternalSyncRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedError = new Error('The client has already been closed.');
-            client.close().catch(err => {throw err});
-            await assert.rejects(client.startExternalSync(request), expectedError);
-        });
+    it('invokes createEphemeral with closed client', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesCreateEphemeralCertRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesCreateEphemeralCertRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesCreateEphemeralCertRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedError = new Error('The client has already been closed.');
+      client.close().catch((err) => {
+        throw err;
+      });
+      await assert.rejects(client.createEphemeral(request), expectedError);
+    });
+  });
+
+  describe('rescheduleMaintenance', () => {
+    it('invokes rescheduleMaintenance without error', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesRescheduleMaintenanceRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesRescheduleMaintenanceRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesRescheduleMaintenanceRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1.Operation(),
+      );
+      client.innerApiCalls.rescheduleMaintenance =
+        stubSimpleCall(expectedResponse);
+      const [response] = await client.rescheduleMaintenance(request);
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (
+        client.innerApiCalls.rescheduleMaintenance as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.rescheduleMaintenance as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
     });
 
-    describe('performDiskShrink', () => {
-        it('invokes performDiskShrink without error', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesPerformDiskShrinkRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesPerformDiskShrinkRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesPerformDiskShrinkRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1.Operation()
-            );
-            client.innerApiCalls.performDiskShrink = stubSimpleCall(expectedResponse);
-            const [response] = await client.performDiskShrink(request);
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.performDiskShrink as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.performDiskShrink as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+    it('invokes rescheduleMaintenance without error using callback', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesRescheduleMaintenanceRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesRescheduleMaintenanceRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesRescheduleMaintenanceRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1.Operation(),
+      );
+      client.innerApiCalls.rescheduleMaintenance =
+        stubSimpleCallWithCallback(expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.rescheduleMaintenance(
+          request,
+          (
+            err?: Error | null,
+            result?: protos.google.cloud.sql.v1.IOperation | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
+            }
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (
+        client.innerApiCalls.rescheduleMaintenance as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.rescheduleMaintenance as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes performDiskShrink without error using callback', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesPerformDiskShrinkRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesPerformDiskShrinkRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesPerformDiskShrinkRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1.Operation()
-            );
-            client.innerApiCalls.performDiskShrink = stubSimpleCallWithCallback(expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.performDiskShrink(
-                    request,
-                    (err?: Error|null, result?: protos.google.cloud.sql.v1.IOperation|null) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.performDiskShrink as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.performDiskShrink as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+    it('invokes rescheduleMaintenance with error', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesRescheduleMaintenanceRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesRescheduleMaintenanceRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesRescheduleMaintenanceRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedError = new Error('expected');
+      client.innerApiCalls.rescheduleMaintenance = stubSimpleCall(
+        undefined,
+        expectedError,
+      );
+      await assert.rejects(
+        client.rescheduleMaintenance(request),
+        expectedError,
+      );
+      const actualRequest = (
+        client.innerApiCalls.rescheduleMaintenance as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.rescheduleMaintenance as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes performDiskShrink with error', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesPerformDiskShrinkRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesPerformDiskShrinkRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesPerformDiskShrinkRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedError = new Error('expected');
-            client.innerApiCalls.performDiskShrink = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.performDiskShrink(request), expectedError);
-            const actualRequest = (client.innerApiCalls.performDiskShrink as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.performDiskShrink as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+    it('invokes rescheduleMaintenance with closed client', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesRescheduleMaintenanceRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesRescheduleMaintenanceRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesRescheduleMaintenanceRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedError = new Error('The client has already been closed.');
+      client.close().catch((err) => {
+        throw err;
+      });
+      await assert.rejects(
+        client.rescheduleMaintenance(request),
+        expectedError,
+      );
+    });
+  });
+
+  describe('verifyExternalSyncSettings', () => {
+    it('invokes verifyExternalSyncSettings without error', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesVerifyExternalSyncSettingsRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesVerifyExternalSyncSettingsRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesVerifyExternalSyncSettingsRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesVerifyExternalSyncSettingsResponse(),
+      );
+      client.innerApiCalls.verifyExternalSyncSettings =
+        stubSimpleCall(expectedResponse);
+      const [response] = await client.verifyExternalSyncSettings(request);
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (
+        client.innerApiCalls.verifyExternalSyncSettings as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.verifyExternalSyncSettings as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes performDiskShrink with closed client', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesPerformDiskShrinkRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesPerformDiskShrinkRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesPerformDiskShrinkRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedError = new Error('The client has already been closed.');
-            client.close().catch(err => {throw err});
-            await assert.rejects(client.performDiskShrink(request), expectedError);
-        });
+    it('invokes verifyExternalSyncSettings without error using callback', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesVerifyExternalSyncSettingsRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesVerifyExternalSyncSettingsRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesVerifyExternalSyncSettingsRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesVerifyExternalSyncSettingsResponse(),
+      );
+      client.innerApiCalls.verifyExternalSyncSettings =
+        stubSimpleCallWithCallback(expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.verifyExternalSyncSettings(
+          request,
+          (
+            err?: Error | null,
+            result?: protos.google.cloud.sql.v1.ISqlInstancesVerifyExternalSyncSettingsResponse | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
+            }
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (
+        client.innerApiCalls.verifyExternalSyncSettings as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.verifyExternalSyncSettings as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
     });
 
-    describe('getDiskShrinkConfig', () => {
-        it('invokes getDiskShrinkConfig without error', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesGetDiskShrinkConfigRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesGetDiskShrinkConfigRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesGetDiskShrinkConfigRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesGetDiskShrinkConfigResponse()
-            );
-            client.innerApiCalls.getDiskShrinkConfig = stubSimpleCall(expectedResponse);
-            const [response] = await client.getDiskShrinkConfig(request);
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.getDiskShrinkConfig as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.getDiskShrinkConfig as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+    it('invokes verifyExternalSyncSettings with error', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesVerifyExternalSyncSettingsRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesVerifyExternalSyncSettingsRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesVerifyExternalSyncSettingsRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedError = new Error('expected');
+      client.innerApiCalls.verifyExternalSyncSettings = stubSimpleCall(
+        undefined,
+        expectedError,
+      );
+      await assert.rejects(
+        client.verifyExternalSyncSettings(request),
+        expectedError,
+      );
+      const actualRequest = (
+        client.innerApiCalls.verifyExternalSyncSettings as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.verifyExternalSyncSettings as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes getDiskShrinkConfig without error using callback', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesGetDiskShrinkConfigRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesGetDiskShrinkConfigRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesGetDiskShrinkConfigRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesGetDiskShrinkConfigResponse()
-            );
-            client.innerApiCalls.getDiskShrinkConfig = stubSimpleCallWithCallback(expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.getDiskShrinkConfig(
-                    request,
-                    (err?: Error|null, result?: protos.google.cloud.sql.v1.ISqlInstancesGetDiskShrinkConfigResponse|null) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.getDiskShrinkConfig as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.getDiskShrinkConfig as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+    it('invokes verifyExternalSyncSettings with closed client', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesVerifyExternalSyncSettingsRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesVerifyExternalSyncSettingsRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesVerifyExternalSyncSettingsRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedError = new Error('The client has already been closed.');
+      client.close().catch((err) => {
+        throw err;
+      });
+      await assert.rejects(
+        client.verifyExternalSyncSettings(request),
+        expectedError,
+      );
+    });
+  });
+
+  describe('startExternalSync', () => {
+    it('invokes startExternalSync without error', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesStartExternalSyncRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesStartExternalSyncRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesStartExternalSyncRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1.Operation(),
+      );
+      client.innerApiCalls.startExternalSync = stubSimpleCall(expectedResponse);
+      const [response] = await client.startExternalSync(request);
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (
+        client.innerApiCalls.startExternalSync as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.startExternalSync as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes getDiskShrinkConfig with error', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesGetDiskShrinkConfigRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesGetDiskShrinkConfigRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesGetDiskShrinkConfigRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedError = new Error('expected');
-            client.innerApiCalls.getDiskShrinkConfig = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.getDiskShrinkConfig(request), expectedError);
-            const actualRequest = (client.innerApiCalls.getDiskShrinkConfig as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.getDiskShrinkConfig as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+    it('invokes startExternalSync without error using callback', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesStartExternalSyncRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesStartExternalSyncRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesStartExternalSyncRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1.Operation(),
+      );
+      client.innerApiCalls.startExternalSync =
+        stubSimpleCallWithCallback(expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.startExternalSync(
+          request,
+          (
+            err?: Error | null,
+            result?: protos.google.cloud.sql.v1.IOperation | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
+            }
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (
+        client.innerApiCalls.startExternalSync as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.startExternalSync as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes getDiskShrinkConfig with closed client', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesGetDiskShrinkConfigRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesGetDiskShrinkConfigRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesGetDiskShrinkConfigRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedError = new Error('The client has already been closed.');
-            client.close().catch(err => {throw err});
-            await assert.rejects(client.getDiskShrinkConfig(request), expectedError);
-        });
+    it('invokes startExternalSync with error', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesStartExternalSyncRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesStartExternalSyncRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesStartExternalSyncRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedError = new Error('expected');
+      client.innerApiCalls.startExternalSync = stubSimpleCall(
+        undefined,
+        expectedError,
+      );
+      await assert.rejects(client.startExternalSync(request), expectedError);
+      const actualRequest = (
+        client.innerApiCalls.startExternalSync as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.startExternalSync as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
     });
 
-    describe('resetReplicaSize', () => {
-        it('invokes resetReplicaSize without error', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesResetReplicaSizeRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesResetReplicaSizeRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesResetReplicaSizeRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1.Operation()
-            );
-            client.innerApiCalls.resetReplicaSize = stubSimpleCall(expectedResponse);
-            const [response] = await client.resetReplicaSize(request);
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.resetReplicaSize as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.resetReplicaSize as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+    it('invokes startExternalSync with closed client', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesStartExternalSyncRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesStartExternalSyncRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesStartExternalSyncRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedError = new Error('The client has already been closed.');
+      client.close().catch((err) => {
+        throw err;
+      });
+      await assert.rejects(client.startExternalSync(request), expectedError);
+    });
+  });
+
+  describe('performDiskShrink', () => {
+    it('invokes performDiskShrink without error', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesPerformDiskShrinkRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesPerformDiskShrinkRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesPerformDiskShrinkRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1.Operation(),
+      );
+      client.innerApiCalls.performDiskShrink = stubSimpleCall(expectedResponse);
+      const [response] = await client.performDiskShrink(request);
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (
+        client.innerApiCalls.performDiskShrink as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.performDiskShrink as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes resetReplicaSize without error using callback', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesResetReplicaSizeRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesResetReplicaSizeRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesResetReplicaSizeRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1.Operation()
-            );
-            client.innerApiCalls.resetReplicaSize = stubSimpleCallWithCallback(expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.resetReplicaSize(
-                    request,
-                    (err?: Error|null, result?: protos.google.cloud.sql.v1.IOperation|null) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.resetReplicaSize as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.resetReplicaSize as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+    it('invokes performDiskShrink without error using callback', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesPerformDiskShrinkRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesPerformDiskShrinkRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesPerformDiskShrinkRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1.Operation(),
+      );
+      client.innerApiCalls.performDiskShrink =
+        stubSimpleCallWithCallback(expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.performDiskShrink(
+          request,
+          (
+            err?: Error | null,
+            result?: protos.google.cloud.sql.v1.IOperation | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
+            }
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (
+        client.innerApiCalls.performDiskShrink as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.performDiskShrink as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes resetReplicaSize with error', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesResetReplicaSizeRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesResetReplicaSizeRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesResetReplicaSizeRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedError = new Error('expected');
-            client.innerApiCalls.resetReplicaSize = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.resetReplicaSize(request), expectedError);
-            const actualRequest = (client.innerApiCalls.resetReplicaSize as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.resetReplicaSize as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+    it('invokes performDiskShrink with error', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesPerformDiskShrinkRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesPerformDiskShrinkRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesPerformDiskShrinkRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedError = new Error('expected');
+      client.innerApiCalls.performDiskShrink = stubSimpleCall(
+        undefined,
+        expectedError,
+      );
+      await assert.rejects(client.performDiskShrink(request), expectedError);
+      const actualRequest = (
+        client.innerApiCalls.performDiskShrink as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.performDiskShrink as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes resetReplicaSize with closed client', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesResetReplicaSizeRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesResetReplicaSizeRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesResetReplicaSizeRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedError = new Error('The client has already been closed.');
-            client.close().catch(err => {throw err});
-            await assert.rejects(client.resetReplicaSize(request), expectedError);
-        });
+    it('invokes performDiskShrink with closed client', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesPerformDiskShrinkRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesPerformDiskShrinkRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesPerformDiskShrinkRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedError = new Error('The client has already been closed.');
+      client.close().catch((err) => {
+        throw err;
+      });
+      await assert.rejects(client.performDiskShrink(request), expectedError);
+    });
+  });
+
+  describe('getDiskShrinkConfig', () => {
+    it('invokes getDiskShrinkConfig without error', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesGetDiskShrinkConfigRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesGetDiskShrinkConfigRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesGetDiskShrinkConfigRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesGetDiskShrinkConfigResponse(),
+      );
+      client.innerApiCalls.getDiskShrinkConfig =
+        stubSimpleCall(expectedResponse);
+      const [response] = await client.getDiskShrinkConfig(request);
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (
+        client.innerApiCalls.getDiskShrinkConfig as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.getDiskShrinkConfig as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
     });
 
-    describe('getLatestRecoveryTime', () => {
-        it('invokes getLatestRecoveryTime without error', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesGetLatestRecoveryTimeRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesGetLatestRecoveryTimeRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesGetLatestRecoveryTimeRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesGetLatestRecoveryTimeResponse()
-            );
-            client.innerApiCalls.getLatestRecoveryTime = stubSimpleCall(expectedResponse);
-            const [response] = await client.getLatestRecoveryTime(request);
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.getLatestRecoveryTime as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.getLatestRecoveryTime as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+    it('invokes getDiskShrinkConfig without error using callback', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesGetDiskShrinkConfigRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesGetDiskShrinkConfigRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesGetDiskShrinkConfigRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesGetDiskShrinkConfigResponse(),
+      );
+      client.innerApiCalls.getDiskShrinkConfig =
+        stubSimpleCallWithCallback(expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.getDiskShrinkConfig(
+          request,
+          (
+            err?: Error | null,
+            result?: protos.google.cloud.sql.v1.ISqlInstancesGetDiskShrinkConfigResponse | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
+            }
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (
+        client.innerApiCalls.getDiskShrinkConfig as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.getDiskShrinkConfig as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes getLatestRecoveryTime without error using callback', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesGetLatestRecoveryTimeRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesGetLatestRecoveryTimeRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesGetLatestRecoveryTimeRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesGetLatestRecoveryTimeResponse()
-            );
-            client.innerApiCalls.getLatestRecoveryTime = stubSimpleCallWithCallback(expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.getLatestRecoveryTime(
-                    request,
-                    (err?: Error|null, result?: protos.google.cloud.sql.v1.ISqlInstancesGetLatestRecoveryTimeResponse|null) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.getLatestRecoveryTime as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.getLatestRecoveryTime as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+    it('invokes getDiskShrinkConfig with error', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesGetDiskShrinkConfigRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesGetDiskShrinkConfigRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesGetDiskShrinkConfigRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedError = new Error('expected');
+      client.innerApiCalls.getDiskShrinkConfig = stubSimpleCall(
+        undefined,
+        expectedError,
+      );
+      await assert.rejects(client.getDiskShrinkConfig(request), expectedError);
+      const actualRequest = (
+        client.innerApiCalls.getDiskShrinkConfig as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.getDiskShrinkConfig as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes getLatestRecoveryTime with error', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesGetLatestRecoveryTimeRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesGetLatestRecoveryTimeRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesGetLatestRecoveryTimeRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedError = new Error('expected');
-            client.innerApiCalls.getLatestRecoveryTime = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.getLatestRecoveryTime(request), expectedError);
-            const actualRequest = (client.innerApiCalls.getLatestRecoveryTime as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.getLatestRecoveryTime as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+    it('invokes getDiskShrinkConfig with closed client', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesGetDiskShrinkConfigRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesGetDiskShrinkConfigRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesGetDiskShrinkConfigRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedError = new Error('The client has already been closed.');
+      client.close().catch((err) => {
+        throw err;
+      });
+      await assert.rejects(client.getDiskShrinkConfig(request), expectedError);
+    });
+  });
+
+  describe('resetReplicaSize', () => {
+    it('invokes resetReplicaSize without error', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesResetReplicaSizeRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesResetReplicaSizeRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesResetReplicaSizeRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1.Operation(),
+      );
+      client.innerApiCalls.resetReplicaSize = stubSimpleCall(expectedResponse);
+      const [response] = await client.resetReplicaSize(request);
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (
+        client.innerApiCalls.resetReplicaSize as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.resetReplicaSize as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes getLatestRecoveryTime with closed client', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesGetLatestRecoveryTimeRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesGetLatestRecoveryTimeRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesGetLatestRecoveryTimeRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedError = new Error('The client has already been closed.');
-            client.close().catch(err => {throw err});
-            await assert.rejects(client.getLatestRecoveryTime(request), expectedError);
-        });
+    it('invokes resetReplicaSize without error using callback', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesResetReplicaSizeRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesResetReplicaSizeRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesResetReplicaSizeRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1.Operation(),
+      );
+      client.innerApiCalls.resetReplicaSize =
+        stubSimpleCallWithCallback(expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.resetReplicaSize(
+          request,
+          (
+            err?: Error | null,
+            result?: protos.google.cloud.sql.v1.IOperation | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
+            }
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (
+        client.innerApiCalls.resetReplicaSize as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.resetReplicaSize as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
     });
 
-    describe('executeSql', () => {
-        it('invokes executeSql without error', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesExecuteSqlRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesExecuteSqlRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesExecuteSqlRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesExecuteSqlResponse()
-            );
-            client.innerApiCalls.executeSql = stubSimpleCall(expectedResponse);
-            const [response] = await client.executeSql(request);
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.executeSql as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.executeSql as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+    it('invokes resetReplicaSize with error', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesResetReplicaSizeRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesResetReplicaSizeRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesResetReplicaSizeRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedError = new Error('expected');
+      client.innerApiCalls.resetReplicaSize = stubSimpleCall(
+        undefined,
+        expectedError,
+      );
+      await assert.rejects(client.resetReplicaSize(request), expectedError);
+      const actualRequest = (
+        client.innerApiCalls.resetReplicaSize as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.resetReplicaSize as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes executeSql without error using callback', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesExecuteSqlRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesExecuteSqlRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesExecuteSqlRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesExecuteSqlResponse()
-            );
-            client.innerApiCalls.executeSql = stubSimpleCallWithCallback(expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.executeSql(
-                    request,
-                    (err?: Error|null, result?: protos.google.cloud.sql.v1.ISqlInstancesExecuteSqlResponse|null) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.executeSql as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.executeSql as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+    it('invokes resetReplicaSize with closed client', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesResetReplicaSizeRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesResetReplicaSizeRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesResetReplicaSizeRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedError = new Error('The client has already been closed.');
+      client.close().catch((err) => {
+        throw err;
+      });
+      await assert.rejects(client.resetReplicaSize(request), expectedError);
+    });
+  });
+
+  describe('getLatestRecoveryTime', () => {
+    it('invokes getLatestRecoveryTime without error', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesGetLatestRecoveryTimeRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesGetLatestRecoveryTimeRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesGetLatestRecoveryTimeRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesGetLatestRecoveryTimeResponse(),
+      );
+      client.innerApiCalls.getLatestRecoveryTime =
+        stubSimpleCall(expectedResponse);
+      const [response] = await client.getLatestRecoveryTime(request);
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (
+        client.innerApiCalls.getLatestRecoveryTime as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.getLatestRecoveryTime as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes executeSql with error', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesExecuteSqlRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesExecuteSqlRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesExecuteSqlRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedError = new Error('expected');
-            client.innerApiCalls.executeSql = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.executeSql(request), expectedError);
-            const actualRequest = (client.innerApiCalls.executeSql as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.executeSql as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+    it('invokes getLatestRecoveryTime without error using callback', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesGetLatestRecoveryTimeRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesGetLatestRecoveryTimeRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesGetLatestRecoveryTimeRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesGetLatestRecoveryTimeResponse(),
+      );
+      client.innerApiCalls.getLatestRecoveryTime =
+        stubSimpleCallWithCallback(expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.getLatestRecoveryTime(
+          request,
+          (
+            err?: Error | null,
+            result?: protos.google.cloud.sql.v1.ISqlInstancesGetLatestRecoveryTimeResponse | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
+            }
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (
+        client.innerApiCalls.getLatestRecoveryTime as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.getLatestRecoveryTime as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes executeSql with closed client', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesExecuteSqlRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesExecuteSqlRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesExecuteSqlRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedError = new Error('The client has already been closed.');
-            client.close().catch(err => {throw err});
-            await assert.rejects(client.executeSql(request), expectedError);
-        });
+    it('invokes getLatestRecoveryTime with error', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesGetLatestRecoveryTimeRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesGetLatestRecoveryTimeRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesGetLatestRecoveryTimeRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedError = new Error('expected');
+      client.innerApiCalls.getLatestRecoveryTime = stubSimpleCall(
+        undefined,
+        expectedError,
+      );
+      await assert.rejects(
+        client.getLatestRecoveryTime(request),
+        expectedError,
+      );
+      const actualRequest = (
+        client.innerApiCalls.getLatestRecoveryTime as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.getLatestRecoveryTime as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
     });
 
-    describe('acquireSsrsLease', () => {
-        it('invokes acquireSsrsLease without error', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesAcquireSsrsLeaseRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesAcquireSsrsLeaseRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesAcquireSsrsLeaseRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesAcquireSsrsLeaseResponse()
-            );
-            client.innerApiCalls.acquireSsrsLease = stubSimpleCall(expectedResponse);
-            const [response] = await client.acquireSsrsLease(request);
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.acquireSsrsLease as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.acquireSsrsLease as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+    it('invokes getLatestRecoveryTime with closed client', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesGetLatestRecoveryTimeRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesGetLatestRecoveryTimeRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesGetLatestRecoveryTimeRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedError = new Error('The client has already been closed.');
+      client.close().catch((err) => {
+        throw err;
+      });
+      await assert.rejects(
+        client.getLatestRecoveryTime(request),
+        expectedError,
+      );
+    });
+  });
+
+  describe('executeSql', () => {
+    it('invokes executeSql without error', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesExecuteSqlRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesExecuteSqlRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesExecuteSqlRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesExecuteSqlResponse(),
+      );
+      client.innerApiCalls.executeSql = stubSimpleCall(expectedResponse);
+      const [response] = await client.executeSql(request);
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (
+        client.innerApiCalls.executeSql as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.executeSql as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes acquireSsrsLease without error using callback', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesAcquireSsrsLeaseRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesAcquireSsrsLeaseRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesAcquireSsrsLeaseRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesAcquireSsrsLeaseResponse()
-            );
-            client.innerApiCalls.acquireSsrsLease = stubSimpleCallWithCallback(expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.acquireSsrsLease(
-                    request,
-                    (err?: Error|null, result?: protos.google.cloud.sql.v1.ISqlInstancesAcquireSsrsLeaseResponse|null) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.acquireSsrsLease as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.acquireSsrsLease as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+    it('invokes executeSql without error using callback', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesExecuteSqlRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesExecuteSqlRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesExecuteSqlRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesExecuteSqlResponse(),
+      );
+      client.innerApiCalls.executeSql =
+        stubSimpleCallWithCallback(expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.executeSql(
+          request,
+          (
+            err?: Error | null,
+            result?: protos.google.cloud.sql.v1.ISqlInstancesExecuteSqlResponse | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
+            }
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (
+        client.innerApiCalls.executeSql as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.executeSql as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes acquireSsrsLease with error', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesAcquireSsrsLeaseRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesAcquireSsrsLeaseRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesAcquireSsrsLeaseRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedError = new Error('expected');
-            client.innerApiCalls.acquireSsrsLease = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.acquireSsrsLease(request), expectedError);
-            const actualRequest = (client.innerApiCalls.acquireSsrsLease as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.acquireSsrsLease as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+    it('invokes executeSql with error', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesExecuteSqlRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesExecuteSqlRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesExecuteSqlRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedError = new Error('expected');
+      client.innerApiCalls.executeSql = stubSimpleCall(
+        undefined,
+        expectedError,
+      );
+      await assert.rejects(client.executeSql(request), expectedError);
+      const actualRequest = (
+        client.innerApiCalls.executeSql as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.executeSql as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes acquireSsrsLease with closed client', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesAcquireSsrsLeaseRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesAcquireSsrsLeaseRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesAcquireSsrsLeaseRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedError = new Error('The client has already been closed.');
-            client.close().catch(err => {throw err});
-            await assert.rejects(client.acquireSsrsLease(request), expectedError);
-        });
+    it('invokes executeSql with closed client', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesExecuteSqlRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesExecuteSqlRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesExecuteSqlRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedError = new Error('The client has already been closed.');
+      client.close().catch((err) => {
+        throw err;
+      });
+      await assert.rejects(client.executeSql(request), expectedError);
+    });
+  });
+
+  describe('acquireSsrsLease', () => {
+    it('invokes acquireSsrsLease without error', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesAcquireSsrsLeaseRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesAcquireSsrsLeaseRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesAcquireSsrsLeaseRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesAcquireSsrsLeaseResponse(),
+      );
+      client.innerApiCalls.acquireSsrsLease = stubSimpleCall(expectedResponse);
+      const [response] = await client.acquireSsrsLease(request);
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (
+        client.innerApiCalls.acquireSsrsLease as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.acquireSsrsLease as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
     });
 
-    describe('releaseSsrsLease', () => {
-        it('invokes releaseSsrsLease without error', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesReleaseSsrsLeaseRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesReleaseSsrsLeaseRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesReleaseSsrsLeaseRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesReleaseSsrsLeaseResponse()
-            );
-            client.innerApiCalls.releaseSsrsLease = stubSimpleCall(expectedResponse);
-            const [response] = await client.releaseSsrsLease(request);
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.releaseSsrsLease as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.releaseSsrsLease as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+    it('invokes acquireSsrsLease without error using callback', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesAcquireSsrsLeaseRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesAcquireSsrsLeaseRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesAcquireSsrsLeaseRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesAcquireSsrsLeaseResponse(),
+      );
+      client.innerApiCalls.acquireSsrsLease =
+        stubSimpleCallWithCallback(expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.acquireSsrsLease(
+          request,
+          (
+            err?: Error | null,
+            result?: protos.google.cloud.sql.v1.ISqlInstancesAcquireSsrsLeaseResponse | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
+            }
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (
+        client.innerApiCalls.acquireSsrsLease as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.acquireSsrsLease as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes releaseSsrsLease without error using callback', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesReleaseSsrsLeaseRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesReleaseSsrsLeaseRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesReleaseSsrsLeaseRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesReleaseSsrsLeaseResponse()
-            );
-            client.innerApiCalls.releaseSsrsLease = stubSimpleCallWithCallback(expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.releaseSsrsLease(
-                    request,
-                    (err?: Error|null, result?: protos.google.cloud.sql.v1.ISqlInstancesReleaseSsrsLeaseResponse|null) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.releaseSsrsLease as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.releaseSsrsLease as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+    it('invokes acquireSsrsLease with error', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesAcquireSsrsLeaseRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesAcquireSsrsLeaseRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesAcquireSsrsLeaseRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedError = new Error('expected');
+      client.innerApiCalls.acquireSsrsLease = stubSimpleCall(
+        undefined,
+        expectedError,
+      );
+      await assert.rejects(client.acquireSsrsLease(request), expectedError);
+      const actualRequest = (
+        client.innerApiCalls.acquireSsrsLease as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.acquireSsrsLease as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes releaseSsrsLease with error', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesReleaseSsrsLeaseRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesReleaseSsrsLeaseRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesReleaseSsrsLeaseRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedError = new Error('expected');
-            client.innerApiCalls.releaseSsrsLease = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.releaseSsrsLease(request), expectedError);
-            const actualRequest = (client.innerApiCalls.releaseSsrsLease as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.releaseSsrsLease as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+    it('invokes acquireSsrsLease with closed client', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesAcquireSsrsLeaseRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesAcquireSsrsLeaseRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesAcquireSsrsLeaseRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedError = new Error('The client has already been closed.');
+      client.close().catch((err) => {
+        throw err;
+      });
+      await assert.rejects(client.acquireSsrsLease(request), expectedError);
+    });
+  });
+
+  describe('releaseSsrsLease', () => {
+    it('invokes releaseSsrsLease without error', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesReleaseSsrsLeaseRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesReleaseSsrsLeaseRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesReleaseSsrsLeaseRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesReleaseSsrsLeaseResponse(),
+      );
+      client.innerApiCalls.releaseSsrsLease = stubSimpleCall(expectedResponse);
+      const [response] = await client.releaseSsrsLease(request);
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (
+        client.innerApiCalls.releaseSsrsLease as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.releaseSsrsLease as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes releaseSsrsLease with closed client', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesReleaseSsrsLeaseRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesReleaseSsrsLeaseRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesReleaseSsrsLeaseRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedError = new Error('The client has already been closed.');
-            client.close().catch(err => {throw err});
-            await assert.rejects(client.releaseSsrsLease(request), expectedError);
-        });
+    it('invokes releaseSsrsLease without error using callback', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesReleaseSsrsLeaseRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesReleaseSsrsLeaseRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesReleaseSsrsLeaseRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesReleaseSsrsLeaseResponse(),
+      );
+      client.innerApiCalls.releaseSsrsLease =
+        stubSimpleCallWithCallback(expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.releaseSsrsLease(
+          request,
+          (
+            err?: Error | null,
+            result?: protos.google.cloud.sql.v1.ISqlInstancesReleaseSsrsLeaseResponse | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
+            }
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (
+        client.innerApiCalls.releaseSsrsLease as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.releaseSsrsLease as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
     });
 
-    describe('preCheckMajorVersionUpgrade', () => {
-        it('invokes preCheckMajorVersionUpgrade without error', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesPreCheckMajorVersionUpgradeRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesPreCheckMajorVersionUpgradeRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesPreCheckMajorVersionUpgradeRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1.Operation()
-            );
-            client.innerApiCalls.preCheckMajorVersionUpgrade = stubSimpleCall(expectedResponse);
-            const [response] = await client.preCheckMajorVersionUpgrade(request);
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.preCheckMajorVersionUpgrade as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.preCheckMajorVersionUpgrade as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+    it('invokes releaseSsrsLease with error', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesReleaseSsrsLeaseRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesReleaseSsrsLeaseRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesReleaseSsrsLeaseRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedError = new Error('expected');
+      client.innerApiCalls.releaseSsrsLease = stubSimpleCall(
+        undefined,
+        expectedError,
+      );
+      await assert.rejects(client.releaseSsrsLease(request), expectedError);
+      const actualRequest = (
+        client.innerApiCalls.releaseSsrsLease as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.releaseSsrsLease as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes preCheckMajorVersionUpgrade without error using callback', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesPreCheckMajorVersionUpgradeRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesPreCheckMajorVersionUpgradeRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesPreCheckMajorVersionUpgradeRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1.Operation()
-            );
-            client.innerApiCalls.preCheckMajorVersionUpgrade = stubSimpleCallWithCallback(expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.preCheckMajorVersionUpgrade(
-                    request,
-                    (err?: Error|null, result?: protos.google.cloud.sql.v1.IOperation|null) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.preCheckMajorVersionUpgrade as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.preCheckMajorVersionUpgrade as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+    it('invokes releaseSsrsLease with closed client', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesReleaseSsrsLeaseRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesReleaseSsrsLeaseRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesReleaseSsrsLeaseRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedError = new Error('The client has already been closed.');
+      client.close().catch((err) => {
+        throw err;
+      });
+      await assert.rejects(client.releaseSsrsLease(request), expectedError);
+    });
+  });
+
+  describe('preCheckMajorVersionUpgrade', () => {
+    it('invokes preCheckMajorVersionUpgrade without error', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesPreCheckMajorVersionUpgradeRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesPreCheckMajorVersionUpgradeRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesPreCheckMajorVersionUpgradeRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1.Operation(),
+      );
+      client.innerApiCalls.preCheckMajorVersionUpgrade =
+        stubSimpleCall(expectedResponse);
+      const [response] = await client.preCheckMajorVersionUpgrade(request);
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (
+        client.innerApiCalls.preCheckMajorVersionUpgrade as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.preCheckMajorVersionUpgrade as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes preCheckMajorVersionUpgrade with error', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesPreCheckMajorVersionUpgradeRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesPreCheckMajorVersionUpgradeRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesPreCheckMajorVersionUpgradeRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedError = new Error('expected');
-            client.innerApiCalls.preCheckMajorVersionUpgrade = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.preCheckMajorVersionUpgrade(request), expectedError);
-            const actualRequest = (client.innerApiCalls.preCheckMajorVersionUpgrade as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.preCheckMajorVersionUpgrade as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+    it('invokes preCheckMajorVersionUpgrade without error using callback', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesPreCheckMajorVersionUpgradeRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesPreCheckMajorVersionUpgradeRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesPreCheckMajorVersionUpgradeRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1.Operation(),
+      );
+      client.innerApiCalls.preCheckMajorVersionUpgrade =
+        stubSimpleCallWithCallback(expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.preCheckMajorVersionUpgrade(
+          request,
+          (
+            err?: Error | null,
+            result?: protos.google.cloud.sql.v1.IOperation | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
+            }
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (
+        client.innerApiCalls.preCheckMajorVersionUpgrade as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.preCheckMajorVersionUpgrade as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes preCheckMajorVersionUpgrade with closed client', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesPreCheckMajorVersionUpgradeRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesPreCheckMajorVersionUpgradeRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesPreCheckMajorVersionUpgradeRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedError = new Error('The client has already been closed.');
-            client.close().catch(err => {throw err});
-            await assert.rejects(client.preCheckMajorVersionUpgrade(request), expectedError);
-        });
+    it('invokes preCheckMajorVersionUpgrade with error', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesPreCheckMajorVersionUpgradeRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesPreCheckMajorVersionUpgradeRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesPreCheckMajorVersionUpgradeRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedError = new Error('expected');
+      client.innerApiCalls.preCheckMajorVersionUpgrade = stubSimpleCall(
+        undefined,
+        expectedError,
+      );
+      await assert.rejects(
+        client.preCheckMajorVersionUpgrade(request),
+        expectedError,
+      );
+      const actualRequest = (
+        client.innerApiCalls.preCheckMajorVersionUpgrade as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.preCheckMajorVersionUpgrade as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
     });
 
-    describe('pointInTimeRestore', () => {
-        it('invokes pointInTimeRestore without error', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesPointInTimeRestoreRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesPointInTimeRestoreRequest', ['parent']);
-            request.parent = defaultValue1;
-            const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1.Operation()
-            );
-            client.innerApiCalls.pointInTimeRestore = stubSimpleCall(expectedResponse);
-            const [response] = await client.pointInTimeRestore(request);
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.pointInTimeRestore as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.pointInTimeRestore as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+    it('invokes preCheckMajorVersionUpgrade with closed client', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesPreCheckMajorVersionUpgradeRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesPreCheckMajorVersionUpgradeRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesPreCheckMajorVersionUpgradeRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedError = new Error('The client has already been closed.');
+      client.close().catch((err) => {
+        throw err;
+      });
+      await assert.rejects(
+        client.preCheckMajorVersionUpgrade(request),
+        expectedError,
+      );
+    });
+  });
+
+  describe('pointInTimeRestore', () => {
+    it('invokes pointInTimeRestore without error', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesPointInTimeRestoreRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesPointInTimeRestoreRequest',
+        ['parent'],
+      );
+      request.parent = defaultValue1;
+      const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1.Operation(),
+      );
+      client.innerApiCalls.pointInTimeRestore =
+        stubSimpleCall(expectedResponse);
+      const [response] = await client.pointInTimeRestore(request);
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (
+        client.innerApiCalls.pointInTimeRestore as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.pointInTimeRestore as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes pointInTimeRestore without error using callback', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesPointInTimeRestoreRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesPointInTimeRestoreRequest', ['parent']);
-            request.parent = defaultValue1;
-            const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1.Operation()
-            );
-            client.innerApiCalls.pointInTimeRestore = stubSimpleCallWithCallback(expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.pointInTimeRestore(
-                    request,
-                    (err?: Error|null, result?: protos.google.cloud.sql.v1.IOperation|null) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.pointInTimeRestore as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.pointInTimeRestore as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+    it('invokes pointInTimeRestore without error using callback', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesPointInTimeRestoreRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesPointInTimeRestoreRequest',
+        ['parent'],
+      );
+      request.parent = defaultValue1;
+      const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1.Operation(),
+      );
+      client.innerApiCalls.pointInTimeRestore =
+        stubSimpleCallWithCallback(expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.pointInTimeRestore(
+          request,
+          (
+            err?: Error | null,
+            result?: protos.google.cloud.sql.v1.IOperation | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
+            }
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (
+        client.innerApiCalls.pointInTimeRestore as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.pointInTimeRestore as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes pointInTimeRestore with error', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesPointInTimeRestoreRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesPointInTimeRestoreRequest', ['parent']);
-            request.parent = defaultValue1;
-            const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`;
-            const expectedError = new Error('expected');
-            client.innerApiCalls.pointInTimeRestore = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.pointInTimeRestore(request), expectedError);
-            const actualRequest = (client.innerApiCalls.pointInTimeRestore as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.pointInTimeRestore as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+    it('invokes pointInTimeRestore with error', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesPointInTimeRestoreRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesPointInTimeRestoreRequest',
+        ['parent'],
+      );
+      request.parent = defaultValue1;
+      const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`;
+      const expectedError = new Error('expected');
+      client.innerApiCalls.pointInTimeRestore = stubSimpleCall(
+        undefined,
+        expectedError,
+      );
+      await assert.rejects(client.pointInTimeRestore(request), expectedError);
+      const actualRequest = (
+        client.innerApiCalls.pointInTimeRestore as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.pointInTimeRestore as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes pointInTimeRestore with closed client', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlInstancesPointInTimeRestoreRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlInstancesPointInTimeRestoreRequest', ['parent']);
-            request.parent = defaultValue1;
-            const expectedError = new Error('The client has already been closed.');
-            client.close().catch(err => {throw err});
-            await assert.rejects(client.pointInTimeRestore(request), expectedError);
-        });
+    it('invokes pointInTimeRestore with closed client', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlInstancesPointInTimeRestoreRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlInstancesPointInTimeRestoreRequest',
+        ['parent'],
+      );
+      request.parent = defaultValue1;
+      const expectedError = new Error('The client has already been closed.');
+      client.close().catch((err) => {
+        throw err;
+      });
+      await assert.rejects(client.pointInTimeRestore(request), expectedError);
     });
-    describe('getLocation', () => {
-        it('invokes getLocation without error', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new LocationProtos.google.cloud.location.GetLocationRequest()
-            );
-            request.name = '';
-            const expectedHeaderRequestParams = 'name=';
-            const expectedOptions = {
-                otherArgs: {
-                    headers: {
-                        'x-goog-request-params': expectedHeaderRequestParams,
-                    },
-                },
-            };
-            const expectedResponse = generateSampleMessage(
-              new LocationProtos.google.cloud.location.Location()
-            );
-            client.locationsClient.getLocation = stubSimpleCall(expectedResponse);
-            const response = await client.getLocation(request, expectedOptions);
-            assert.deepStrictEqual(response, [expectedResponse]);
-            assert((client.locationsClient.getLocation as SinonStub)
-                .getCall(0).calledWith(request, expectedOptions, undefined));
-        });
-        it('invokes getLocation without error using callback', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new LocationProtos.google.cloud.location.GetLocationRequest()
-            );
-            request.name = '';
-            const expectedHeaderRequestParams = 'name=';
-            const expectedOptions = {
-                otherArgs: {
-                    headers: {
-                        'x-goog-request-params': expectedHeaderRequestParams,
-                    },
-                },
-            };
-            const expectedResponse = generateSampleMessage(
-              new LocationProtos.google.cloud.location.Location()
-            );
-            client.locationsClient.getLocation = sinon.stub().callsArgWith(2, null, expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.getLocation(
-                    request,
-                    expectedOptions,
-                    (
-                        err?: Error | null,
-                        result?: LocationProtos.google.cloud.location.ILocation | null
-                    ) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            assert((client.locationsClient.getLocation as SinonStub)
-                .getCall(0));
-        });
-        it('invokes getLocation with error', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new LocationProtos.google.cloud.location.GetLocationRequest()
-            );
-            request.name = '';
-            const expectedHeaderRequestParams = 'name=';
-            const expectedOptions = {
-                otherArgs: {
-                    headers: {
-                        'x-goog-request-params': expectedHeaderRequestParams,
-                    },
-                },
-            };
-            const expectedError = new Error('expected');
-            client.locationsClient.getLocation = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.getLocation(request, expectedOptions), expectedError);
-            assert((client.locationsClient.getLocation as SinonStub)
-                .getCall(0).calledWith(request, expectedOptions, undefined));
-        });
+  });
+  describe('getLocation', () => {
+    it('invokes getLocation without error', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new LocationProtos.google.cloud.location.GetLocationRequest(),
+      );
+      request.name = '';
+      const expectedHeaderRequestParams = 'name=';
+      const expectedOptions = {
+        otherArgs: {
+          headers: {
+            'x-goog-request-params': expectedHeaderRequestParams,
+          },
+        },
+      };
+      const expectedResponse = generateSampleMessage(
+        new LocationProtos.google.cloud.location.Location(),
+      );
+      client.locationsClient.getLocation = stubSimpleCall(expectedResponse);
+      const response = await client.getLocation(request, expectedOptions);
+      assert.deepStrictEqual(response, [expectedResponse]);
+      assert(
+        (client.locationsClient.getLocation as SinonStub)
+          .getCall(0)
+          .calledWith(request, expectedOptions, undefined),
+      );
     });
-    describe('listLocationsAsync', () => {
-        it('uses async iteration with listLocations without error', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-                new LocationProtos.google.cloud.location.ListLocationsRequest()
-            );
-            request.name = '';
-            const expectedHeaderRequestParams = 'name=';
-            const expectedResponse = [
-                generateSampleMessage(
-                    new LocationProtos.google.cloud.location.Location()
-                ),
-                generateSampleMessage(
-                    new LocationProtos.google.cloud.location.Location()
-                ),
-                generateSampleMessage(
-                    new LocationProtos.google.cloud.location.Location()
-                ),
-            ];
-            client.locationsClient.descriptors.page.listLocations.asyncIterate = stubAsyncIterationCall(expectedResponse);
-            const responses: LocationProtos.google.cloud.location.ILocation[] = [];
-            const iterable = client.listLocationsAsync(request);
-            for await (const resource of iterable) {
-                responses.push(resource!);
+    it('invokes getLocation without error using callback', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new LocationProtos.google.cloud.location.GetLocationRequest(),
+      );
+      request.name = '';
+      const expectedHeaderRequestParams = 'name=';
+      const expectedOptions = {
+        otherArgs: {
+          headers: {
+            'x-goog-request-params': expectedHeaderRequestParams,
+          },
+        },
+      };
+      const expectedResponse = generateSampleMessage(
+        new LocationProtos.google.cloud.location.Location(),
+      );
+      client.locationsClient.getLocation = sinon
+        .stub()
+        .callsArgWith(2, null, expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.getLocation(
+          request,
+          expectedOptions,
+          (
+            err?: Error | null,
+            result?: LocationProtos.google.cloud.location.ILocation | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
             }
-            assert.deepStrictEqual(responses, expectedResponse);
-            assert.deepStrictEqual(
-                (client.locationsClient.descriptors.page.listLocations.asyncIterate as SinonStub)
-                    .getCall(0).args[1], request);
-            assert(
-                (client.locationsClient.descriptors.page.listLocations.asyncIterate as SinonStub)
-                    .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes(
-                        expectedHeaderRequestParams
-                    )
-            );
-        });
-        it('uses async iteration with listLocations with error', async () => {
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-                credentials: {client_email: 'bogus', private_key: 'bogus'},
-                projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new LocationProtos.google.cloud.location.ListLocationsRequest()
-            );
-            request.name = '';
-            const expectedHeaderRequestParams = 'name=';
-            const expectedError = new Error('expected');
-            client.locationsClient.descriptors.page.listLocations.asyncIterate = stubAsyncIterationCall(undefined, expectedError);
-            const iterable = client.listLocationsAsync(request);
-            await assert.rejects(async () => {
-                const responses: LocationProtos.google.cloud.location.ILocation[] = [];
-                for await (const resource of iterable) {
-                    responses.push(resource!);
-                }
-            });
-            assert.deepStrictEqual(
-                (client.locationsClient.descriptors.page.listLocations.asyncIterate as SinonStub)
-                    .getCall(0).args[1], request);
-            assert(
-                (client.locationsClient.descriptors.page.listLocations.asyncIterate as SinonStub)
-                    .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes(
-                        expectedHeaderRequestParams
-                    )
-            );
-        });
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      assert((client.locationsClient.getLocation as SinonStub).getCall(0));
+    });
+    it('invokes getLocation with error', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new LocationProtos.google.cloud.location.GetLocationRequest(),
+      );
+      request.name = '';
+      const expectedHeaderRequestParams = 'name=';
+      const expectedOptions = {
+        otherArgs: {
+          headers: {
+            'x-goog-request-params': expectedHeaderRequestParams,
+          },
+        },
+      };
+      const expectedError = new Error('expected');
+      client.locationsClient.getLocation = stubSimpleCall(
+        undefined,
+        expectedError,
+      );
+      await assert.rejects(
+        client.getLocation(request, expectedOptions),
+        expectedError,
+      );
+      assert(
+        (client.locationsClient.getLocation as SinonStub)
+          .getCall(0)
+          .calledWith(request, expectedOptions, undefined),
+      );
+    });
+  });
+  describe('listLocationsAsync', () => {
+    it('uses async iteration with listLocations without error', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new LocationProtos.google.cloud.location.ListLocationsRequest(),
+      );
+      request.name = '';
+      const expectedHeaderRequestParams = 'name=';
+      const expectedResponse = [
+        generateSampleMessage(
+          new LocationProtos.google.cloud.location.Location(),
+        ),
+        generateSampleMessage(
+          new LocationProtos.google.cloud.location.Location(),
+        ),
+        generateSampleMessage(
+          new LocationProtos.google.cloud.location.Location(),
+        ),
+      ];
+      client.locationsClient.descriptors.page.listLocations.asyncIterate =
+        stubAsyncIterationCall(expectedResponse);
+      const responses: LocationProtos.google.cloud.location.ILocation[] = [];
+      const iterable = client.listLocationsAsync(request);
+      for await (const resource of iterable) {
+        responses.push(resource!);
+      }
+      assert.deepStrictEqual(responses, expectedResponse);
+      assert.deepStrictEqual(
+        (
+          client.locationsClient.descriptors.page.listLocations
+            .asyncIterate as SinonStub
+        ).getCall(0).args[1],
+        request,
+      );
+      assert(
+        (
+          client.locationsClient.descriptors.page.listLocations
+            .asyncIterate as SinonStub
+        )
+          .getCall(0)
+          .args[2].otherArgs.headers['x-goog-request-params'].includes(
+            expectedHeaderRequestParams,
+          ),
+      );
+    });
+    it('uses async iteration with listLocations with error', async () => {
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      const request = generateSampleMessage(
+        new LocationProtos.google.cloud.location.ListLocationsRequest(),
+      );
+      request.name = '';
+      const expectedHeaderRequestParams = 'name=';
+      const expectedError = new Error('expected');
+      client.locationsClient.descriptors.page.listLocations.asyncIterate =
+        stubAsyncIterationCall(undefined, expectedError);
+      const iterable = client.listLocationsAsync(request);
+      await assert.rejects(async () => {
+        const responses: LocationProtos.google.cloud.location.ILocation[] = [];
+        for await (const resource of iterable) {
+          responses.push(resource!);
+        }
+      });
+      assert.deepStrictEqual(
+        (
+          client.locationsClient.descriptors.page.listLocations
+            .asyncIterate as SinonStub
+        ).getCall(0).args[1],
+        request,
+      );
+      assert(
+        (
+          client.locationsClient.descriptors.page.listLocations
+            .asyncIterate as SinonStub
+        )
+          .getCall(0)
+          .args[2].otherArgs.headers['x-goog-request-params'].includes(
+            expectedHeaderRequestParams,
+          ),
+      );
+    });
+  });
+
+  describe('Path templates', () => {
+    describe('backup', async () => {
+      const fakePath = '/rendered/path/backup';
+      const expectedParameters = {
+        project: 'projectValue',
+        location: 'locationValue',
+        backupvault: 'backupvaultValue',
+        datasource: 'datasourceValue',
+        backup: 'backupValue',
+      };
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      client.pathTemplates.backupPathTemplate.render = sinon
+        .stub()
+        .returns(fakePath);
+      client.pathTemplates.backupPathTemplate.match = sinon
+        .stub()
+        .returns(expectedParameters);
+
+      it('backupPath', () => {
+        const result = client.backupPath(
+          'projectValue',
+          'locationValue',
+          'backupvaultValue',
+          'datasourceValue',
+          'backupValue',
+        );
+        assert.strictEqual(result, fakePath);
+        assert(
+          (client.pathTemplates.backupPathTemplate.render as SinonStub)
+            .getCall(-1)
+            .calledWith(expectedParameters),
+        );
+      });
+
+      it('matchProjectFromBackupName', () => {
+        const result = client.matchProjectFromBackupName(fakePath);
+        assert.strictEqual(result, 'projectValue');
+        assert(
+          (client.pathTemplates.backupPathTemplate.match as SinonStub)
+            .getCall(-1)
+            .calledWith(fakePath),
+        );
+      });
+
+      it('matchLocationFromBackupName', () => {
+        const result = client.matchLocationFromBackupName(fakePath);
+        assert.strictEqual(result, 'locationValue');
+        assert(
+          (client.pathTemplates.backupPathTemplate.match as SinonStub)
+            .getCall(-1)
+            .calledWith(fakePath),
+        );
+      });
+
+      it('matchBackupvaultFromBackupName', () => {
+        const result = client.matchBackupvaultFromBackupName(fakePath);
+        assert.strictEqual(result, 'backupvaultValue');
+        assert(
+          (client.pathTemplates.backupPathTemplate.match as SinonStub)
+            .getCall(-1)
+            .calledWith(fakePath),
+        );
+      });
+
+      it('matchDatasourceFromBackupName', () => {
+        const result = client.matchDatasourceFromBackupName(fakePath);
+        assert.strictEqual(result, 'datasourceValue');
+        assert(
+          (client.pathTemplates.backupPathTemplate.match as SinonStub)
+            .getCall(-1)
+            .calledWith(fakePath),
+        );
+      });
+
+      it('matchBackupFromBackupName', () => {
+        const result = client.matchBackupFromBackupName(fakePath);
+        assert.strictEqual(result, 'backupValue');
+        assert(
+          (client.pathTemplates.backupPathTemplate.match as SinonStub)
+            .getCall(-1)
+            .calledWith(fakePath),
+        );
+      });
     });
 
-    describe('Path templates', () => {
-
-        describe('backup', async () => {
-            const fakePath = "/rendered/path/backup";
-            const expectedParameters = {
-                project: "projectValue",
-                location: "locationValue",
-                backupvault: "backupvaultValue",
-                datasource: "datasourceValue",
-                backup: "backupValue",
-            };
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-                credentials: {client_email: 'bogus', private_key: 'bogus'},
-                projectId: 'bogus',
-            });
-            await client.initialize();
-            client.pathTemplates.backupPathTemplate.render =
-                sinon.stub().returns(fakePath);
-            client.pathTemplates.backupPathTemplate.match =
-                sinon.stub().returns(expectedParameters);
-
-            it('backupPath', () => {
-                const result = client.backupPath("projectValue", "locationValue", "backupvaultValue", "datasourceValue", "backupValue");
-                assert.strictEqual(result, fakePath);
-                assert((client.pathTemplates.backupPathTemplate.render as SinonStub)
-                    .getCall(-1).calledWith(expectedParameters));
-            });
-
-            it('matchProjectFromBackupName', () => {
-                const result = client.matchProjectFromBackupName(fakePath);
-                assert.strictEqual(result, "projectValue");
-                assert((client.pathTemplates.backupPathTemplate.match as SinonStub)
-                    .getCall(-1).calledWith(fakePath));
-            });
-
-            it('matchLocationFromBackupName', () => {
-                const result = client.matchLocationFromBackupName(fakePath);
-                assert.strictEqual(result, "locationValue");
-                assert((client.pathTemplates.backupPathTemplate.match as SinonStub)
-                    .getCall(-1).calledWith(fakePath));
-            });
-
-            it('matchBackupvaultFromBackupName', () => {
-                const result = client.matchBackupvaultFromBackupName(fakePath);
-                assert.strictEqual(result, "backupvaultValue");
-                assert((client.pathTemplates.backupPathTemplate.match as SinonStub)
-                    .getCall(-1).calledWith(fakePath));
-            });
-
-            it('matchDatasourceFromBackupName', () => {
-                const result = client.matchDatasourceFromBackupName(fakePath);
-                assert.strictEqual(result, "datasourceValue");
-                assert((client.pathTemplates.backupPathTemplate.match as SinonStub)
-                    .getCall(-1).calledWith(fakePath));
-            });
-
-            it('matchBackupFromBackupName', () => {
-                const result = client.matchBackupFromBackupName(fakePath);
-                assert.strictEqual(result, "backupValue");
-                assert((client.pathTemplates.backupPathTemplate.match as SinonStub)
-                    .getCall(-1).calledWith(fakePath));
-            });
-        });
-
-        describe('network', async () => {
-            const fakePath = "/rendered/path/network";
-            const expectedParameters = {
-                project: "projectValue",
-                network: "networkValue",
-            };
-            const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient({
-                credentials: {client_email: 'bogus', private_key: 'bogus'},
-                projectId: 'bogus',
-            });
-            await client.initialize();
-            client.pathTemplates.networkPathTemplate.render =
-                sinon.stub().returns(fakePath);
-            client.pathTemplates.networkPathTemplate.match =
-                sinon.stub().returns(expectedParameters);
-
-            it('networkPath', () => {
-                const result = client.networkPath("projectValue", "networkValue");
-                assert.strictEqual(result, fakePath);
-                assert((client.pathTemplates.networkPathTemplate.render as SinonStub)
-                    .getCall(-1).calledWith(expectedParameters));
-            });
-
-            it('matchProjectFromNetworkName', () => {
-                const result = client.matchProjectFromNetworkName(fakePath);
-                assert.strictEqual(result, "projectValue");
-                assert((client.pathTemplates.networkPathTemplate.match as SinonStub)
-                    .getCall(-1).calledWith(fakePath));
-            });
-
-            it('matchNetworkFromNetworkName', () => {
-                const result = client.matchNetworkFromNetworkName(fakePath);
-                assert.strictEqual(result, "networkValue");
-                assert((client.pathTemplates.networkPathTemplate.match as SinonStub)
-                    .getCall(-1).calledWith(fakePath));
-            });
-        });
+    describe('network', async () => {
+      const fakePath = '/rendered/path/network';
+      const expectedParameters = {
+        project: 'projectValue',
+        network: 'networkValue',
+      };
+      const client = new sqlinstancesserviceModule.v1.SqlInstancesServiceClient(
+        {
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        },
+      );
+      await client.initialize();
+      client.pathTemplates.networkPathTemplate.render = sinon
+        .stub()
+        .returns(fakePath);
+      client.pathTemplates.networkPathTemplate.match = sinon
+        .stub()
+        .returns(expectedParameters);
+
+      it('networkPath', () => {
+        const result = client.networkPath('projectValue', 'networkValue');
+        assert.strictEqual(result, fakePath);
+        assert(
+          (client.pathTemplates.networkPathTemplate.render as SinonStub)
+            .getCall(-1)
+            .calledWith(expectedParameters),
+        );
+      });
+
+      it('matchProjectFromNetworkName', () => {
+        const result = client.matchProjectFromNetworkName(fakePath);
+        assert.strictEqual(result, 'projectValue');
+        assert(
+          (client.pathTemplates.networkPathTemplate.match as SinonStub)
+            .getCall(-1)
+            .calledWith(fakePath),
+        );
+      });
+
+      it('matchNetworkFromNetworkName', () => {
+        const result = client.matchNetworkFromNetworkName(fakePath);
+        assert.strictEqual(result, 'networkValue');
+        assert(
+          (client.pathTemplates.networkPathTemplate.match as SinonStub)
+            .getCall(-1)
+            .calledWith(fakePath),
+        );
+      });
     });
+  });
 });
diff --git a/packages/google-cloud-sql/test/gapic_sql_instances_service_v1beta4.ts b/packages/google-cloud-sql/test/gapic_sql_instances_service_v1beta4.ts
index 5a2dbf876691..57ac7bbd95ca 100644
--- a/packages/google-cloud-sql/test/gapic_sql_instances_service_v1beta4.ts
+++ b/packages/google-cloud-sql/test/gapic_sql_instances_service_v1beta4.ts
@@ -19,5577 +19,7230 @@
 import * as protos from '../protos/protos';
 import * as assert from 'assert';
 import * as sinon from 'sinon';
-import {SinonStub} from 'sinon';
-import {describe, it} from 'mocha';
+import { SinonStub } from 'sinon';
+import { describe, it } from 'mocha';
 import * as sqlinstancesserviceModule from '../src';
 
-import {protobuf, LocationProtos} from 'google-gax';
+import { protobuf, LocationProtos } from 'google-gax';
 
 // Dynamically loaded proto JSON is needed to get the type information
 // to fill in default values for request objects
-const root = protobuf.Root.fromJSON(require('../protos/protos.json')).resolveAll();
+const root = protobuf.Root.fromJSON(
+  require('../protos/protos.json'),
+).resolveAll();
 
 // eslint-disable-next-line @typescript-eslint/no-unused-vars
 function getTypeDefaultValue(typeName: string, fields: string[]) {
-    let type = root.lookupType(typeName) as protobuf.Type;
-    for (const field of fields.slice(0, -1)) {
-        type = type.fields[field]?.resolvedType as protobuf.Type;
-    }
-    return type.fields[fields[fields.length - 1]]?.defaultValue;
+  let type = root.lookupType(typeName) as protobuf.Type;
+  for (const field of fields.slice(0, -1)) {
+    type = type.fields[field]?.resolvedType as protobuf.Type;
+  }
+  return type.fields[fields[fields.length - 1]]?.defaultValue;
 }
 
 function generateSampleMessage<T extends object>(instance: T) {
-    const filledObject = (instance.constructor as typeof protobuf.Message)
-        .toObject(instance as protobuf.Message<T>, {defaults: true});
-    return (instance.constructor as typeof protobuf.Message).fromObject(filledObject) as T;
+  const filledObject = (
+    instance.constructor as typeof protobuf.Message
+  ).toObject(instance as protobuf.Message<T>, { defaults: true });
+  return (instance.constructor as typeof protobuf.Message).fromObject(
+    filledObject,
+  ) as T;
 }
 
 function stubSimpleCall<ResponseType>(response?: ResponseType, error?: Error) {
-    return error ? sinon.stub().rejects(error) : sinon.stub().resolves([response]);
+  return error
+    ? sinon.stub().rejects(error)
+    : sinon.stub().resolves([response]);
 }
 
-function stubSimpleCallWithCallback<ResponseType>(response?: ResponseType, error?: Error) {
-    return error ? sinon.stub().callsArgWith(2, error) : sinon.stub().callsArgWith(2, null, response);
+function stubSimpleCallWithCallback<ResponseType>(
+  response?: ResponseType,
+  error?: Error,
+) {
+  return error
+    ? sinon.stub().callsArgWith(2, error)
+    : sinon.stub().callsArgWith(2, null, response);
 }
 
-function stubAsyncIterationCall<ResponseType>(responses?: ResponseType[], error?: Error) {
-    let counter = 0;
-    const asyncIterable = {
-        [Symbol.asyncIterator]() {
-            return {
-                async next() {
-                    if (error) {
-                        return Promise.reject(error);
-                    }
-                    if (counter >= responses!.length) {
-                        return Promise.resolve({done: true, value: undefined});
-                    }
-                    return Promise.resolve({done: false, value: responses![counter++]});
-                }
-            };
-        }
-    };
-    return sinon.stub().returns(asyncIterable);
+function stubAsyncIterationCall<ResponseType>(
+  responses?: ResponseType[],
+  error?: Error,
+) {
+  let counter = 0;
+  const asyncIterable = {
+    [Symbol.asyncIterator]() {
+      return {
+        async next() {
+          if (error) {
+            return Promise.reject(error);
+          }
+          if (counter >= responses!.length) {
+            return Promise.resolve({ done: true, value: undefined });
+          }
+          return Promise.resolve({ done: false, value: responses![counter++] });
+        },
+      };
+    },
+  };
+  return sinon.stub().returns(asyncIterable);
 }
 
 describe('v1beta4.SqlInstancesServiceClient', () => {
-    describe('Common methods', () => {
-        it('has apiEndpoint', () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient();
-            const apiEndpoint = client.apiEndpoint;
-            assert.strictEqual(apiEndpoint, 'sqladmin.googleapis.com');
-        });
-
-        it('has universeDomain', () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient();
-            const universeDomain = client.universeDomain;
-            assert.strictEqual(universeDomain, "googleapis.com");
-        });
-
-        if (typeof process === 'object' && typeof process.emitWarning === 'function') {
-            it('throws DeprecationWarning if static servicePath is used', () => {
-                const stub = sinon.stub(process, 'emitWarning');
-                const servicePath = sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient.servicePath;
-                assert.strictEqual(servicePath, 'sqladmin.googleapis.com');
-                assert(stub.called);
-                stub.restore();
-            });
+  describe('Common methods', () => {
+    it('has apiEndpoint', () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient();
+      const apiEndpoint = client.apiEndpoint;
+      assert.strictEqual(apiEndpoint, 'sqladmin.googleapis.com');
+    });
 
-            it('throws DeprecationWarning if static apiEndpoint is used', () => {
-                const stub = sinon.stub(process, 'emitWarning');
-                const apiEndpoint = sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient.apiEndpoint;
-                assert.strictEqual(apiEndpoint, 'sqladmin.googleapis.com');
-                assert(stub.called);
-                stub.restore();
-            });
-        }
-        it('sets apiEndpoint according to universe domain camelCase', () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({universeDomain: 'example.com'});
-            const servicePath = client.apiEndpoint;
-            assert.strictEqual(servicePath, 'sqladmin.example.com');
-        });
-
-        it('sets apiEndpoint according to universe domain snakeCase', () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({universe_domain: 'example.com'});
-            const servicePath = client.apiEndpoint;
-            assert.strictEqual(servicePath, 'sqladmin.example.com');
-        });
-
-        if (typeof process === 'object' && 'env' in process) {
-            describe('GOOGLE_CLOUD_UNIVERSE_DOMAIN environment variable', () => {
-                it('sets apiEndpoint from environment variable', () => {
-                    const saved = process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
-                    process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = 'example.com';
-                    const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient();
-                    const servicePath = client.apiEndpoint;
-                    assert.strictEqual(servicePath, 'sqladmin.example.com');
-                    if (saved) {
-                        process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = saved;
-                    } else {
-                        delete process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
-                    }
-                });
-
-                it('value configured in code has priority over environment variable', () => {
-                    const saved = process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
-                    process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = 'example.com';
-                    const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({universeDomain: 'configured.example.com'});
-                    const servicePath = client.apiEndpoint;
-                    assert.strictEqual(servicePath, 'sqladmin.configured.example.com');
-                    if (saved) {
-                        process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = saved;
-                    } else {
-                        delete process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
-                    }
-                });
-            });
-        }
-        it('does not allow setting both universeDomain and universe_domain', () => {
-            assert.throws(() => { new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({universe_domain: 'example.com', universeDomain: 'example.net'}); });
-        });
+    it('has universeDomain', () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient();
+      const universeDomain = client.universeDomain;
+      assert.strictEqual(universeDomain, 'googleapis.com');
+    });
 
-        it('has port', () => {
-            const port = sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient.port;
-            assert(port);
-            assert(typeof port === 'number');
+    if (
+      typeof process === 'object' &&
+      typeof process.emitWarning === 'function'
+    ) {
+      it('throws DeprecationWarning if static servicePath is used', () => {
+        const stub = sinon.stub(process, 'emitWarning');
+        const servicePath =
+          sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient
+            .servicePath;
+        assert.strictEqual(servicePath, 'sqladmin.googleapis.com');
+        assert(stub.called);
+        stub.restore();
+      });
+
+      it('throws DeprecationWarning if static apiEndpoint is used', () => {
+        const stub = sinon.stub(process, 'emitWarning');
+        const apiEndpoint =
+          sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient
+            .apiEndpoint;
+        assert.strictEqual(apiEndpoint, 'sqladmin.googleapis.com');
+        assert(stub.called);
+        stub.restore();
+      });
+    }
+    it('sets apiEndpoint according to universe domain camelCase', () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          universeDomain: 'example.com',
         });
+      const servicePath = client.apiEndpoint;
+      assert.strictEqual(servicePath, 'sqladmin.example.com');
+    });
 
-        it('should create a client with no option', () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient();
-            assert(client);
+    it('sets apiEndpoint according to universe domain snakeCase', () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          universe_domain: 'example.com',
         });
+      const servicePath = client.apiEndpoint;
+      assert.strictEqual(servicePath, 'sqladmin.example.com');
+    });
 
-        it('should create a client with gRPC fallback', () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-                fallback: true,
-            });
-            assert(client);
+    if (typeof process === 'object' && 'env' in process) {
+      describe('GOOGLE_CLOUD_UNIVERSE_DOMAIN environment variable', () => {
+        it('sets apiEndpoint from environment variable', () => {
+          const saved = process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
+          process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = 'example.com';
+          const client =
+            new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient();
+          const servicePath = client.apiEndpoint;
+          assert.strictEqual(servicePath, 'sqladmin.example.com');
+          if (saved) {
+            process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = saved;
+          } else {
+            delete process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
+          }
+        });
+
+        it('value configured in code has priority over environment variable', () => {
+          const saved = process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
+          process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = 'example.com';
+          const client =
+            new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+              universeDomain: 'configured.example.com',
+            });
+          const servicePath = client.apiEndpoint;
+          assert.strictEqual(servicePath, 'sqladmin.configured.example.com');
+          if (saved) {
+            process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = saved;
+          } else {
+            delete process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
+          }
+        });
+      });
+    }
+    it('does not allow setting both universeDomain and universe_domain', () => {
+      assert.throws(() => {
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          universe_domain: 'example.com',
+          universeDomain: 'example.net',
         });
+      });
+    });
 
-        it('has initialize method and supports deferred initialization', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            assert.strictEqual(client.sqlInstancesServiceStub, undefined);
-            await client.initialize();
-            assert(client.sqlInstancesServiceStub);
-        });
+    it('has port', () => {
+      const port =
+        sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient.port;
+      assert(port);
+      assert(typeof port === 'number');
+    });
 
-        it('has close method for the initialized client', done => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            client.initialize().catch(err => {throw err});
-            assert(client.sqlInstancesServiceStub);
-            client.close().then(() => {
-                done();
-            }).catch(err => {throw err});
+    it('should create a client with no option', () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient();
+      assert(client);
+    });
+
+    it('should create a client with gRPC fallback', () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          fallback: true,
         });
+      assert(client);
+    });
 
-        it('has close method for the non-initialized client', done => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            assert.strictEqual(client.sqlInstancesServiceStub, undefined);
-            client.close().then(() => {
-                done();
-            }).catch(err => {throw err});
+    it('has initialize method and supports deferred initialization', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
         });
+      assert.strictEqual(client.sqlInstancesServiceStub, undefined);
+      await client.initialize();
+      assert(client.sqlInstancesServiceStub);
+    });
 
-        it('has getProjectId method', async () => {
-            const fakeProjectId = 'fake-project-id';
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            client.auth.getProjectId = sinon.stub().resolves(fakeProjectId);
-            const result = await client.getProjectId();
-            assert.strictEqual(result, fakeProjectId);
-            assert((client.auth.getProjectId as SinonStub).calledWithExactly());
+    it('has close method for the initialized client', (done) => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      client.initialize().catch((err) => {
+        throw err;
+      });
+      assert(client.sqlInstancesServiceStub);
+      client
+        .close()
+        .then(() => {
+          done();
+        })
+        .catch((err) => {
+          throw err;
         });
+    });
 
-        it('has getProjectId method with callback', async () => {
-            const fakeProjectId = 'fake-project-id';
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            client.auth.getProjectId = sinon.stub().callsArgWith(0, null, fakeProjectId);
-            const promise = new Promise((resolve, reject) => {
-                client.getProjectId((err?: Error|null, projectId?: string|null) => {
-                    if (err) {
-                        reject(err);
-                    } else {
-                        resolve(projectId);
-                    }
-                });
-            });
-            const result = await promise;
-            assert.strictEqual(result, fakeProjectId);
+    it('has close method for the non-initialized client', (done) => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      assert.strictEqual(client.sqlInstancesServiceStub, undefined);
+      client
+        .close()
+        .then(() => {
+          done();
+        })
+        .catch((err) => {
+          throw err;
         });
     });
 
-    describe('addServerCa', () => {
-        it('invokes addServerCa without error', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesAddServerCaRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesAddServerCaRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesAddServerCaRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.Operation()
-            );
-            client.innerApiCalls.addServerCa = stubSimpleCall(expectedResponse);
-            const [response] = await client.addServerCa(request);
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.addServerCa as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.addServerCa as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes addServerCa without error using callback', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesAddServerCaRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesAddServerCaRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesAddServerCaRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.Operation()
-            );
-            client.innerApiCalls.addServerCa = stubSimpleCallWithCallback(expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.addServerCa(
-                    request,
-                    (err?: Error|null, result?: protos.google.cloud.sql.v1beta4.IOperation|null) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.addServerCa as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.addServerCa as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes addServerCa with error', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesAddServerCaRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesAddServerCaRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesAddServerCaRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedError = new Error('expected');
-            client.innerApiCalls.addServerCa = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.addServerCa(request), expectedError);
-            const actualRequest = (client.innerApiCalls.addServerCa as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.addServerCa as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes addServerCa with closed client', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesAddServerCaRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesAddServerCaRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesAddServerCaRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedError = new Error('The client has already been closed.');
-            client.close().catch(err => {throw err});
-            await assert.rejects(client.addServerCa(request), expectedError);
-        });
-    });
-
-    describe('addServerCertificate', () => {
-        it('invokes addServerCertificate without error', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesAddServerCertificateRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesAddServerCertificateRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesAddServerCertificateRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.Operation()
-            );
-            client.innerApiCalls.addServerCertificate = stubSimpleCall(expectedResponse);
-            const [response] = await client.addServerCertificate(request);
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.addServerCertificate as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.addServerCertificate as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes addServerCertificate without error using callback', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesAddServerCertificateRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesAddServerCertificateRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesAddServerCertificateRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.Operation()
-            );
-            client.innerApiCalls.addServerCertificate = stubSimpleCallWithCallback(expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.addServerCertificate(
-                    request,
-                    (err?: Error|null, result?: protos.google.cloud.sql.v1beta4.IOperation|null) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.addServerCertificate as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.addServerCertificate as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes addServerCertificate with error', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesAddServerCertificateRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesAddServerCertificateRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesAddServerCertificateRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedError = new Error('expected');
-            client.innerApiCalls.addServerCertificate = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.addServerCertificate(request), expectedError);
-            const actualRequest = (client.innerApiCalls.addServerCertificate as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.addServerCertificate as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes addServerCertificate with closed client', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesAddServerCertificateRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesAddServerCertificateRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesAddServerCertificateRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedError = new Error('The client has already been closed.');
-            client.close().catch(err => {throw err});
-            await assert.rejects(client.addServerCertificate(request), expectedError);
-        });
-    });
-
-    describe('addEntraIdCertificate', () => {
-        it('invokes addEntraIdCertificate without error', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesAddEntraIdCertificateRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesAddEntraIdCertificateRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesAddEntraIdCertificateRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.Operation()
-            );
-            client.innerApiCalls.addEntraIdCertificate = stubSimpleCall(expectedResponse);
-            const [response] = await client.addEntraIdCertificate(request);
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.addEntraIdCertificate as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.addEntraIdCertificate as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes addEntraIdCertificate without error using callback', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesAddEntraIdCertificateRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesAddEntraIdCertificateRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesAddEntraIdCertificateRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.Operation()
-            );
-            client.innerApiCalls.addEntraIdCertificate = stubSimpleCallWithCallback(expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.addEntraIdCertificate(
-                    request,
-                    (err?: Error|null, result?: protos.google.cloud.sql.v1beta4.IOperation|null) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.addEntraIdCertificate as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.addEntraIdCertificate as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes addEntraIdCertificate with error', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesAddEntraIdCertificateRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesAddEntraIdCertificateRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesAddEntraIdCertificateRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedError = new Error('expected');
-            client.innerApiCalls.addEntraIdCertificate = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.addEntraIdCertificate(request), expectedError);
-            const actualRequest = (client.innerApiCalls.addEntraIdCertificate as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.addEntraIdCertificate as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes addEntraIdCertificate with closed client', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesAddEntraIdCertificateRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesAddEntraIdCertificateRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesAddEntraIdCertificateRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedError = new Error('The client has already been closed.');
-            client.close().catch(err => {throw err});
-            await assert.rejects(client.addEntraIdCertificate(request), expectedError);
-        });
-    });
-
-    describe('clone', () => {
-        it('invokes clone without error', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesCloneRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesCloneRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesCloneRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.Operation()
-            );
-            client.innerApiCalls.clone = stubSimpleCall(expectedResponse);
-            const [response] = await client.clone(request);
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.clone as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.clone as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes clone without error using callback', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesCloneRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesCloneRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesCloneRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.Operation()
-            );
-            client.innerApiCalls.clone = stubSimpleCallWithCallback(expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.clone(
-                    request,
-                    (err?: Error|null, result?: protos.google.cloud.sql.v1beta4.IOperation|null) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.clone as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.clone as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes clone with error', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesCloneRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesCloneRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesCloneRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedError = new Error('expected');
-            client.innerApiCalls.clone = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.clone(request), expectedError);
-            const actualRequest = (client.innerApiCalls.clone as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.clone as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes clone with closed client', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesCloneRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesCloneRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesCloneRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedError = new Error('The client has already been closed.');
-            client.close().catch(err => {throw err});
-            await assert.rejects(client.clone(request), expectedError);
-        });
-    });
-
-    describe('delete', () => {
-        it('invokes delete without error', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesDeleteRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesDeleteRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesDeleteRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.Operation()
-            );
-            client.innerApiCalls.delete = stubSimpleCall(expectedResponse);
-            const [response] = await client.delete(request);
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.delete as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.delete as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes delete without error using callback', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesDeleteRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesDeleteRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesDeleteRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.Operation()
-            );
-            client.innerApiCalls.delete = stubSimpleCallWithCallback(expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.delete(
-                    request,
-                    (err?: Error|null, result?: protos.google.cloud.sql.v1beta4.IOperation|null) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.delete as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.delete as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes delete with error', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesDeleteRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesDeleteRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesDeleteRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedError = new Error('expected');
-            client.innerApiCalls.delete = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.delete(request), expectedError);
-            const actualRequest = (client.innerApiCalls.delete as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.delete as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes delete with closed client', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesDeleteRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesDeleteRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesDeleteRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedError = new Error('The client has already been closed.');
-            client.close().catch(err => {throw err});
-            await assert.rejects(client.delete(request), expectedError);
-        });
-    });
-
-    describe('demoteMaster', () => {
-        it('invokes demoteMaster without error', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesDemoteMasterRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesDemoteMasterRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesDemoteMasterRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.Operation()
-            );
-            client.innerApiCalls.demoteMaster = stubSimpleCall(expectedResponse);
-            const [response] = await client.demoteMaster(request);
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.demoteMaster as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.demoteMaster as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes demoteMaster without error using callback', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesDemoteMasterRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesDemoteMasterRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesDemoteMasterRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.Operation()
-            );
-            client.innerApiCalls.demoteMaster = stubSimpleCallWithCallback(expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.demoteMaster(
-                    request,
-                    (err?: Error|null, result?: protos.google.cloud.sql.v1beta4.IOperation|null) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.demoteMaster as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.demoteMaster as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes demoteMaster with error', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesDemoteMasterRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesDemoteMasterRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesDemoteMasterRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedError = new Error('expected');
-            client.innerApiCalls.demoteMaster = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.demoteMaster(request), expectedError);
-            const actualRequest = (client.innerApiCalls.demoteMaster as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.demoteMaster as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes demoteMaster with closed client', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesDemoteMasterRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesDemoteMasterRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesDemoteMasterRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedError = new Error('The client has already been closed.');
-            client.close().catch(err => {throw err});
-            await assert.rejects(client.demoteMaster(request), expectedError);
-        });
-    });
-
-    describe('demote', () => {
-        it('invokes demote without error', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesDemoteRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesDemoteRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesDemoteRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.Operation()
-            );
-            client.innerApiCalls.demote = stubSimpleCall(expectedResponse);
-            const [response] = await client.demote(request);
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.demote as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.demote as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes demote without error using callback', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesDemoteRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesDemoteRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesDemoteRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.Operation()
-            );
-            client.innerApiCalls.demote = stubSimpleCallWithCallback(expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.demote(
-                    request,
-                    (err?: Error|null, result?: protos.google.cloud.sql.v1beta4.IOperation|null) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.demote as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.demote as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes demote with error', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesDemoteRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesDemoteRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesDemoteRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedError = new Error('expected');
-            client.innerApiCalls.demote = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.demote(request), expectedError);
-            const actualRequest = (client.innerApiCalls.demote as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.demote as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes demote with closed client', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesDemoteRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesDemoteRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesDemoteRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedError = new Error('The client has already been closed.');
-            client.close().catch(err => {throw err});
-            await assert.rejects(client.demote(request), expectedError);
-        });
-    });
-
-    describe('export', () => {
-        it('invokes export without error', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesExportRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesExportRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesExportRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.Operation()
-            );
-            client.innerApiCalls.export = stubSimpleCall(expectedResponse);
-            const [response] = await client.export(request);
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.export as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.export as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes export without error using callback', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesExportRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesExportRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesExportRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.Operation()
-            );
-            client.innerApiCalls.export = stubSimpleCallWithCallback(expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.export(
-                    request,
-                    (err?: Error|null, result?: protos.google.cloud.sql.v1beta4.IOperation|null) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.export as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.export as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes export with error', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesExportRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesExportRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesExportRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedError = new Error('expected');
-            client.innerApiCalls.export = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.export(request), expectedError);
-            const actualRequest = (client.innerApiCalls.export as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.export as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes export with closed client', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesExportRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesExportRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesExportRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedError = new Error('The client has already been closed.');
-            client.close().catch(err => {throw err});
-            await assert.rejects(client.export(request), expectedError);
-        });
-    });
-
-    describe('failover', () => {
-        it('invokes failover without error', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesFailoverRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesFailoverRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesFailoverRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.Operation()
-            );
-            client.innerApiCalls.failover = stubSimpleCall(expectedResponse);
-            const [response] = await client.failover(request);
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.failover as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.failover as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes failover without error using callback', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesFailoverRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesFailoverRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesFailoverRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.Operation()
-            );
-            client.innerApiCalls.failover = stubSimpleCallWithCallback(expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.failover(
-                    request,
-                    (err?: Error|null, result?: protos.google.cloud.sql.v1beta4.IOperation|null) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.failover as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.failover as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes failover with error', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesFailoverRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesFailoverRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesFailoverRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedError = new Error('expected');
-            client.innerApiCalls.failover = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.failover(request), expectedError);
-            const actualRequest = (client.innerApiCalls.failover as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.failover as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes failover with closed client', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesFailoverRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesFailoverRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesFailoverRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedError = new Error('The client has already been closed.');
-            client.close().catch(err => {throw err});
-            await assert.rejects(client.failover(request), expectedError);
-        });
-    });
-
-    describe('reencrypt', () => {
-        it('invokes reencrypt without error', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesReencryptRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesReencryptRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesReencryptRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.Operation()
-            );
-            client.innerApiCalls.reencrypt = stubSimpleCall(expectedResponse);
-            const [response] = await client.reencrypt(request);
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.reencrypt as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.reencrypt as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes reencrypt without error using callback', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesReencryptRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesReencryptRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesReencryptRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.Operation()
-            );
-            client.innerApiCalls.reencrypt = stubSimpleCallWithCallback(expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.reencrypt(
-                    request,
-                    (err?: Error|null, result?: protos.google.cloud.sql.v1beta4.IOperation|null) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.reencrypt as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.reencrypt as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes reencrypt with error', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesReencryptRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesReencryptRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesReencryptRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedError = new Error('expected');
-            client.innerApiCalls.reencrypt = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.reencrypt(request), expectedError);
-            const actualRequest = (client.innerApiCalls.reencrypt as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.reencrypt as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes reencrypt with closed client', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesReencryptRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesReencryptRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesReencryptRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedError = new Error('The client has already been closed.');
-            client.close().catch(err => {throw err});
-            await assert.rejects(client.reencrypt(request), expectedError);
-        });
-    });
-
-    describe('get', () => {
-        it('invokes get without error', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesGetRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesGetRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesGetRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.DatabaseInstance()
-            );
-            client.innerApiCalls.get = stubSimpleCall(expectedResponse);
-            const [response] = await client.get(request);
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.get as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.get as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes get without error using callback', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesGetRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesGetRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesGetRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.DatabaseInstance()
-            );
-            client.innerApiCalls.get = stubSimpleCallWithCallback(expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.get(
-                    request,
-                    (err?: Error|null, result?: protos.google.cloud.sql.v1beta4.IDatabaseInstance|null) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.get as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.get as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes get with error', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesGetRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesGetRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesGetRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedError = new Error('expected');
-            client.innerApiCalls.get = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.get(request), expectedError);
-            const actualRequest = (client.innerApiCalls.get as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.get as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes get with closed client', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesGetRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesGetRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesGetRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedError = new Error('The client has already been closed.');
-            client.close().catch(err => {throw err});
-            await assert.rejects(client.get(request), expectedError);
-        });
-    });
-
-    describe('import', () => {
-        it('invokes import without error', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesImportRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesImportRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesImportRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.Operation()
-            );
-            client.innerApiCalls.import = stubSimpleCall(expectedResponse);
-            const [response] = await client.import(request);
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.import as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.import as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes import without error using callback', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesImportRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesImportRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesImportRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.Operation()
-            );
-            client.innerApiCalls.import = stubSimpleCallWithCallback(expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.import(
-                    request,
-                    (err?: Error|null, result?: protos.google.cloud.sql.v1beta4.IOperation|null) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.import as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.import as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes import with error', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesImportRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesImportRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesImportRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedError = new Error('expected');
-            client.innerApiCalls.import = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.import(request), expectedError);
-            const actualRequest = (client.innerApiCalls.import as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.import as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes import with closed client', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesImportRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesImportRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesImportRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedError = new Error('The client has already been closed.');
-            client.close().catch(err => {throw err});
-            await assert.rejects(client.import(request), expectedError);
-        });
-    });
-
-    describe('insert', () => {
-        it('invokes insert without error', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesInsertRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesInsertRequest', ['project']);
-            request.project = defaultValue1;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.Operation()
-            );
-            client.innerApiCalls.insert = stubSimpleCall(expectedResponse);
-            const [response] = await client.insert(request);
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.insert as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.insert as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes insert without error using callback', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesInsertRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesInsertRequest', ['project']);
-            request.project = defaultValue1;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.Operation()
-            );
-            client.innerApiCalls.insert = stubSimpleCallWithCallback(expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.insert(
-                    request,
-                    (err?: Error|null, result?: protos.google.cloud.sql.v1beta4.IOperation|null) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.insert as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.insert as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes insert with error', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesInsertRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesInsertRequest', ['project']);
-            request.project = defaultValue1;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }`;
-            const expectedError = new Error('expected');
-            client.innerApiCalls.insert = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.insert(request), expectedError);
-            const actualRequest = (client.innerApiCalls.insert as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.insert as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes insert with closed client', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesInsertRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesInsertRequest', ['project']);
-            request.project = defaultValue1;
-            const expectedError = new Error('The client has already been closed.');
-            client.close().catch(err => {throw err});
-            await assert.rejects(client.insert(request), expectedError);
-        });
-    });
-
-    describe('list', () => {
-        it('invokes list without error', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesListRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesListRequest', ['project']);
-            request.project = defaultValue1;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.InstancesListResponse()
-            );
-            client.innerApiCalls.list = stubSimpleCall(expectedResponse);
-            const [response] = await client.list(request);
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.list as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.list as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes list without error using callback', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesListRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesListRequest', ['project']);
-            request.project = defaultValue1;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.InstancesListResponse()
-            );
-            client.innerApiCalls.list = stubSimpleCallWithCallback(expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.list(
-                    request,
-                    (err?: Error|null, result?: protos.google.cloud.sql.v1beta4.IInstancesListResponse|null) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.list as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.list as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes list with error', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesListRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesListRequest', ['project']);
-            request.project = defaultValue1;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }`;
-            const expectedError = new Error('expected');
-            client.innerApiCalls.list = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.list(request), expectedError);
-            const actualRequest = (client.innerApiCalls.list as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.list as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes list with closed client', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesListRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesListRequest', ['project']);
-            request.project = defaultValue1;
-            const expectedError = new Error('The client has already been closed.');
-            client.close().catch(err => {throw err});
-            await assert.rejects(client.list(request), expectedError);
-        });
-    });
-
-    describe('listServerCas', () => {
-        it('invokes listServerCas without error', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesListServerCasRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesListServerCasRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesListServerCasRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.InstancesListServerCasResponse()
-            );
-            client.innerApiCalls.listServerCas = stubSimpleCall(expectedResponse);
-            const [response] = await client.listServerCas(request);
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.listServerCas as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.listServerCas as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes listServerCas without error using callback', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesListServerCasRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesListServerCasRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesListServerCasRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.InstancesListServerCasResponse()
-            );
-            client.innerApiCalls.listServerCas = stubSimpleCallWithCallback(expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.listServerCas(
-                    request,
-                    (err?: Error|null, result?: protos.google.cloud.sql.v1beta4.IInstancesListServerCasResponse|null) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.listServerCas as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.listServerCas as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes listServerCas with error', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesListServerCasRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesListServerCasRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesListServerCasRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedError = new Error('expected');
-            client.innerApiCalls.listServerCas = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.listServerCas(request), expectedError);
-            const actualRequest = (client.innerApiCalls.listServerCas as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.listServerCas as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes listServerCas with closed client', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesListServerCasRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesListServerCasRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesListServerCasRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedError = new Error('The client has already been closed.');
-            client.close().catch(err => {throw err});
-            await assert.rejects(client.listServerCas(request), expectedError);
-        });
-    });
-
-    describe('listServerCertificates', () => {
-        it('invokes listServerCertificates without error', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesListServerCertificatesRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesListServerCertificatesRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesListServerCertificatesRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.InstancesListServerCertificatesResponse()
-            );
-            client.innerApiCalls.listServerCertificates = stubSimpleCall(expectedResponse);
-            const [response] = await client.listServerCertificates(request);
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.listServerCertificates as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.listServerCertificates as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes listServerCertificates without error using callback', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesListServerCertificatesRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesListServerCertificatesRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesListServerCertificatesRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.InstancesListServerCertificatesResponse()
-            );
-            client.innerApiCalls.listServerCertificates = stubSimpleCallWithCallback(expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.listServerCertificates(
-                    request,
-                    (err?: Error|null, result?: protos.google.cloud.sql.v1beta4.IInstancesListServerCertificatesResponse|null) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.listServerCertificates as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.listServerCertificates as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes listServerCertificates with error', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesListServerCertificatesRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesListServerCertificatesRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesListServerCertificatesRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedError = new Error('expected');
-            client.innerApiCalls.listServerCertificates = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.listServerCertificates(request), expectedError);
-            const actualRequest = (client.innerApiCalls.listServerCertificates as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.listServerCertificates as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes listServerCertificates with closed client', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesListServerCertificatesRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesListServerCertificatesRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesListServerCertificatesRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedError = new Error('The client has already been closed.');
-            client.close().catch(err => {throw err});
-            await assert.rejects(client.listServerCertificates(request), expectedError);
-        });
-    });
-
-    describe('listEntraIdCertificates', () => {
-        it('invokes listEntraIdCertificates without error', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesListEntraIdCertificatesRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesListEntraIdCertificatesRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesListEntraIdCertificatesRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.InstancesListEntraIdCertificatesResponse()
-            );
-            client.innerApiCalls.listEntraIdCertificates = stubSimpleCall(expectedResponse);
-            const [response] = await client.listEntraIdCertificates(request);
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.listEntraIdCertificates as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.listEntraIdCertificates as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes listEntraIdCertificates without error using callback', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesListEntraIdCertificatesRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesListEntraIdCertificatesRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesListEntraIdCertificatesRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.InstancesListEntraIdCertificatesResponse()
-            );
-            client.innerApiCalls.listEntraIdCertificates = stubSimpleCallWithCallback(expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.listEntraIdCertificates(
-                    request,
-                    (err?: Error|null, result?: protos.google.cloud.sql.v1beta4.IInstancesListEntraIdCertificatesResponse|null) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.listEntraIdCertificates as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.listEntraIdCertificates as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes listEntraIdCertificates with error', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesListEntraIdCertificatesRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesListEntraIdCertificatesRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesListEntraIdCertificatesRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedError = new Error('expected');
-            client.innerApiCalls.listEntraIdCertificates = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.listEntraIdCertificates(request), expectedError);
-            const actualRequest = (client.innerApiCalls.listEntraIdCertificates as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.listEntraIdCertificates as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes listEntraIdCertificates with closed client', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesListEntraIdCertificatesRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesListEntraIdCertificatesRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesListEntraIdCertificatesRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedError = new Error('The client has already been closed.');
-            client.close().catch(err => {throw err});
-            await assert.rejects(client.listEntraIdCertificates(request), expectedError);
-        });
-    });
-
-    describe('patch', () => {
-        it('invokes patch without error', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesPatchRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesPatchRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesPatchRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.Operation()
-            );
-            client.innerApiCalls.patch = stubSimpleCall(expectedResponse);
-            const [response] = await client.patch(request);
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.patch as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.patch as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes patch without error using callback', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesPatchRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesPatchRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesPatchRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.Operation()
-            );
-            client.innerApiCalls.patch = stubSimpleCallWithCallback(expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.patch(
-                    request,
-                    (err?: Error|null, result?: protos.google.cloud.sql.v1beta4.IOperation|null) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.patch as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.patch as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes patch with error', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesPatchRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesPatchRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesPatchRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedError = new Error('expected');
-            client.innerApiCalls.patch = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.patch(request), expectedError);
-            const actualRequest = (client.innerApiCalls.patch as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.patch as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes patch with closed client', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesPatchRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesPatchRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesPatchRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedError = new Error('The client has already been closed.');
-            client.close().catch(err => {throw err});
-            await assert.rejects(client.patch(request), expectedError);
-        });
-    });
-
-    describe('promoteReplica', () => {
-        it('invokes promoteReplica without error', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesPromoteReplicaRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesPromoteReplicaRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesPromoteReplicaRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.Operation()
-            );
-            client.innerApiCalls.promoteReplica = stubSimpleCall(expectedResponse);
-            const [response] = await client.promoteReplica(request);
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.promoteReplica as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.promoteReplica as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes promoteReplica without error using callback', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesPromoteReplicaRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesPromoteReplicaRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesPromoteReplicaRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.Operation()
-            );
-            client.innerApiCalls.promoteReplica = stubSimpleCallWithCallback(expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.promoteReplica(
-                    request,
-                    (err?: Error|null, result?: protos.google.cloud.sql.v1beta4.IOperation|null) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.promoteReplica as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.promoteReplica as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes promoteReplica with error', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesPromoteReplicaRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesPromoteReplicaRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesPromoteReplicaRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedError = new Error('expected');
-            client.innerApiCalls.promoteReplica = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.promoteReplica(request), expectedError);
-            const actualRequest = (client.innerApiCalls.promoteReplica as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.promoteReplica as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes promoteReplica with closed client', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesPromoteReplicaRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesPromoteReplicaRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesPromoteReplicaRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedError = new Error('The client has already been closed.');
-            client.close().catch(err => {throw err});
-            await assert.rejects(client.promoteReplica(request), expectedError);
-        });
-    });
-
-    describe('switchover', () => {
-        it('invokes switchover without error', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesSwitchoverRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesSwitchoverRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesSwitchoverRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.Operation()
-            );
-            client.innerApiCalls.switchover = stubSimpleCall(expectedResponse);
-            const [response] = await client.switchover(request);
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.switchover as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.switchover as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes switchover without error using callback', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesSwitchoverRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesSwitchoverRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesSwitchoverRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.Operation()
-            );
-            client.innerApiCalls.switchover = stubSimpleCallWithCallback(expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.switchover(
-                    request,
-                    (err?: Error|null, result?: protos.google.cloud.sql.v1beta4.IOperation|null) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.switchover as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.switchover as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes switchover with error', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesSwitchoverRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesSwitchoverRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesSwitchoverRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedError = new Error('expected');
-            client.innerApiCalls.switchover = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.switchover(request), expectedError);
-            const actualRequest = (client.innerApiCalls.switchover as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.switchover as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes switchover with closed client', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesSwitchoverRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesSwitchoverRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesSwitchoverRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedError = new Error('The client has already been closed.');
-            client.close().catch(err => {throw err});
-            await assert.rejects(client.switchover(request), expectedError);
-        });
-    });
-
-    describe('resetSslConfig', () => {
-        it('invokes resetSslConfig without error', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesResetSslConfigRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesResetSslConfigRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesResetSslConfigRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.Operation()
-            );
-            client.innerApiCalls.resetSslConfig = stubSimpleCall(expectedResponse);
-            const [response] = await client.resetSslConfig(request);
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.resetSslConfig as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.resetSslConfig as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes resetSslConfig without error using callback', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesResetSslConfigRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesResetSslConfigRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesResetSslConfigRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.Operation()
-            );
-            client.innerApiCalls.resetSslConfig = stubSimpleCallWithCallback(expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.resetSslConfig(
-                    request,
-                    (err?: Error|null, result?: protos.google.cloud.sql.v1beta4.IOperation|null) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.resetSslConfig as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.resetSslConfig as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes resetSslConfig with error', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesResetSslConfigRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesResetSslConfigRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesResetSslConfigRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedError = new Error('expected');
-            client.innerApiCalls.resetSslConfig = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.resetSslConfig(request), expectedError);
-            const actualRequest = (client.innerApiCalls.resetSslConfig as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.resetSslConfig as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes resetSslConfig with closed client', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesResetSslConfigRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesResetSslConfigRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesResetSslConfigRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedError = new Error('The client has already been closed.');
-            client.close().catch(err => {throw err});
-            await assert.rejects(client.resetSslConfig(request), expectedError);
-        });
-    });
-
-    describe('restart', () => {
-        it('invokes restart without error', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesRestartRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesRestartRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesRestartRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.Operation()
-            );
-            client.innerApiCalls.restart = stubSimpleCall(expectedResponse);
-            const [response] = await client.restart(request);
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.restart as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.restart as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes restart without error using callback', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesRestartRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesRestartRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesRestartRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.Operation()
-            );
-            client.innerApiCalls.restart = stubSimpleCallWithCallback(expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.restart(
-                    request,
-                    (err?: Error|null, result?: protos.google.cloud.sql.v1beta4.IOperation|null) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.restart as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.restart as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes restart with error', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesRestartRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesRestartRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesRestartRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedError = new Error('expected');
-            client.innerApiCalls.restart = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.restart(request), expectedError);
-            const actualRequest = (client.innerApiCalls.restart as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.restart as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes restart with closed client', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesRestartRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesRestartRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesRestartRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedError = new Error('The client has already been closed.');
-            client.close().catch(err => {throw err});
-            await assert.rejects(client.restart(request), expectedError);
-        });
-    });
-
-    describe('restoreBackup', () => {
-        it('invokes restoreBackup without error', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesRestoreBackupRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesRestoreBackupRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesRestoreBackupRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.Operation()
-            );
-            client.innerApiCalls.restoreBackup = stubSimpleCall(expectedResponse);
-            const [response] = await client.restoreBackup(request);
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.restoreBackup as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.restoreBackup as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes restoreBackup without error using callback', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesRestoreBackupRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesRestoreBackupRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesRestoreBackupRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.Operation()
-            );
-            client.innerApiCalls.restoreBackup = stubSimpleCallWithCallback(expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.restoreBackup(
-                    request,
-                    (err?: Error|null, result?: protos.google.cloud.sql.v1beta4.IOperation|null) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.restoreBackup as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.restoreBackup as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes restoreBackup with error', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesRestoreBackupRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesRestoreBackupRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesRestoreBackupRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedError = new Error('expected');
-            client.innerApiCalls.restoreBackup = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.restoreBackup(request), expectedError);
-            const actualRequest = (client.innerApiCalls.restoreBackup as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.restoreBackup as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes restoreBackup with closed client', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesRestoreBackupRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesRestoreBackupRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesRestoreBackupRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedError = new Error('The client has already been closed.');
-            client.close().catch(err => {throw err});
-            await assert.rejects(client.restoreBackup(request), expectedError);
-        });
-    });
-
-    describe('rotateServerCa', () => {
-        it('invokes rotateServerCa without error', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesRotateServerCaRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesRotateServerCaRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesRotateServerCaRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.Operation()
-            );
-            client.innerApiCalls.rotateServerCa = stubSimpleCall(expectedResponse);
-            const [response] = await client.rotateServerCa(request);
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.rotateServerCa as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.rotateServerCa as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes rotateServerCa without error using callback', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesRotateServerCaRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesRotateServerCaRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesRotateServerCaRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.Operation()
-            );
-            client.innerApiCalls.rotateServerCa = stubSimpleCallWithCallback(expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.rotateServerCa(
-                    request,
-                    (err?: Error|null, result?: protos.google.cloud.sql.v1beta4.IOperation|null) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.rotateServerCa as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.rotateServerCa as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes rotateServerCa with error', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesRotateServerCaRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesRotateServerCaRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesRotateServerCaRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedError = new Error('expected');
-            client.innerApiCalls.rotateServerCa = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.rotateServerCa(request), expectedError);
-            const actualRequest = (client.innerApiCalls.rotateServerCa as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.rotateServerCa as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes rotateServerCa with closed client', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesRotateServerCaRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesRotateServerCaRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesRotateServerCaRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedError = new Error('The client has already been closed.');
-            client.close().catch(err => {throw err});
-            await assert.rejects(client.rotateServerCa(request), expectedError);
-        });
-    });
-
-    describe('rotateServerCertificate', () => {
-        it('invokes rotateServerCertificate without error', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesRotateServerCertificateRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesRotateServerCertificateRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesRotateServerCertificateRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.Operation()
-            );
-            client.innerApiCalls.rotateServerCertificate = stubSimpleCall(expectedResponse);
-            const [response] = await client.rotateServerCertificate(request);
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.rotateServerCertificate as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.rotateServerCertificate as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes rotateServerCertificate without error using callback', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesRotateServerCertificateRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesRotateServerCertificateRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesRotateServerCertificateRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.Operation()
-            );
-            client.innerApiCalls.rotateServerCertificate = stubSimpleCallWithCallback(expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.rotateServerCertificate(
-                    request,
-                    (err?: Error|null, result?: protos.google.cloud.sql.v1beta4.IOperation|null) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.rotateServerCertificate as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.rotateServerCertificate as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes rotateServerCertificate with error', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesRotateServerCertificateRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesRotateServerCertificateRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesRotateServerCertificateRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedError = new Error('expected');
-            client.innerApiCalls.rotateServerCertificate = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.rotateServerCertificate(request), expectedError);
-            const actualRequest = (client.innerApiCalls.rotateServerCertificate as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.rotateServerCertificate as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes rotateServerCertificate with closed client', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesRotateServerCertificateRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesRotateServerCertificateRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesRotateServerCertificateRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedError = new Error('The client has already been closed.');
-            client.close().catch(err => {throw err});
-            await assert.rejects(client.rotateServerCertificate(request), expectedError);
-        });
-    });
-
-    describe('rotateEntraIdCertificate', () => {
-        it('invokes rotateEntraIdCertificate without error', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesRotateEntraIdCertificateRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesRotateEntraIdCertificateRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesRotateEntraIdCertificateRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.Operation()
-            );
-            client.innerApiCalls.rotateEntraIdCertificate = stubSimpleCall(expectedResponse);
-            const [response] = await client.rotateEntraIdCertificate(request);
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.rotateEntraIdCertificate as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.rotateEntraIdCertificate as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes rotateEntraIdCertificate without error using callback', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesRotateEntraIdCertificateRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesRotateEntraIdCertificateRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesRotateEntraIdCertificateRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.Operation()
-            );
-            client.innerApiCalls.rotateEntraIdCertificate = stubSimpleCallWithCallback(expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.rotateEntraIdCertificate(
-                    request,
-                    (err?: Error|null, result?: protos.google.cloud.sql.v1beta4.IOperation|null) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.rotateEntraIdCertificate as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.rotateEntraIdCertificate as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes rotateEntraIdCertificate with error', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesRotateEntraIdCertificateRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesRotateEntraIdCertificateRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesRotateEntraIdCertificateRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedError = new Error('expected');
-            client.innerApiCalls.rotateEntraIdCertificate = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.rotateEntraIdCertificate(request), expectedError);
-            const actualRequest = (client.innerApiCalls.rotateEntraIdCertificate as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.rotateEntraIdCertificate as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes rotateEntraIdCertificate with closed client', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesRotateEntraIdCertificateRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesRotateEntraIdCertificateRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesRotateEntraIdCertificateRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedError = new Error('The client has already been closed.');
-            client.close().catch(err => {throw err});
-            await assert.rejects(client.rotateEntraIdCertificate(request), expectedError);
-        });
-    });
-
-    describe('startReplica', () => {
-        it('invokes startReplica without error', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesStartReplicaRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesStartReplicaRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesStartReplicaRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.Operation()
-            );
-            client.innerApiCalls.startReplica = stubSimpleCall(expectedResponse);
-            const [response] = await client.startReplica(request);
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.startReplica as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.startReplica as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes startReplica without error using callback', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesStartReplicaRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesStartReplicaRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesStartReplicaRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.Operation()
-            );
-            client.innerApiCalls.startReplica = stubSimpleCallWithCallback(expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.startReplica(
-                    request,
-                    (err?: Error|null, result?: protos.google.cloud.sql.v1beta4.IOperation|null) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.startReplica as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.startReplica as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes startReplica with error', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesStartReplicaRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesStartReplicaRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesStartReplicaRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedError = new Error('expected');
-            client.innerApiCalls.startReplica = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.startReplica(request), expectedError);
-            const actualRequest = (client.innerApiCalls.startReplica as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.startReplica as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes startReplica with closed client', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesStartReplicaRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesStartReplicaRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesStartReplicaRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedError = new Error('The client has already been closed.');
-            client.close().catch(err => {throw err});
-            await assert.rejects(client.startReplica(request), expectedError);
-        });
-    });
-
-    describe('stopReplica', () => {
-        it('invokes stopReplica without error', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesStopReplicaRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesStopReplicaRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesStopReplicaRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.Operation()
-            );
-            client.innerApiCalls.stopReplica = stubSimpleCall(expectedResponse);
-            const [response] = await client.stopReplica(request);
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.stopReplica as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.stopReplica as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes stopReplica without error using callback', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesStopReplicaRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesStopReplicaRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesStopReplicaRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.Operation()
-            );
-            client.innerApiCalls.stopReplica = stubSimpleCallWithCallback(expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.stopReplica(
-                    request,
-                    (err?: Error|null, result?: protos.google.cloud.sql.v1beta4.IOperation|null) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.stopReplica as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.stopReplica as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes stopReplica with error', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesStopReplicaRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesStopReplicaRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesStopReplicaRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedError = new Error('expected');
-            client.innerApiCalls.stopReplica = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.stopReplica(request), expectedError);
-            const actualRequest = (client.innerApiCalls.stopReplica as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.stopReplica as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes stopReplica with closed client', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesStopReplicaRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesStopReplicaRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesStopReplicaRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedError = new Error('The client has already been closed.');
-            client.close().catch(err => {throw err});
-            await assert.rejects(client.stopReplica(request), expectedError);
-        });
-    });
-
-    describe('truncateLog', () => {
-        it('invokes truncateLog without error', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesTruncateLogRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesTruncateLogRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesTruncateLogRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.Operation()
-            );
-            client.innerApiCalls.truncateLog = stubSimpleCall(expectedResponse);
-            const [response] = await client.truncateLog(request);
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.truncateLog as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.truncateLog as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes truncateLog without error using callback', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesTruncateLogRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesTruncateLogRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesTruncateLogRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.Operation()
-            );
-            client.innerApiCalls.truncateLog = stubSimpleCallWithCallback(expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.truncateLog(
-                    request,
-                    (err?: Error|null, result?: protos.google.cloud.sql.v1beta4.IOperation|null) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.truncateLog as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.truncateLog as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes truncateLog with error', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesTruncateLogRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesTruncateLogRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesTruncateLogRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedError = new Error('expected');
-            client.innerApiCalls.truncateLog = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.truncateLog(request), expectedError);
-            const actualRequest = (client.innerApiCalls.truncateLog as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.truncateLog as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes truncateLog with closed client', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesTruncateLogRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesTruncateLogRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesTruncateLogRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedError = new Error('The client has already been closed.');
-            client.close().catch(err => {throw err});
-            await assert.rejects(client.truncateLog(request), expectedError);
-        });
-    });
-
-    describe('update', () => {
-        it('invokes update without error', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesUpdateRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesUpdateRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesUpdateRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.Operation()
-            );
-            client.innerApiCalls.update = stubSimpleCall(expectedResponse);
-            const [response] = await client.update(request);
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.update as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.update as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes update without error using callback', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesUpdateRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesUpdateRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesUpdateRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.Operation()
-            );
-            client.innerApiCalls.update = stubSimpleCallWithCallback(expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.update(
-                    request,
-                    (err?: Error|null, result?: protos.google.cloud.sql.v1beta4.IOperation|null) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.update as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.update as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes update with error', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesUpdateRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesUpdateRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesUpdateRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedError = new Error('expected');
-            client.innerApiCalls.update = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.update(request), expectedError);
-            const actualRequest = (client.innerApiCalls.update as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.update as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes update with closed client', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesUpdateRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesUpdateRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesUpdateRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedError = new Error('The client has already been closed.');
-            client.close().catch(err => {throw err});
-            await assert.rejects(client.update(request), expectedError);
-        });
-    });
-
-    describe('createEphemeral', () => {
-        it('invokes createEphemeral without error', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesCreateEphemeralCertRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesCreateEphemeralCertRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesCreateEphemeralCertRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SslCert()
-            );
-            client.innerApiCalls.createEphemeral = stubSimpleCall(expectedResponse);
-            const [response] = await client.createEphemeral(request);
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.createEphemeral as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.createEphemeral as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes createEphemeral without error using callback', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesCreateEphemeralCertRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesCreateEphemeralCertRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesCreateEphemeralCertRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SslCert()
-            );
-            client.innerApiCalls.createEphemeral = stubSimpleCallWithCallback(expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.createEphemeral(
-                    request,
-                    (err?: Error|null, result?: protos.google.cloud.sql.v1beta4.ISslCert|null) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.createEphemeral as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.createEphemeral as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes createEphemeral with error', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesCreateEphemeralCertRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesCreateEphemeralCertRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesCreateEphemeralCertRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedError = new Error('expected');
-            client.innerApiCalls.createEphemeral = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.createEphemeral(request), expectedError);
-            const actualRequest = (client.innerApiCalls.createEphemeral as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.createEphemeral as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes createEphemeral with closed client', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesCreateEphemeralCertRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesCreateEphemeralCertRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesCreateEphemeralCertRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedError = new Error('The client has already been closed.');
-            client.close().catch(err => {throw err});
-            await assert.rejects(client.createEphemeral(request), expectedError);
-        });
-    });
-
-    describe('rescheduleMaintenance', () => {
-        it('invokes rescheduleMaintenance without error', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesRescheduleMaintenanceRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesRescheduleMaintenanceRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesRescheduleMaintenanceRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.Operation()
-            );
-            client.innerApiCalls.rescheduleMaintenance = stubSimpleCall(expectedResponse);
-            const [response] = await client.rescheduleMaintenance(request);
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.rescheduleMaintenance as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.rescheduleMaintenance as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes rescheduleMaintenance without error using callback', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesRescheduleMaintenanceRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesRescheduleMaintenanceRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesRescheduleMaintenanceRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.Operation()
-            );
-            client.innerApiCalls.rescheduleMaintenance = stubSimpleCallWithCallback(expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.rescheduleMaintenance(
-                    request,
-                    (err?: Error|null, result?: protos.google.cloud.sql.v1beta4.IOperation|null) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.rescheduleMaintenance as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.rescheduleMaintenance as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes rescheduleMaintenance with error', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesRescheduleMaintenanceRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesRescheduleMaintenanceRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesRescheduleMaintenanceRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedError = new Error('expected');
-            client.innerApiCalls.rescheduleMaintenance = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.rescheduleMaintenance(request), expectedError);
-            const actualRequest = (client.innerApiCalls.rescheduleMaintenance as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.rescheduleMaintenance as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes rescheduleMaintenance with closed client', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesRescheduleMaintenanceRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesRescheduleMaintenanceRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesRescheduleMaintenanceRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedError = new Error('The client has already been closed.');
-            client.close().catch(err => {throw err});
-            await assert.rejects(client.rescheduleMaintenance(request), expectedError);
-        });
-    });
-
-    describe('verifyExternalSyncSettings', () => {
-        it('invokes verifyExternalSyncSettings without error', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesVerifyExternalSyncSettingsRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesVerifyExternalSyncSettingsRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesVerifyExternalSyncSettingsRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesVerifyExternalSyncSettingsResponse()
-            );
-            client.innerApiCalls.verifyExternalSyncSettings = stubSimpleCall(expectedResponse);
-            const [response] = await client.verifyExternalSyncSettings(request);
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.verifyExternalSyncSettings as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.verifyExternalSyncSettings as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes verifyExternalSyncSettings without error using callback', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesVerifyExternalSyncSettingsRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesVerifyExternalSyncSettingsRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesVerifyExternalSyncSettingsRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesVerifyExternalSyncSettingsResponse()
-            );
-            client.innerApiCalls.verifyExternalSyncSettings = stubSimpleCallWithCallback(expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.verifyExternalSyncSettings(
-                    request,
-                    (err?: Error|null, result?: protos.google.cloud.sql.v1beta4.ISqlInstancesVerifyExternalSyncSettingsResponse|null) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.verifyExternalSyncSettings as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.verifyExternalSyncSettings as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes verifyExternalSyncSettings with error', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesVerifyExternalSyncSettingsRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesVerifyExternalSyncSettingsRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesVerifyExternalSyncSettingsRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedError = new Error('expected');
-            client.innerApiCalls.verifyExternalSyncSettings = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.verifyExternalSyncSettings(request), expectedError);
-            const actualRequest = (client.innerApiCalls.verifyExternalSyncSettings as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.verifyExternalSyncSettings as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes verifyExternalSyncSettings with closed client', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesVerifyExternalSyncSettingsRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesVerifyExternalSyncSettingsRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesVerifyExternalSyncSettingsRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedError = new Error('The client has already been closed.');
-            client.close().catch(err => {throw err});
-            await assert.rejects(client.verifyExternalSyncSettings(request), expectedError);
-        });
-    });
-
-    describe('startExternalSync', () => {
-        it('invokes startExternalSync without error', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesStartExternalSyncRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesStartExternalSyncRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesStartExternalSyncRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.Operation()
-            );
-            client.innerApiCalls.startExternalSync = stubSimpleCall(expectedResponse);
-            const [response] = await client.startExternalSync(request);
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.startExternalSync as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.startExternalSync as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes startExternalSync without error using callback', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesStartExternalSyncRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesStartExternalSyncRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesStartExternalSyncRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.Operation()
-            );
-            client.innerApiCalls.startExternalSync = stubSimpleCallWithCallback(expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.startExternalSync(
-                    request,
-                    (err?: Error|null, result?: protos.google.cloud.sql.v1beta4.IOperation|null) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.startExternalSync as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.startExternalSync as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes startExternalSync with error', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesStartExternalSyncRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesStartExternalSyncRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesStartExternalSyncRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedError = new Error('expected');
-            client.innerApiCalls.startExternalSync = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.startExternalSync(request), expectedError);
-            const actualRequest = (client.innerApiCalls.startExternalSync as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.startExternalSync as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes startExternalSync with closed client', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesStartExternalSyncRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesStartExternalSyncRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesStartExternalSyncRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedError = new Error('The client has already been closed.');
-            client.close().catch(err => {throw err});
-            await assert.rejects(client.startExternalSync(request), expectedError);
-        });
-    });
-
-    describe('performDiskShrink', () => {
-        it('invokes performDiskShrink without error', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesPerformDiskShrinkRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesPerformDiskShrinkRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesPerformDiskShrinkRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.Operation()
-            );
-            client.innerApiCalls.performDiskShrink = stubSimpleCall(expectedResponse);
-            const [response] = await client.performDiskShrink(request);
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.performDiskShrink as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.performDiskShrink as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes performDiskShrink without error using callback', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesPerformDiskShrinkRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesPerformDiskShrinkRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesPerformDiskShrinkRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.Operation()
-            );
-            client.innerApiCalls.performDiskShrink = stubSimpleCallWithCallback(expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.performDiskShrink(
-                    request,
-                    (err?: Error|null, result?: protos.google.cloud.sql.v1beta4.IOperation|null) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.performDiskShrink as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.performDiskShrink as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes performDiskShrink with error', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesPerformDiskShrinkRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesPerformDiskShrinkRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesPerformDiskShrinkRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedError = new Error('expected');
-            client.innerApiCalls.performDiskShrink = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.performDiskShrink(request), expectedError);
-            const actualRequest = (client.innerApiCalls.performDiskShrink as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.performDiskShrink as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes performDiskShrink with closed client', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesPerformDiskShrinkRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesPerformDiskShrinkRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesPerformDiskShrinkRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedError = new Error('The client has already been closed.');
-            client.close().catch(err => {throw err});
-            await assert.rejects(client.performDiskShrink(request), expectedError);
-        });
-    });
-
-    describe('getDiskShrinkConfig', () => {
-        it('invokes getDiskShrinkConfig without error', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesGetDiskShrinkConfigRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesGetDiskShrinkConfigRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesGetDiskShrinkConfigRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesGetDiskShrinkConfigResponse()
-            );
-            client.innerApiCalls.getDiskShrinkConfig = stubSimpleCall(expectedResponse);
-            const [response] = await client.getDiskShrinkConfig(request);
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.getDiskShrinkConfig as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.getDiskShrinkConfig as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes getDiskShrinkConfig without error using callback', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesGetDiskShrinkConfigRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesGetDiskShrinkConfigRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesGetDiskShrinkConfigRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesGetDiskShrinkConfigResponse()
-            );
-            client.innerApiCalls.getDiskShrinkConfig = stubSimpleCallWithCallback(expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.getDiskShrinkConfig(
-                    request,
-                    (err?: Error|null, result?: protos.google.cloud.sql.v1beta4.ISqlInstancesGetDiskShrinkConfigResponse|null) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.getDiskShrinkConfig as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.getDiskShrinkConfig as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes getDiskShrinkConfig with error', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesGetDiskShrinkConfigRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesGetDiskShrinkConfigRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesGetDiskShrinkConfigRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedError = new Error('expected');
-            client.innerApiCalls.getDiskShrinkConfig = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.getDiskShrinkConfig(request), expectedError);
-            const actualRequest = (client.innerApiCalls.getDiskShrinkConfig as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.getDiskShrinkConfig as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes getDiskShrinkConfig with closed client', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesGetDiskShrinkConfigRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesGetDiskShrinkConfigRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesGetDiskShrinkConfigRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedError = new Error('The client has already been closed.');
-            client.close().catch(err => {throw err});
-            await assert.rejects(client.getDiskShrinkConfig(request), expectedError);
-        });
-    });
-
-    describe('resetReplicaSize', () => {
-        it('invokes resetReplicaSize without error', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesResetReplicaSizeRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesResetReplicaSizeRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesResetReplicaSizeRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.Operation()
-            );
-            client.innerApiCalls.resetReplicaSize = stubSimpleCall(expectedResponse);
-            const [response] = await client.resetReplicaSize(request);
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.resetReplicaSize as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.resetReplicaSize as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes resetReplicaSize without error using callback', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesResetReplicaSizeRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesResetReplicaSizeRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesResetReplicaSizeRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.Operation()
-            );
-            client.innerApiCalls.resetReplicaSize = stubSimpleCallWithCallback(expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.resetReplicaSize(
-                    request,
-                    (err?: Error|null, result?: protos.google.cloud.sql.v1beta4.IOperation|null) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.resetReplicaSize as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.resetReplicaSize as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes resetReplicaSize with error', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesResetReplicaSizeRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesResetReplicaSizeRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesResetReplicaSizeRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedError = new Error('expected');
-            client.innerApiCalls.resetReplicaSize = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.resetReplicaSize(request), expectedError);
-            const actualRequest = (client.innerApiCalls.resetReplicaSize as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.resetReplicaSize as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes resetReplicaSize with closed client', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesResetReplicaSizeRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesResetReplicaSizeRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesResetReplicaSizeRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedError = new Error('The client has already been closed.');
-            client.close().catch(err => {throw err});
-            await assert.rejects(client.resetReplicaSize(request), expectedError);
-        });
-    });
-
-    describe('getLatestRecoveryTime', () => {
-        it('invokes getLatestRecoveryTime without error', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesGetLatestRecoveryTimeRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesGetLatestRecoveryTimeRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesGetLatestRecoveryTimeRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesGetLatestRecoveryTimeResponse()
-            );
-            client.innerApiCalls.getLatestRecoveryTime = stubSimpleCall(expectedResponse);
-            const [response] = await client.getLatestRecoveryTime(request);
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.getLatestRecoveryTime as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.getLatestRecoveryTime as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes getLatestRecoveryTime without error using callback', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesGetLatestRecoveryTimeRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesGetLatestRecoveryTimeRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesGetLatestRecoveryTimeRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesGetLatestRecoveryTimeResponse()
-            );
-            client.innerApiCalls.getLatestRecoveryTime = stubSimpleCallWithCallback(expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.getLatestRecoveryTime(
-                    request,
-                    (err?: Error|null, result?: protos.google.cloud.sql.v1beta4.ISqlInstancesGetLatestRecoveryTimeResponse|null) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.getLatestRecoveryTime as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.getLatestRecoveryTime as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes getLatestRecoveryTime with error', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesGetLatestRecoveryTimeRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesGetLatestRecoveryTimeRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesGetLatestRecoveryTimeRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedError = new Error('expected');
-            client.innerApiCalls.getLatestRecoveryTime = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.getLatestRecoveryTime(request), expectedError);
-            const actualRequest = (client.innerApiCalls.getLatestRecoveryTime as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.getLatestRecoveryTime as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes getLatestRecoveryTime with closed client', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesGetLatestRecoveryTimeRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesGetLatestRecoveryTimeRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesGetLatestRecoveryTimeRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedError = new Error('The client has already been closed.');
-            client.close().catch(err => {throw err});
-            await assert.rejects(client.getLatestRecoveryTime(request), expectedError);
-        });
-    });
-
-    describe('executeSql', () => {
-        it('invokes executeSql without error', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesExecuteSqlRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesExecuteSqlRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesExecuteSqlRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesExecuteSqlResponse()
-            );
-            client.innerApiCalls.executeSql = stubSimpleCall(expectedResponse);
-            const [response] = await client.executeSql(request);
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.executeSql as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.executeSql as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes executeSql without error using callback', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesExecuteSqlRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesExecuteSqlRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesExecuteSqlRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesExecuteSqlResponse()
-            );
-            client.innerApiCalls.executeSql = stubSimpleCallWithCallback(expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.executeSql(
-                    request,
-                    (err?: Error|null, result?: protos.google.cloud.sql.v1beta4.ISqlInstancesExecuteSqlResponse|null) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.executeSql as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.executeSql as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes executeSql with error', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesExecuteSqlRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesExecuteSqlRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesExecuteSqlRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedError = new Error('expected');
-            client.innerApiCalls.executeSql = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.executeSql(request), expectedError);
-            const actualRequest = (client.innerApiCalls.executeSql as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.executeSql as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes executeSql with closed client', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesExecuteSqlRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesExecuteSqlRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesExecuteSqlRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedError = new Error('The client has already been closed.');
-            client.close().catch(err => {throw err});
-            await assert.rejects(client.executeSql(request), expectedError);
-        });
-    });
-
-    describe('acquireSsrsLease', () => {
-        it('invokes acquireSsrsLease without error', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesAcquireSsrsLeaseRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesAcquireSsrsLeaseRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesAcquireSsrsLeaseRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesAcquireSsrsLeaseResponse()
-            );
-            client.innerApiCalls.acquireSsrsLease = stubSimpleCall(expectedResponse);
-            const [response] = await client.acquireSsrsLease(request);
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.acquireSsrsLease as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.acquireSsrsLease as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes acquireSsrsLease without error using callback', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesAcquireSsrsLeaseRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesAcquireSsrsLeaseRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesAcquireSsrsLeaseRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesAcquireSsrsLeaseResponse()
-            );
-            client.innerApiCalls.acquireSsrsLease = stubSimpleCallWithCallback(expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.acquireSsrsLease(
-                    request,
-                    (err?: Error|null, result?: protos.google.cloud.sql.v1beta4.ISqlInstancesAcquireSsrsLeaseResponse|null) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.acquireSsrsLease as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.acquireSsrsLease as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes acquireSsrsLease with error', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesAcquireSsrsLeaseRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesAcquireSsrsLeaseRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesAcquireSsrsLeaseRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedError = new Error('expected');
-            client.innerApiCalls.acquireSsrsLease = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.acquireSsrsLease(request), expectedError);
-            const actualRequest = (client.innerApiCalls.acquireSsrsLease as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.acquireSsrsLease as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes acquireSsrsLease with closed client', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesAcquireSsrsLeaseRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesAcquireSsrsLeaseRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesAcquireSsrsLeaseRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedError = new Error('The client has already been closed.');
-            client.close().catch(err => {throw err});
-            await assert.rejects(client.acquireSsrsLease(request), expectedError);
-        });
-    });
-
-    describe('releaseSsrsLease', () => {
-        it('invokes releaseSsrsLease without error', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesReleaseSsrsLeaseRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesReleaseSsrsLeaseRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesReleaseSsrsLeaseRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesReleaseSsrsLeaseResponse()
-            );
-            client.innerApiCalls.releaseSsrsLease = stubSimpleCall(expectedResponse);
-            const [response] = await client.releaseSsrsLease(request);
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.releaseSsrsLease as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.releaseSsrsLease as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes releaseSsrsLease without error using callback', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesReleaseSsrsLeaseRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesReleaseSsrsLeaseRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesReleaseSsrsLeaseRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesReleaseSsrsLeaseResponse()
-            );
-            client.innerApiCalls.releaseSsrsLease = stubSimpleCallWithCallback(expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.releaseSsrsLease(
-                    request,
-                    (err?: Error|null, result?: protos.google.cloud.sql.v1beta4.ISqlInstancesReleaseSsrsLeaseResponse|null) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.releaseSsrsLease as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.releaseSsrsLease as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes releaseSsrsLease with error', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesReleaseSsrsLeaseRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesReleaseSsrsLeaseRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesReleaseSsrsLeaseRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedError = new Error('expected');
-            client.innerApiCalls.releaseSsrsLease = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.releaseSsrsLease(request), expectedError);
-            const actualRequest = (client.innerApiCalls.releaseSsrsLease as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.releaseSsrsLease as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes releaseSsrsLease with closed client', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesReleaseSsrsLeaseRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesReleaseSsrsLeaseRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesReleaseSsrsLeaseRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedError = new Error('The client has already been closed.');
-            client.close().catch(err => {throw err});
-            await assert.rejects(client.releaseSsrsLease(request), expectedError);
-        });
-    });
-
-    describe('preCheckMajorVersionUpgrade', () => {
-        it('invokes preCheckMajorVersionUpgrade without error', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesPreCheckMajorVersionUpgradeRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesPreCheckMajorVersionUpgradeRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesPreCheckMajorVersionUpgradeRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.Operation()
-            );
-            client.innerApiCalls.preCheckMajorVersionUpgrade = stubSimpleCall(expectedResponse);
-            const [response] = await client.preCheckMajorVersionUpgrade(request);
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.preCheckMajorVersionUpgrade as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.preCheckMajorVersionUpgrade as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes preCheckMajorVersionUpgrade without error using callback', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesPreCheckMajorVersionUpgradeRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesPreCheckMajorVersionUpgradeRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesPreCheckMajorVersionUpgradeRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.Operation()
-            );
-            client.innerApiCalls.preCheckMajorVersionUpgrade = stubSimpleCallWithCallback(expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.preCheckMajorVersionUpgrade(
-                    request,
-                    (err?: Error|null, result?: protos.google.cloud.sql.v1beta4.IOperation|null) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.preCheckMajorVersionUpgrade as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.preCheckMajorVersionUpgrade as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes preCheckMajorVersionUpgrade with error', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesPreCheckMajorVersionUpgradeRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesPreCheckMajorVersionUpgradeRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesPreCheckMajorVersionUpgradeRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedError = new Error('expected');
-            client.innerApiCalls.preCheckMajorVersionUpgrade = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.preCheckMajorVersionUpgrade(request), expectedError);
-            const actualRequest = (client.innerApiCalls.preCheckMajorVersionUpgrade as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.preCheckMajorVersionUpgrade as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes preCheckMajorVersionUpgrade with closed client', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesPreCheckMajorVersionUpgradeRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesPreCheckMajorVersionUpgradeRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesPreCheckMajorVersionUpgradeRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedError = new Error('The client has already been closed.');
-            client.close().catch(err => {throw err});
-            await assert.rejects(client.preCheckMajorVersionUpgrade(request), expectedError);
-        });
-    });
-
-    describe('pointInTimeRestore', () => {
-        it('invokes pointInTimeRestore without error', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesPointInTimeRestoreRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesPointInTimeRestoreRequest', ['parent']);
-            request.parent = defaultValue1;
-            const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.Operation()
-            );
-            client.innerApiCalls.pointInTimeRestore = stubSimpleCall(expectedResponse);
-            const [response] = await client.pointInTimeRestore(request);
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.pointInTimeRestore as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.pointInTimeRestore as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes pointInTimeRestore without error using callback', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesPointInTimeRestoreRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesPointInTimeRestoreRequest', ['parent']);
-            request.parent = defaultValue1;
-            const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.Operation()
-            );
-            client.innerApiCalls.pointInTimeRestore = stubSimpleCallWithCallback(expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.pointInTimeRestore(
-                    request,
-                    (err?: Error|null, result?: protos.google.cloud.sql.v1beta4.IOperation|null) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.pointInTimeRestore as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.pointInTimeRestore as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes pointInTimeRestore with error', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesPointInTimeRestoreRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesPointInTimeRestoreRequest', ['parent']);
-            request.parent = defaultValue1;
-            const expectedHeaderRequestParams = `parent=${defaultValue1 ?? '' }`;
-            const expectedError = new Error('expected');
-            client.innerApiCalls.pointInTimeRestore = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.pointInTimeRestore(request), expectedError);
-            const actualRequest = (client.innerApiCalls.pointInTimeRestore as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.pointInTimeRestore as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes pointInTimeRestore with closed client', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlInstancesPointInTimeRestoreRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlInstancesPointInTimeRestoreRequest', ['parent']);
-            request.parent = defaultValue1;
-            const expectedError = new Error('The client has already been closed.');
-            client.close().catch(err => {throw err});
-            await assert.rejects(client.pointInTimeRestore(request), expectedError);
-        });
-    });
-    describe('getLocation', () => {
-        it('invokes getLocation without error', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new LocationProtos.google.cloud.location.GetLocationRequest()
-            );
-            request.name = '';
-            const expectedHeaderRequestParams = 'name=';
-            const expectedOptions = {
-                otherArgs: {
-                    headers: {
-                        'x-goog-request-params': expectedHeaderRequestParams,
-                    },
-                },
-            };
-            const expectedResponse = generateSampleMessage(
-              new LocationProtos.google.cloud.location.Location()
-            );
-            client.locationsClient.getLocation = stubSimpleCall(expectedResponse);
-            const response = await client.getLocation(request, expectedOptions);
-            assert.deepStrictEqual(response, [expectedResponse]);
-            assert((client.locationsClient.getLocation as SinonStub)
-                .getCall(0).calledWith(request, expectedOptions, undefined));
-        });
-        it('invokes getLocation without error using callback', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new LocationProtos.google.cloud.location.GetLocationRequest()
-            );
-            request.name = '';
-            const expectedHeaderRequestParams = 'name=';
-            const expectedOptions = {
-                otherArgs: {
-                    headers: {
-                        'x-goog-request-params': expectedHeaderRequestParams,
-                    },
-                },
-            };
-            const expectedResponse = generateSampleMessage(
-              new LocationProtos.google.cloud.location.Location()
-            );
-            client.locationsClient.getLocation = sinon.stub().callsArgWith(2, null, expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.getLocation(
-                    request,
-                    expectedOptions,
-                    (
-                        err?: Error | null,
-                        result?: LocationProtos.google.cloud.location.ILocation | null
-                    ) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            assert((client.locationsClient.getLocation as SinonStub)
-                .getCall(0));
-        });
-        it('invokes getLocation with error', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new LocationProtos.google.cloud.location.GetLocationRequest()
-            );
-            request.name = '';
-            const expectedHeaderRequestParams = 'name=';
-            const expectedOptions = {
-                otherArgs: {
-                    headers: {
-                        'x-goog-request-params': expectedHeaderRequestParams,
-                    },
-                },
-            };
-            const expectedError = new Error('expected');
-            client.locationsClient.getLocation = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.getLocation(request, expectedOptions), expectedError);
-            assert((client.locationsClient.getLocation as SinonStub)
-                .getCall(0).calledWith(request, expectedOptions, undefined));
-        });
-    });
-    describe('listLocationsAsync', () => {
-        it('uses async iteration with listLocations without error', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-                new LocationProtos.google.cloud.location.ListLocationsRequest()
-            );
-            request.name = '';
-            const expectedHeaderRequestParams = 'name=';
-            const expectedResponse = [
-                generateSampleMessage(
-                    new LocationProtos.google.cloud.location.Location()
-                ),
-                generateSampleMessage(
-                    new LocationProtos.google.cloud.location.Location()
-                ),
-                generateSampleMessage(
-                    new LocationProtos.google.cloud.location.Location()
-                ),
-            ];
-            client.locationsClient.descriptors.page.listLocations.asyncIterate = stubAsyncIterationCall(expectedResponse);
-            const responses: LocationProtos.google.cloud.location.ILocation[] = [];
-            const iterable = client.listLocationsAsync(request);
-            for await (const resource of iterable) {
-                responses.push(resource!);
-            }
-            assert.deepStrictEqual(responses, expectedResponse);
-            assert.deepStrictEqual(
-                (client.locationsClient.descriptors.page.listLocations.asyncIterate as SinonStub)
-                    .getCall(0).args[1], request);
-            assert(
-                (client.locationsClient.descriptors.page.listLocations.asyncIterate as SinonStub)
-                    .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes(
-                        expectedHeaderRequestParams
-                    )
-            );
-        });
-        it('uses async iteration with listLocations with error', async () => {
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-                credentials: {client_email: 'bogus', private_key: 'bogus'},
-                projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new LocationProtos.google.cloud.location.ListLocationsRequest()
-            );
-            request.name = '';
-            const expectedHeaderRequestParams = 'name=';
-            const expectedError = new Error('expected');
-            client.locationsClient.descriptors.page.listLocations.asyncIterate = stubAsyncIterationCall(undefined, expectedError);
-            const iterable = client.listLocationsAsync(request);
-            await assert.rejects(async () => {
-                const responses: LocationProtos.google.cloud.location.ILocation[] = [];
-                for await (const resource of iterable) {
-                    responses.push(resource!);
-                }
-            });
-            assert.deepStrictEqual(
-                (client.locationsClient.descriptors.page.listLocations.asyncIterate as SinonStub)
-                    .getCall(0).args[1], request);
-            assert(
-                (client.locationsClient.descriptors.page.listLocations.asyncIterate as SinonStub)
-                    .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes(
-                        expectedHeaderRequestParams
-                    )
-            );
-        });
-    });
-
-    describe('Path templates', () => {
-
-        describe('backup', async () => {
-            const fakePath = "/rendered/path/backup";
-            const expectedParameters = {
-                project: "projectValue",
-                backup: "backupValue",
-            };
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-                credentials: {client_email: 'bogus', private_key: 'bogus'},
-                projectId: 'bogus',
-            });
-            await client.initialize();
-            client.pathTemplates.backupPathTemplate.render =
-                sinon.stub().returns(fakePath);
-            client.pathTemplates.backupPathTemplate.match =
-                sinon.stub().returns(expectedParameters);
-
-            it('backupPath', () => {
-                const result = client.backupPath("projectValue", "backupValue");
-                assert.strictEqual(result, fakePath);
-                assert((client.pathTemplates.backupPathTemplate.render as SinonStub)
-                    .getCall(-1).calledWith(expectedParameters));
-            });
+    it('has getProjectId method', async () => {
+      const fakeProjectId = 'fake-project-id';
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      client.auth.getProjectId = sinon.stub().resolves(fakeProjectId);
+      const result = await client.getProjectId();
+      assert.strictEqual(result, fakeProjectId);
+      assert((client.auth.getProjectId as SinonStub).calledWithExactly());
+    });
 
-            it('matchProjectFromBackupName', () => {
-                const result = client.matchProjectFromBackupName(fakePath);
-                assert.strictEqual(result, "projectValue");
-                assert((client.pathTemplates.backupPathTemplate.match as SinonStub)
-                    .getCall(-1).calledWith(fakePath));
-            });
+    it('has getProjectId method with callback', async () => {
+      const fakeProjectId = 'fake-project-id';
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      client.auth.getProjectId = sinon
+        .stub()
+        .callsArgWith(0, null, fakeProjectId);
+      const promise = new Promise((resolve, reject) => {
+        client.getProjectId((err?: Error | null, projectId?: string | null) => {
+          if (err) {
+            reject(err);
+          } else {
+            resolve(projectId);
+          }
+        });
+      });
+      const result = await promise;
+      assert.strictEqual(result, fakeProjectId);
+    });
+  });
+
+  describe('addServerCa', () => {
+    it('invokes addServerCa without error', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesAddServerCaRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesAddServerCaRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesAddServerCaRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.Operation(),
+      );
+      client.innerApiCalls.addServerCa = stubSimpleCall(expectedResponse);
+      const [response] = await client.addServerCa(request);
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (
+        client.innerApiCalls.addServerCa as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.addServerCa as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-            it('matchBackupFromBackupName', () => {
-                const result = client.matchBackupFromBackupName(fakePath);
-                assert.strictEqual(result, "backupValue");
-                assert((client.pathTemplates.backupPathTemplate.match as SinonStub)
-                    .getCall(-1).calledWith(fakePath));
-            });
-        });
+    it('invokes addServerCa without error using callback', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesAddServerCaRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesAddServerCaRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesAddServerCaRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.Operation(),
+      );
+      client.innerApiCalls.addServerCa =
+        stubSimpleCallWithCallback(expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.addServerCa(
+          request,
+          (
+            err?: Error | null,
+            result?: protos.google.cloud.sql.v1beta4.IOperation | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
+            }
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (
+        client.innerApiCalls.addServerCa as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.addServerCa as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        describe('project', async () => {
-            const fakePath = "/rendered/path/project";
-            const expectedParameters = {
-                project: "projectValue",
-            };
-            const client = new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
-                credentials: {client_email: 'bogus', private_key: 'bogus'},
-                projectId: 'bogus',
-            });
-            await client.initialize();
-            client.pathTemplates.projectPathTemplate.render =
-                sinon.stub().returns(fakePath);
-            client.pathTemplates.projectPathTemplate.match =
-                sinon.stub().returns(expectedParameters);
-
-            it('projectPath', () => {
-                const result = client.projectPath("projectValue");
-                assert.strictEqual(result, fakePath);
-                assert((client.pathTemplates.projectPathTemplate.render as SinonStub)
-                    .getCall(-1).calledWith(expectedParameters));
-            });
+    it('invokes addServerCa with error', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesAddServerCaRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesAddServerCaRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesAddServerCaRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedError = new Error('expected');
+      client.innerApiCalls.addServerCa = stubSimpleCall(
+        undefined,
+        expectedError,
+      );
+      await assert.rejects(client.addServerCa(request), expectedError);
+      const actualRequest = (
+        client.innerApiCalls.addServerCa as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.addServerCa as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-            it('matchProjectFromProjectName', () => {
-                const result = client.matchProjectFromProjectName(fakePath);
-                assert.strictEqual(result, "projectValue");
-                assert((client.pathTemplates.projectPathTemplate.match as SinonStub)
-                    .getCall(-1).calledWith(fakePath));
-            });
-        });
+    it('invokes addServerCa with closed client', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesAddServerCaRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesAddServerCaRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesAddServerCaRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedError = new Error('The client has already been closed.');
+      client.close().catch((err) => {
+        throw err;
+      });
+      await assert.rejects(client.addServerCa(request), expectedError);
+    });
+  });
+
+  describe('addServerCertificate', () => {
+    it('invokes addServerCertificate without error', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesAddServerCertificateRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesAddServerCertificateRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesAddServerCertificateRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.Operation(),
+      );
+      client.innerApiCalls.addServerCertificate =
+        stubSimpleCall(expectedResponse);
+      const [response] = await client.addServerCertificate(request);
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (
+        client.innerApiCalls.addServerCertificate as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.addServerCertificate as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes addServerCertificate without error using callback', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesAddServerCertificateRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesAddServerCertificateRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesAddServerCertificateRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.Operation(),
+      );
+      client.innerApiCalls.addServerCertificate =
+        stubSimpleCallWithCallback(expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.addServerCertificate(
+          request,
+          (
+            err?: Error | null,
+            result?: protos.google.cloud.sql.v1beta4.IOperation | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
+            }
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (
+        client.innerApiCalls.addServerCertificate as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.addServerCertificate as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes addServerCertificate with error', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesAddServerCertificateRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesAddServerCertificateRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesAddServerCertificateRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedError = new Error('expected');
+      client.innerApiCalls.addServerCertificate = stubSimpleCall(
+        undefined,
+        expectedError,
+      );
+      await assert.rejects(client.addServerCertificate(request), expectedError);
+      const actualRequest = (
+        client.innerApiCalls.addServerCertificate as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.addServerCertificate as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes addServerCertificate with closed client', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesAddServerCertificateRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesAddServerCertificateRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesAddServerCertificateRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedError = new Error('The client has already been closed.');
+      client.close().catch((err) => {
+        throw err;
+      });
+      await assert.rejects(client.addServerCertificate(request), expectedError);
+    });
+  });
+
+  describe('addEntraIdCertificate', () => {
+    it('invokes addEntraIdCertificate without error', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesAddEntraIdCertificateRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesAddEntraIdCertificateRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesAddEntraIdCertificateRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.Operation(),
+      );
+      client.innerApiCalls.addEntraIdCertificate =
+        stubSimpleCall(expectedResponse);
+      const [response] = await client.addEntraIdCertificate(request);
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (
+        client.innerApiCalls.addEntraIdCertificate as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.addEntraIdCertificate as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes addEntraIdCertificate without error using callback', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesAddEntraIdCertificateRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesAddEntraIdCertificateRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesAddEntraIdCertificateRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.Operation(),
+      );
+      client.innerApiCalls.addEntraIdCertificate =
+        stubSimpleCallWithCallback(expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.addEntraIdCertificate(
+          request,
+          (
+            err?: Error | null,
+            result?: protos.google.cloud.sql.v1beta4.IOperation | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
+            }
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (
+        client.innerApiCalls.addEntraIdCertificate as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.addEntraIdCertificate as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes addEntraIdCertificate with error', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesAddEntraIdCertificateRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesAddEntraIdCertificateRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesAddEntraIdCertificateRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedError = new Error('expected');
+      client.innerApiCalls.addEntraIdCertificate = stubSimpleCall(
+        undefined,
+        expectedError,
+      );
+      await assert.rejects(
+        client.addEntraIdCertificate(request),
+        expectedError,
+      );
+      const actualRequest = (
+        client.innerApiCalls.addEntraIdCertificate as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.addEntraIdCertificate as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes addEntraIdCertificate with closed client', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesAddEntraIdCertificateRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesAddEntraIdCertificateRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesAddEntraIdCertificateRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedError = new Error('The client has already been closed.');
+      client.close().catch((err) => {
+        throw err;
+      });
+      await assert.rejects(
+        client.addEntraIdCertificate(request),
+        expectedError,
+      );
+    });
+  });
+
+  describe('clone', () => {
+    it('invokes clone without error', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesCloneRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesCloneRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesCloneRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.Operation(),
+      );
+      client.innerApiCalls.clone = stubSimpleCall(expectedResponse);
+      const [response] = await client.clone(request);
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (client.innerApiCalls.clone as SinonStub).getCall(0)
+        .args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.clone as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes clone without error using callback', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesCloneRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesCloneRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesCloneRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.Operation(),
+      );
+      client.innerApiCalls.clone = stubSimpleCallWithCallback(expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.clone(
+          request,
+          (
+            err?: Error | null,
+            result?: protos.google.cloud.sql.v1beta4.IOperation | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
+            }
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (client.innerApiCalls.clone as SinonStub).getCall(0)
+        .args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.clone as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes clone with error', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesCloneRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesCloneRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesCloneRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedError = new Error('expected');
+      client.innerApiCalls.clone = stubSimpleCall(undefined, expectedError);
+      await assert.rejects(client.clone(request), expectedError);
+      const actualRequest = (client.innerApiCalls.clone as SinonStub).getCall(0)
+        .args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.clone as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes clone with closed client', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesCloneRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesCloneRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesCloneRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedError = new Error('The client has already been closed.');
+      client.close().catch((err) => {
+        throw err;
+      });
+      await assert.rejects(client.clone(request), expectedError);
+    });
+  });
+
+  describe('delete', () => {
+    it('invokes delete without error', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesDeleteRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesDeleteRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesDeleteRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.Operation(),
+      );
+      client.innerApiCalls.delete = stubSimpleCall(expectedResponse);
+      const [response] = await client.delete(request);
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (client.innerApiCalls.delete as SinonStub).getCall(
+        0,
+      ).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.delete as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes delete without error using callback', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesDeleteRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesDeleteRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesDeleteRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.Operation(),
+      );
+      client.innerApiCalls.delete =
+        stubSimpleCallWithCallback(expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.delete(
+          request,
+          (
+            err?: Error | null,
+            result?: protos.google.cloud.sql.v1beta4.IOperation | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
+            }
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (client.innerApiCalls.delete as SinonStub).getCall(
+        0,
+      ).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.delete as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes delete with error', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesDeleteRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesDeleteRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesDeleteRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedError = new Error('expected');
+      client.innerApiCalls.delete = stubSimpleCall(undefined, expectedError);
+      await assert.rejects(client.delete(request), expectedError);
+      const actualRequest = (client.innerApiCalls.delete as SinonStub).getCall(
+        0,
+      ).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.delete as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes delete with closed client', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesDeleteRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesDeleteRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesDeleteRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedError = new Error('The client has already been closed.');
+      client.close().catch((err) => {
+        throw err;
+      });
+      await assert.rejects(client.delete(request), expectedError);
+    });
+  });
+
+  describe('demoteMaster', () => {
+    it('invokes demoteMaster without error', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesDemoteMasterRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesDemoteMasterRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesDemoteMasterRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.Operation(),
+      );
+      client.innerApiCalls.demoteMaster = stubSimpleCall(expectedResponse);
+      const [response] = await client.demoteMaster(request);
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (
+        client.innerApiCalls.demoteMaster as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.demoteMaster as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes demoteMaster without error using callback', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesDemoteMasterRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesDemoteMasterRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesDemoteMasterRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.Operation(),
+      );
+      client.innerApiCalls.demoteMaster =
+        stubSimpleCallWithCallback(expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.demoteMaster(
+          request,
+          (
+            err?: Error | null,
+            result?: protos.google.cloud.sql.v1beta4.IOperation | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
+            }
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (
+        client.innerApiCalls.demoteMaster as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.demoteMaster as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes demoteMaster with error', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesDemoteMasterRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesDemoteMasterRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesDemoteMasterRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedError = new Error('expected');
+      client.innerApiCalls.demoteMaster = stubSimpleCall(
+        undefined,
+        expectedError,
+      );
+      await assert.rejects(client.demoteMaster(request), expectedError);
+      const actualRequest = (
+        client.innerApiCalls.demoteMaster as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.demoteMaster as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes demoteMaster with closed client', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesDemoteMasterRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesDemoteMasterRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesDemoteMasterRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedError = new Error('The client has already been closed.');
+      client.close().catch((err) => {
+        throw err;
+      });
+      await assert.rejects(client.demoteMaster(request), expectedError);
+    });
+  });
+
+  describe('demote', () => {
+    it('invokes demote without error', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesDemoteRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesDemoteRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesDemoteRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.Operation(),
+      );
+      client.innerApiCalls.demote = stubSimpleCall(expectedResponse);
+      const [response] = await client.demote(request);
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (client.innerApiCalls.demote as SinonStub).getCall(
+        0,
+      ).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.demote as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes demote without error using callback', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesDemoteRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesDemoteRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesDemoteRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.Operation(),
+      );
+      client.innerApiCalls.demote =
+        stubSimpleCallWithCallback(expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.demote(
+          request,
+          (
+            err?: Error | null,
+            result?: protos.google.cloud.sql.v1beta4.IOperation | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
+            }
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (client.innerApiCalls.demote as SinonStub).getCall(
+        0,
+      ).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.demote as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes demote with error', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesDemoteRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesDemoteRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesDemoteRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedError = new Error('expected');
+      client.innerApiCalls.demote = stubSimpleCall(undefined, expectedError);
+      await assert.rejects(client.demote(request), expectedError);
+      const actualRequest = (client.innerApiCalls.demote as SinonStub).getCall(
+        0,
+      ).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.demote as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes demote with closed client', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesDemoteRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesDemoteRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesDemoteRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedError = new Error('The client has already been closed.');
+      client.close().catch((err) => {
+        throw err;
+      });
+      await assert.rejects(client.demote(request), expectedError);
+    });
+  });
+
+  describe('export', () => {
+    it('invokes export without error', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesExportRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesExportRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesExportRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.Operation(),
+      );
+      client.innerApiCalls.export = stubSimpleCall(expectedResponse);
+      const [response] = await client.export(request);
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (client.innerApiCalls.export as SinonStub).getCall(
+        0,
+      ).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.export as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes export without error using callback', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesExportRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesExportRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesExportRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.Operation(),
+      );
+      client.innerApiCalls.export =
+        stubSimpleCallWithCallback(expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.export(
+          request,
+          (
+            err?: Error | null,
+            result?: protos.google.cloud.sql.v1beta4.IOperation | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
+            }
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (client.innerApiCalls.export as SinonStub).getCall(
+        0,
+      ).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.export as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes export with error', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesExportRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesExportRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesExportRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedError = new Error('expected');
+      client.innerApiCalls.export = stubSimpleCall(undefined, expectedError);
+      await assert.rejects(client.export(request), expectedError);
+      const actualRequest = (client.innerApiCalls.export as SinonStub).getCall(
+        0,
+      ).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.export as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes export with closed client', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesExportRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesExportRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesExportRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedError = new Error('The client has already been closed.');
+      client.close().catch((err) => {
+        throw err;
+      });
+      await assert.rejects(client.export(request), expectedError);
+    });
+  });
+
+  describe('failover', () => {
+    it('invokes failover without error', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesFailoverRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesFailoverRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesFailoverRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.Operation(),
+      );
+      client.innerApiCalls.failover = stubSimpleCall(expectedResponse);
+      const [response] = await client.failover(request);
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (
+        client.innerApiCalls.failover as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.failover as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes failover without error using callback', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesFailoverRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesFailoverRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesFailoverRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.Operation(),
+      );
+      client.innerApiCalls.failover =
+        stubSimpleCallWithCallback(expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.failover(
+          request,
+          (
+            err?: Error | null,
+            result?: protos.google.cloud.sql.v1beta4.IOperation | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
+            }
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (
+        client.innerApiCalls.failover as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.failover as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes failover with error', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesFailoverRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesFailoverRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesFailoverRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedError = new Error('expected');
+      client.innerApiCalls.failover = stubSimpleCall(undefined, expectedError);
+      await assert.rejects(client.failover(request), expectedError);
+      const actualRequest = (
+        client.innerApiCalls.failover as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.failover as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes failover with closed client', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesFailoverRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesFailoverRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesFailoverRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedError = new Error('The client has already been closed.');
+      client.close().catch((err) => {
+        throw err;
+      });
+      await assert.rejects(client.failover(request), expectedError);
+    });
+  });
+
+  describe('reencrypt', () => {
+    it('invokes reencrypt without error', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesReencryptRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesReencryptRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesReencryptRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.Operation(),
+      );
+      client.innerApiCalls.reencrypt = stubSimpleCall(expectedResponse);
+      const [response] = await client.reencrypt(request);
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (
+        client.innerApiCalls.reencrypt as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.reencrypt as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes reencrypt without error using callback', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesReencryptRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesReencryptRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesReencryptRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.Operation(),
+      );
+      client.innerApiCalls.reencrypt =
+        stubSimpleCallWithCallback(expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.reencrypt(
+          request,
+          (
+            err?: Error | null,
+            result?: protos.google.cloud.sql.v1beta4.IOperation | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
+            }
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (
+        client.innerApiCalls.reencrypt as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.reencrypt as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes reencrypt with error', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesReencryptRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesReencryptRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesReencryptRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedError = new Error('expected');
+      client.innerApiCalls.reencrypt = stubSimpleCall(undefined, expectedError);
+      await assert.rejects(client.reencrypt(request), expectedError);
+      const actualRequest = (
+        client.innerApiCalls.reencrypt as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.reencrypt as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes reencrypt with closed client', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesReencryptRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesReencryptRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesReencryptRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedError = new Error('The client has already been closed.');
+      client.close().catch((err) => {
+        throw err;
+      });
+      await assert.rejects(client.reencrypt(request), expectedError);
+    });
+  });
+
+  describe('get', () => {
+    it('invokes get without error', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesGetRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesGetRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesGetRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.DatabaseInstance(),
+      );
+      client.innerApiCalls.get = stubSimpleCall(expectedResponse);
+      const [response] = await client.get(request);
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (client.innerApiCalls.get as SinonStub).getCall(0)
+        .args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.get as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes get without error using callback', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesGetRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesGetRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesGetRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.DatabaseInstance(),
+      );
+      client.innerApiCalls.get = stubSimpleCallWithCallback(expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.get(
+          request,
+          (
+            err?: Error | null,
+            result?: protos.google.cloud.sql.v1beta4.IDatabaseInstance | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
+            }
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (client.innerApiCalls.get as SinonStub).getCall(0)
+        .args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.get as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes get with error', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesGetRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesGetRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesGetRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedError = new Error('expected');
+      client.innerApiCalls.get = stubSimpleCall(undefined, expectedError);
+      await assert.rejects(client.get(request), expectedError);
+      const actualRequest = (client.innerApiCalls.get as SinonStub).getCall(0)
+        .args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.get as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes get with closed client', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesGetRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesGetRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesGetRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedError = new Error('The client has already been closed.');
+      client.close().catch((err) => {
+        throw err;
+      });
+      await assert.rejects(client.get(request), expectedError);
+    });
+  });
+
+  describe('import', () => {
+    it('invokes import without error', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesImportRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesImportRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesImportRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.Operation(),
+      );
+      client.innerApiCalls.import = stubSimpleCall(expectedResponse);
+      const [response] = await client.import(request);
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (client.innerApiCalls.import as SinonStub).getCall(
+        0,
+      ).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.import as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes import without error using callback', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesImportRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesImportRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesImportRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.Operation(),
+      );
+      client.innerApiCalls.import =
+        stubSimpleCallWithCallback(expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.import(
+          request,
+          (
+            err?: Error | null,
+            result?: protos.google.cloud.sql.v1beta4.IOperation | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
+            }
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (client.innerApiCalls.import as SinonStub).getCall(
+        0,
+      ).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.import as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes import with error', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesImportRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesImportRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesImportRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedError = new Error('expected');
+      client.innerApiCalls.import = stubSimpleCall(undefined, expectedError);
+      await assert.rejects(client.import(request), expectedError);
+      const actualRequest = (client.innerApiCalls.import as SinonStub).getCall(
+        0,
+      ).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.import as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes import with closed client', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesImportRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesImportRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesImportRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedError = new Error('The client has already been closed.');
+      client.close().catch((err) => {
+        throw err;
+      });
+      await assert.rejects(client.import(request), expectedError);
+    });
+  });
+
+  describe('insert', () => {
+    it('invokes insert without error', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesInsertRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesInsertRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.Operation(),
+      );
+      client.innerApiCalls.insert = stubSimpleCall(expectedResponse);
+      const [response] = await client.insert(request);
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (client.innerApiCalls.insert as SinonStub).getCall(
+        0,
+      ).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.insert as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes insert without error using callback', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesInsertRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesInsertRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.Operation(),
+      );
+      client.innerApiCalls.insert =
+        stubSimpleCallWithCallback(expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.insert(
+          request,
+          (
+            err?: Error | null,
+            result?: protos.google.cloud.sql.v1beta4.IOperation | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
+            }
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (client.innerApiCalls.insert as SinonStub).getCall(
+        0,
+      ).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.insert as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes insert with error', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesInsertRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesInsertRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}`;
+      const expectedError = new Error('expected');
+      client.innerApiCalls.insert = stubSimpleCall(undefined, expectedError);
+      await assert.rejects(client.insert(request), expectedError);
+      const actualRequest = (client.innerApiCalls.insert as SinonStub).getCall(
+        0,
+      ).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.insert as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes insert with closed client', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesInsertRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesInsertRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const expectedError = new Error('The client has already been closed.');
+      client.close().catch((err) => {
+        throw err;
+      });
+      await assert.rejects(client.insert(request), expectedError);
+    });
+  });
+
+  describe('list', () => {
+    it('invokes list without error', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesListRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesListRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.InstancesListResponse(),
+      );
+      client.innerApiCalls.list = stubSimpleCall(expectedResponse);
+      const [response] = await client.list(request);
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (client.innerApiCalls.list as SinonStub).getCall(0)
+        .args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.list as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes list without error using callback', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesListRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesListRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.InstancesListResponse(),
+      );
+      client.innerApiCalls.list = stubSimpleCallWithCallback(expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.list(
+          request,
+          (
+            err?: Error | null,
+            result?: protos.google.cloud.sql.v1beta4.IInstancesListResponse | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
+            }
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (client.innerApiCalls.list as SinonStub).getCall(0)
+        .args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.list as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes list with error', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesListRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesListRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}`;
+      const expectedError = new Error('expected');
+      client.innerApiCalls.list = stubSimpleCall(undefined, expectedError);
+      await assert.rejects(client.list(request), expectedError);
+      const actualRequest = (client.innerApiCalls.list as SinonStub).getCall(0)
+        .args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.list as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes list with closed client', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesListRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesListRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const expectedError = new Error('The client has already been closed.');
+      client.close().catch((err) => {
+        throw err;
+      });
+      await assert.rejects(client.list(request), expectedError);
+    });
+  });
+
+  describe('listServerCas', () => {
+    it('invokes listServerCas without error', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesListServerCasRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesListServerCasRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesListServerCasRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.InstancesListServerCasResponse(),
+      );
+      client.innerApiCalls.listServerCas = stubSimpleCall(expectedResponse);
+      const [response] = await client.listServerCas(request);
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (
+        client.innerApiCalls.listServerCas as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.listServerCas as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes listServerCas without error using callback', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesListServerCasRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesListServerCasRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesListServerCasRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.InstancesListServerCasResponse(),
+      );
+      client.innerApiCalls.listServerCas =
+        stubSimpleCallWithCallback(expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.listServerCas(
+          request,
+          (
+            err?: Error | null,
+            result?: protos.google.cloud.sql.v1beta4.IInstancesListServerCasResponse | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
+            }
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (
+        client.innerApiCalls.listServerCas as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.listServerCas as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes listServerCas with error', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesListServerCasRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesListServerCasRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesListServerCasRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedError = new Error('expected');
+      client.innerApiCalls.listServerCas = stubSimpleCall(
+        undefined,
+        expectedError,
+      );
+      await assert.rejects(client.listServerCas(request), expectedError);
+      const actualRequest = (
+        client.innerApiCalls.listServerCas as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.listServerCas as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes listServerCas with closed client', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesListServerCasRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesListServerCasRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesListServerCasRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedError = new Error('The client has already been closed.');
+      client.close().catch((err) => {
+        throw err;
+      });
+      await assert.rejects(client.listServerCas(request), expectedError);
+    });
+  });
+
+  describe('listServerCertificates', () => {
+    it('invokes listServerCertificates without error', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesListServerCertificatesRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesListServerCertificatesRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesListServerCertificatesRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.InstancesListServerCertificatesResponse(),
+      );
+      client.innerApiCalls.listServerCertificates =
+        stubSimpleCall(expectedResponse);
+      const [response] = await client.listServerCertificates(request);
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (
+        client.innerApiCalls.listServerCertificates as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.listServerCertificates as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes listServerCertificates without error using callback', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesListServerCertificatesRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesListServerCertificatesRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesListServerCertificatesRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.InstancesListServerCertificatesResponse(),
+      );
+      client.innerApiCalls.listServerCertificates =
+        stubSimpleCallWithCallback(expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.listServerCertificates(
+          request,
+          (
+            err?: Error | null,
+            result?: protos.google.cloud.sql.v1beta4.IInstancesListServerCertificatesResponse | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
+            }
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (
+        client.innerApiCalls.listServerCertificates as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.listServerCertificates as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes listServerCertificates with error', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesListServerCertificatesRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesListServerCertificatesRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesListServerCertificatesRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedError = new Error('expected');
+      client.innerApiCalls.listServerCertificates = stubSimpleCall(
+        undefined,
+        expectedError,
+      );
+      await assert.rejects(
+        client.listServerCertificates(request),
+        expectedError,
+      );
+      const actualRequest = (
+        client.innerApiCalls.listServerCertificates as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.listServerCertificates as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes listServerCertificates with closed client', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesListServerCertificatesRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesListServerCertificatesRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesListServerCertificatesRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedError = new Error('The client has already been closed.');
+      client.close().catch((err) => {
+        throw err;
+      });
+      await assert.rejects(
+        client.listServerCertificates(request),
+        expectedError,
+      );
+    });
+  });
+
+  describe('listEntraIdCertificates', () => {
+    it('invokes listEntraIdCertificates without error', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesListEntraIdCertificatesRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesListEntraIdCertificatesRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesListEntraIdCertificatesRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.InstancesListEntraIdCertificatesResponse(),
+      );
+      client.innerApiCalls.listEntraIdCertificates =
+        stubSimpleCall(expectedResponse);
+      const [response] = await client.listEntraIdCertificates(request);
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (
+        client.innerApiCalls.listEntraIdCertificates as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.listEntraIdCertificates as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes listEntraIdCertificates without error using callback', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesListEntraIdCertificatesRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesListEntraIdCertificatesRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesListEntraIdCertificatesRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.InstancesListEntraIdCertificatesResponse(),
+      );
+      client.innerApiCalls.listEntraIdCertificates =
+        stubSimpleCallWithCallback(expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.listEntraIdCertificates(
+          request,
+          (
+            err?: Error | null,
+            result?: protos.google.cloud.sql.v1beta4.IInstancesListEntraIdCertificatesResponse | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
+            }
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (
+        client.innerApiCalls.listEntraIdCertificates as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.listEntraIdCertificates as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes listEntraIdCertificates with error', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesListEntraIdCertificatesRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesListEntraIdCertificatesRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesListEntraIdCertificatesRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedError = new Error('expected');
+      client.innerApiCalls.listEntraIdCertificates = stubSimpleCall(
+        undefined,
+        expectedError,
+      );
+      await assert.rejects(
+        client.listEntraIdCertificates(request),
+        expectedError,
+      );
+      const actualRequest = (
+        client.innerApiCalls.listEntraIdCertificates as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.listEntraIdCertificates as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes listEntraIdCertificates with closed client', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesListEntraIdCertificatesRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesListEntraIdCertificatesRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesListEntraIdCertificatesRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedError = new Error('The client has already been closed.');
+      client.close().catch((err) => {
+        throw err;
+      });
+      await assert.rejects(
+        client.listEntraIdCertificates(request),
+        expectedError,
+      );
+    });
+  });
+
+  describe('patch', () => {
+    it('invokes patch without error', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesPatchRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesPatchRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesPatchRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.Operation(),
+      );
+      client.innerApiCalls.patch = stubSimpleCall(expectedResponse);
+      const [response] = await client.patch(request);
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (client.innerApiCalls.patch as SinonStub).getCall(0)
+        .args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.patch as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes patch without error using callback', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesPatchRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesPatchRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesPatchRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.Operation(),
+      );
+      client.innerApiCalls.patch = stubSimpleCallWithCallback(expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.patch(
+          request,
+          (
+            err?: Error | null,
+            result?: protos.google.cloud.sql.v1beta4.IOperation | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
+            }
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (client.innerApiCalls.patch as SinonStub).getCall(0)
+        .args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.patch as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes patch with error', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesPatchRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesPatchRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesPatchRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedError = new Error('expected');
+      client.innerApiCalls.patch = stubSimpleCall(undefined, expectedError);
+      await assert.rejects(client.patch(request), expectedError);
+      const actualRequest = (client.innerApiCalls.patch as SinonStub).getCall(0)
+        .args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.patch as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes patch with closed client', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesPatchRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesPatchRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesPatchRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedError = new Error('The client has already been closed.');
+      client.close().catch((err) => {
+        throw err;
+      });
+      await assert.rejects(client.patch(request), expectedError);
+    });
+  });
+
+  describe('promoteReplica', () => {
+    it('invokes promoteReplica without error', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesPromoteReplicaRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesPromoteReplicaRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesPromoteReplicaRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.Operation(),
+      );
+      client.innerApiCalls.promoteReplica = stubSimpleCall(expectedResponse);
+      const [response] = await client.promoteReplica(request);
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (
+        client.innerApiCalls.promoteReplica as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.promoteReplica as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes promoteReplica without error using callback', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesPromoteReplicaRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesPromoteReplicaRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesPromoteReplicaRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.Operation(),
+      );
+      client.innerApiCalls.promoteReplica =
+        stubSimpleCallWithCallback(expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.promoteReplica(
+          request,
+          (
+            err?: Error | null,
+            result?: protos.google.cloud.sql.v1beta4.IOperation | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
+            }
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (
+        client.innerApiCalls.promoteReplica as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.promoteReplica as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes promoteReplica with error', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesPromoteReplicaRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesPromoteReplicaRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesPromoteReplicaRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedError = new Error('expected');
+      client.innerApiCalls.promoteReplica = stubSimpleCall(
+        undefined,
+        expectedError,
+      );
+      await assert.rejects(client.promoteReplica(request), expectedError);
+      const actualRequest = (
+        client.innerApiCalls.promoteReplica as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.promoteReplica as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes promoteReplica with closed client', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesPromoteReplicaRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesPromoteReplicaRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesPromoteReplicaRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedError = new Error('The client has already been closed.');
+      client.close().catch((err) => {
+        throw err;
+      });
+      await assert.rejects(client.promoteReplica(request), expectedError);
+    });
+  });
+
+  describe('switchover', () => {
+    it('invokes switchover without error', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesSwitchoverRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesSwitchoverRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesSwitchoverRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.Operation(),
+      );
+      client.innerApiCalls.switchover = stubSimpleCall(expectedResponse);
+      const [response] = await client.switchover(request);
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (
+        client.innerApiCalls.switchover as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.switchover as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes switchover without error using callback', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesSwitchoverRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesSwitchoverRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesSwitchoverRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.Operation(),
+      );
+      client.innerApiCalls.switchover =
+        stubSimpleCallWithCallback(expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.switchover(
+          request,
+          (
+            err?: Error | null,
+            result?: protos.google.cloud.sql.v1beta4.IOperation | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
+            }
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (
+        client.innerApiCalls.switchover as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.switchover as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes switchover with error', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesSwitchoverRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesSwitchoverRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesSwitchoverRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedError = new Error('expected');
+      client.innerApiCalls.switchover = stubSimpleCall(
+        undefined,
+        expectedError,
+      );
+      await assert.rejects(client.switchover(request), expectedError);
+      const actualRequest = (
+        client.innerApiCalls.switchover as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.switchover as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes switchover with closed client', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesSwitchoverRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesSwitchoverRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesSwitchoverRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedError = new Error('The client has already been closed.');
+      client.close().catch((err) => {
+        throw err;
+      });
+      await assert.rejects(client.switchover(request), expectedError);
+    });
+  });
+
+  describe('resetSslConfig', () => {
+    it('invokes resetSslConfig without error', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesResetSslConfigRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesResetSslConfigRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesResetSslConfigRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.Operation(),
+      );
+      client.innerApiCalls.resetSslConfig = stubSimpleCall(expectedResponse);
+      const [response] = await client.resetSslConfig(request);
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (
+        client.innerApiCalls.resetSslConfig as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.resetSslConfig as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes resetSslConfig without error using callback', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesResetSslConfigRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesResetSslConfigRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesResetSslConfigRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.Operation(),
+      );
+      client.innerApiCalls.resetSslConfig =
+        stubSimpleCallWithCallback(expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.resetSslConfig(
+          request,
+          (
+            err?: Error | null,
+            result?: protos.google.cloud.sql.v1beta4.IOperation | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
+            }
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (
+        client.innerApiCalls.resetSslConfig as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.resetSslConfig as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes resetSslConfig with error', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesResetSslConfigRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesResetSslConfigRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesResetSslConfigRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedError = new Error('expected');
+      client.innerApiCalls.resetSslConfig = stubSimpleCall(
+        undefined,
+        expectedError,
+      );
+      await assert.rejects(client.resetSslConfig(request), expectedError);
+      const actualRequest = (
+        client.innerApiCalls.resetSslConfig as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.resetSslConfig as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes resetSslConfig with closed client', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesResetSslConfigRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesResetSslConfigRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesResetSslConfigRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedError = new Error('The client has already been closed.');
+      client.close().catch((err) => {
+        throw err;
+      });
+      await assert.rejects(client.resetSslConfig(request), expectedError);
+    });
+  });
+
+  describe('restart', () => {
+    it('invokes restart without error', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesRestartRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesRestartRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesRestartRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.Operation(),
+      );
+      client.innerApiCalls.restart = stubSimpleCall(expectedResponse);
+      const [response] = await client.restart(request);
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (client.innerApiCalls.restart as SinonStub).getCall(
+        0,
+      ).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.restart as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes restart without error using callback', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesRestartRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesRestartRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesRestartRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.Operation(),
+      );
+      client.innerApiCalls.restart =
+        stubSimpleCallWithCallback(expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.restart(
+          request,
+          (
+            err?: Error | null,
+            result?: protos.google.cloud.sql.v1beta4.IOperation | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
+            }
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (client.innerApiCalls.restart as SinonStub).getCall(
+        0,
+      ).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.restart as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes restart with error', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesRestartRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesRestartRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesRestartRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedError = new Error('expected');
+      client.innerApiCalls.restart = stubSimpleCall(undefined, expectedError);
+      await assert.rejects(client.restart(request), expectedError);
+      const actualRequest = (client.innerApiCalls.restart as SinonStub).getCall(
+        0,
+      ).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.restart as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes restart with closed client', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesRestartRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesRestartRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesRestartRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedError = new Error('The client has already been closed.');
+      client.close().catch((err) => {
+        throw err;
+      });
+      await assert.rejects(client.restart(request), expectedError);
+    });
+  });
+
+  describe('restoreBackup', () => {
+    it('invokes restoreBackup without error', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesRestoreBackupRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesRestoreBackupRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesRestoreBackupRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.Operation(),
+      );
+      client.innerApiCalls.restoreBackup = stubSimpleCall(expectedResponse);
+      const [response] = await client.restoreBackup(request);
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (
+        client.innerApiCalls.restoreBackup as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.restoreBackup as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes restoreBackup without error using callback', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesRestoreBackupRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesRestoreBackupRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesRestoreBackupRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.Operation(),
+      );
+      client.innerApiCalls.restoreBackup =
+        stubSimpleCallWithCallback(expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.restoreBackup(
+          request,
+          (
+            err?: Error | null,
+            result?: protos.google.cloud.sql.v1beta4.IOperation | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
+            }
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (
+        client.innerApiCalls.restoreBackup as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.restoreBackup as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes restoreBackup with error', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesRestoreBackupRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesRestoreBackupRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesRestoreBackupRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedError = new Error('expected');
+      client.innerApiCalls.restoreBackup = stubSimpleCall(
+        undefined,
+        expectedError,
+      );
+      await assert.rejects(client.restoreBackup(request), expectedError);
+      const actualRequest = (
+        client.innerApiCalls.restoreBackup as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.restoreBackup as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes restoreBackup with closed client', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesRestoreBackupRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesRestoreBackupRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesRestoreBackupRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedError = new Error('The client has already been closed.');
+      client.close().catch((err) => {
+        throw err;
+      });
+      await assert.rejects(client.restoreBackup(request), expectedError);
+    });
+  });
+
+  describe('rotateServerCa', () => {
+    it('invokes rotateServerCa without error', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesRotateServerCaRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesRotateServerCaRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesRotateServerCaRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.Operation(),
+      );
+      client.innerApiCalls.rotateServerCa = stubSimpleCall(expectedResponse);
+      const [response] = await client.rotateServerCa(request);
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (
+        client.innerApiCalls.rotateServerCa as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.rotateServerCa as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes rotateServerCa without error using callback', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesRotateServerCaRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesRotateServerCaRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesRotateServerCaRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.Operation(),
+      );
+      client.innerApiCalls.rotateServerCa =
+        stubSimpleCallWithCallback(expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.rotateServerCa(
+          request,
+          (
+            err?: Error | null,
+            result?: protos.google.cloud.sql.v1beta4.IOperation | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
+            }
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (
+        client.innerApiCalls.rotateServerCa as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.rotateServerCa as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes rotateServerCa with error', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesRotateServerCaRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesRotateServerCaRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesRotateServerCaRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedError = new Error('expected');
+      client.innerApiCalls.rotateServerCa = stubSimpleCall(
+        undefined,
+        expectedError,
+      );
+      await assert.rejects(client.rotateServerCa(request), expectedError);
+      const actualRequest = (
+        client.innerApiCalls.rotateServerCa as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.rotateServerCa as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes rotateServerCa with closed client', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesRotateServerCaRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesRotateServerCaRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesRotateServerCaRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedError = new Error('The client has already been closed.');
+      client.close().catch((err) => {
+        throw err;
+      });
+      await assert.rejects(client.rotateServerCa(request), expectedError);
+    });
+  });
+
+  describe('rotateServerCertificate', () => {
+    it('invokes rotateServerCertificate without error', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesRotateServerCertificateRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesRotateServerCertificateRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesRotateServerCertificateRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.Operation(),
+      );
+      client.innerApiCalls.rotateServerCertificate =
+        stubSimpleCall(expectedResponse);
+      const [response] = await client.rotateServerCertificate(request);
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (
+        client.innerApiCalls.rotateServerCertificate as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.rotateServerCertificate as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes rotateServerCertificate without error using callback', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesRotateServerCertificateRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesRotateServerCertificateRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesRotateServerCertificateRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.Operation(),
+      );
+      client.innerApiCalls.rotateServerCertificate =
+        stubSimpleCallWithCallback(expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.rotateServerCertificate(
+          request,
+          (
+            err?: Error | null,
+            result?: protos.google.cloud.sql.v1beta4.IOperation | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
+            }
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (
+        client.innerApiCalls.rotateServerCertificate as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.rotateServerCertificate as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes rotateServerCertificate with error', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesRotateServerCertificateRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesRotateServerCertificateRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesRotateServerCertificateRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedError = new Error('expected');
+      client.innerApiCalls.rotateServerCertificate = stubSimpleCall(
+        undefined,
+        expectedError,
+      );
+      await assert.rejects(
+        client.rotateServerCertificate(request),
+        expectedError,
+      );
+      const actualRequest = (
+        client.innerApiCalls.rotateServerCertificate as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.rotateServerCertificate as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes rotateServerCertificate with closed client', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesRotateServerCertificateRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesRotateServerCertificateRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesRotateServerCertificateRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedError = new Error('The client has already been closed.');
+      client.close().catch((err) => {
+        throw err;
+      });
+      await assert.rejects(
+        client.rotateServerCertificate(request),
+        expectedError,
+      );
+    });
+  });
+
+  describe('rotateEntraIdCertificate', () => {
+    it('invokes rotateEntraIdCertificate without error', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesRotateEntraIdCertificateRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesRotateEntraIdCertificateRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesRotateEntraIdCertificateRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.Operation(),
+      );
+      client.innerApiCalls.rotateEntraIdCertificate =
+        stubSimpleCall(expectedResponse);
+      const [response] = await client.rotateEntraIdCertificate(request);
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (
+        client.innerApiCalls.rotateEntraIdCertificate as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.rotateEntraIdCertificate as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes rotateEntraIdCertificate without error using callback', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesRotateEntraIdCertificateRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesRotateEntraIdCertificateRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesRotateEntraIdCertificateRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.Operation(),
+      );
+      client.innerApiCalls.rotateEntraIdCertificate =
+        stubSimpleCallWithCallback(expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.rotateEntraIdCertificate(
+          request,
+          (
+            err?: Error | null,
+            result?: protos.google.cloud.sql.v1beta4.IOperation | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
+            }
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (
+        client.innerApiCalls.rotateEntraIdCertificate as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.rotateEntraIdCertificate as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes rotateEntraIdCertificate with error', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesRotateEntraIdCertificateRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesRotateEntraIdCertificateRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesRotateEntraIdCertificateRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedError = new Error('expected');
+      client.innerApiCalls.rotateEntraIdCertificate = stubSimpleCall(
+        undefined,
+        expectedError,
+      );
+      await assert.rejects(
+        client.rotateEntraIdCertificate(request),
+        expectedError,
+      );
+      const actualRequest = (
+        client.innerApiCalls.rotateEntraIdCertificate as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.rotateEntraIdCertificate as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes rotateEntraIdCertificate with closed client', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesRotateEntraIdCertificateRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesRotateEntraIdCertificateRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesRotateEntraIdCertificateRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedError = new Error('The client has already been closed.');
+      client.close().catch((err) => {
+        throw err;
+      });
+      await assert.rejects(
+        client.rotateEntraIdCertificate(request),
+        expectedError,
+      );
+    });
+  });
+
+  describe('startReplica', () => {
+    it('invokes startReplica without error', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesStartReplicaRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesStartReplicaRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesStartReplicaRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.Operation(),
+      );
+      client.innerApiCalls.startReplica = stubSimpleCall(expectedResponse);
+      const [response] = await client.startReplica(request);
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (
+        client.innerApiCalls.startReplica as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.startReplica as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes startReplica without error using callback', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesStartReplicaRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesStartReplicaRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesStartReplicaRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.Operation(),
+      );
+      client.innerApiCalls.startReplica =
+        stubSimpleCallWithCallback(expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.startReplica(
+          request,
+          (
+            err?: Error | null,
+            result?: protos.google.cloud.sql.v1beta4.IOperation | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
+            }
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (
+        client.innerApiCalls.startReplica as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.startReplica as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes startReplica with error', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesStartReplicaRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesStartReplicaRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesStartReplicaRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedError = new Error('expected');
+      client.innerApiCalls.startReplica = stubSimpleCall(
+        undefined,
+        expectedError,
+      );
+      await assert.rejects(client.startReplica(request), expectedError);
+      const actualRequest = (
+        client.innerApiCalls.startReplica as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.startReplica as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes startReplica with closed client', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesStartReplicaRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesStartReplicaRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesStartReplicaRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedError = new Error('The client has already been closed.');
+      client.close().catch((err) => {
+        throw err;
+      });
+      await assert.rejects(client.startReplica(request), expectedError);
+    });
+  });
+
+  describe('stopReplica', () => {
+    it('invokes stopReplica without error', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesStopReplicaRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesStopReplicaRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesStopReplicaRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.Operation(),
+      );
+      client.innerApiCalls.stopReplica = stubSimpleCall(expectedResponse);
+      const [response] = await client.stopReplica(request);
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (
+        client.innerApiCalls.stopReplica as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.stopReplica as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes stopReplica without error using callback', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesStopReplicaRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesStopReplicaRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesStopReplicaRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.Operation(),
+      );
+      client.innerApiCalls.stopReplica =
+        stubSimpleCallWithCallback(expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.stopReplica(
+          request,
+          (
+            err?: Error | null,
+            result?: protos.google.cloud.sql.v1beta4.IOperation | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
+            }
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (
+        client.innerApiCalls.stopReplica as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.stopReplica as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes stopReplica with error', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesStopReplicaRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesStopReplicaRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesStopReplicaRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedError = new Error('expected');
+      client.innerApiCalls.stopReplica = stubSimpleCall(
+        undefined,
+        expectedError,
+      );
+      await assert.rejects(client.stopReplica(request), expectedError);
+      const actualRequest = (
+        client.innerApiCalls.stopReplica as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.stopReplica as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes stopReplica with closed client', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesStopReplicaRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesStopReplicaRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesStopReplicaRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedError = new Error('The client has already been closed.');
+      client.close().catch((err) => {
+        throw err;
+      });
+      await assert.rejects(client.stopReplica(request), expectedError);
+    });
+  });
+
+  describe('truncateLog', () => {
+    it('invokes truncateLog without error', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesTruncateLogRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesTruncateLogRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesTruncateLogRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.Operation(),
+      );
+      client.innerApiCalls.truncateLog = stubSimpleCall(expectedResponse);
+      const [response] = await client.truncateLog(request);
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (
+        client.innerApiCalls.truncateLog as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.truncateLog as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes truncateLog without error using callback', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesTruncateLogRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesTruncateLogRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesTruncateLogRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.Operation(),
+      );
+      client.innerApiCalls.truncateLog =
+        stubSimpleCallWithCallback(expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.truncateLog(
+          request,
+          (
+            err?: Error | null,
+            result?: protos.google.cloud.sql.v1beta4.IOperation | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
+            }
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (
+        client.innerApiCalls.truncateLog as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.truncateLog as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes truncateLog with error', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesTruncateLogRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesTruncateLogRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesTruncateLogRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedError = new Error('expected');
+      client.innerApiCalls.truncateLog = stubSimpleCall(
+        undefined,
+        expectedError,
+      );
+      await assert.rejects(client.truncateLog(request), expectedError);
+      const actualRequest = (
+        client.innerApiCalls.truncateLog as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.truncateLog as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes truncateLog with closed client', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesTruncateLogRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesTruncateLogRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesTruncateLogRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedError = new Error('The client has already been closed.');
+      client.close().catch((err) => {
+        throw err;
+      });
+      await assert.rejects(client.truncateLog(request), expectedError);
+    });
+  });
+
+  describe('update', () => {
+    it('invokes update without error', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesUpdateRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesUpdateRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesUpdateRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.Operation(),
+      );
+      client.innerApiCalls.update = stubSimpleCall(expectedResponse);
+      const [response] = await client.update(request);
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (client.innerApiCalls.update as SinonStub).getCall(
+        0,
+      ).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.update as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes update without error using callback', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesUpdateRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesUpdateRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesUpdateRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.Operation(),
+      );
+      client.innerApiCalls.update =
+        stubSimpleCallWithCallback(expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.update(
+          request,
+          (
+            err?: Error | null,
+            result?: protos.google.cloud.sql.v1beta4.IOperation | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
+            }
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (client.innerApiCalls.update as SinonStub).getCall(
+        0,
+      ).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.update as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes update with error', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesUpdateRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesUpdateRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesUpdateRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedError = new Error('expected');
+      client.innerApiCalls.update = stubSimpleCall(undefined, expectedError);
+      await assert.rejects(client.update(request), expectedError);
+      const actualRequest = (client.innerApiCalls.update as SinonStub).getCall(
+        0,
+      ).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.update as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes update with closed client', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesUpdateRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesUpdateRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesUpdateRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedError = new Error('The client has already been closed.');
+      client.close().catch((err) => {
+        throw err;
+      });
+      await assert.rejects(client.update(request), expectedError);
+    });
+  });
+
+  describe('createEphemeral', () => {
+    it('invokes createEphemeral without error', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesCreateEphemeralCertRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesCreateEphemeralCertRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesCreateEphemeralCertRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SslCert(),
+      );
+      client.innerApiCalls.createEphemeral = stubSimpleCall(expectedResponse);
+      const [response] = await client.createEphemeral(request);
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (
+        client.innerApiCalls.createEphemeral as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.createEphemeral as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes createEphemeral without error using callback', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesCreateEphemeralCertRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesCreateEphemeralCertRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesCreateEphemeralCertRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SslCert(),
+      );
+      client.innerApiCalls.createEphemeral =
+        stubSimpleCallWithCallback(expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.createEphemeral(
+          request,
+          (
+            err?: Error | null,
+            result?: protos.google.cloud.sql.v1beta4.ISslCert | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
+            }
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (
+        client.innerApiCalls.createEphemeral as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.createEphemeral as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes createEphemeral with error', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesCreateEphemeralCertRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesCreateEphemeralCertRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesCreateEphemeralCertRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedError = new Error('expected');
+      client.innerApiCalls.createEphemeral = stubSimpleCall(
+        undefined,
+        expectedError,
+      );
+      await assert.rejects(client.createEphemeral(request), expectedError);
+      const actualRequest = (
+        client.innerApiCalls.createEphemeral as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.createEphemeral as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes createEphemeral with closed client', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesCreateEphemeralCertRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesCreateEphemeralCertRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesCreateEphemeralCertRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedError = new Error('The client has already been closed.');
+      client.close().catch((err) => {
+        throw err;
+      });
+      await assert.rejects(client.createEphemeral(request), expectedError);
+    });
+  });
+
+  describe('rescheduleMaintenance', () => {
+    it('invokes rescheduleMaintenance without error', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesRescheduleMaintenanceRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesRescheduleMaintenanceRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesRescheduleMaintenanceRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.Operation(),
+      );
+      client.innerApiCalls.rescheduleMaintenance =
+        stubSimpleCall(expectedResponse);
+      const [response] = await client.rescheduleMaintenance(request);
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (
+        client.innerApiCalls.rescheduleMaintenance as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.rescheduleMaintenance as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes rescheduleMaintenance without error using callback', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesRescheduleMaintenanceRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesRescheduleMaintenanceRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesRescheduleMaintenanceRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.Operation(),
+      );
+      client.innerApiCalls.rescheduleMaintenance =
+        stubSimpleCallWithCallback(expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.rescheduleMaintenance(
+          request,
+          (
+            err?: Error | null,
+            result?: protos.google.cloud.sql.v1beta4.IOperation | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
+            }
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (
+        client.innerApiCalls.rescheduleMaintenance as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.rescheduleMaintenance as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes rescheduleMaintenance with error', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesRescheduleMaintenanceRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesRescheduleMaintenanceRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesRescheduleMaintenanceRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedError = new Error('expected');
+      client.innerApiCalls.rescheduleMaintenance = stubSimpleCall(
+        undefined,
+        expectedError,
+      );
+      await assert.rejects(
+        client.rescheduleMaintenance(request),
+        expectedError,
+      );
+      const actualRequest = (
+        client.innerApiCalls.rescheduleMaintenance as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.rescheduleMaintenance as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes rescheduleMaintenance with closed client', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesRescheduleMaintenanceRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesRescheduleMaintenanceRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesRescheduleMaintenanceRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedError = new Error('The client has already been closed.');
+      client.close().catch((err) => {
+        throw err;
+      });
+      await assert.rejects(
+        client.rescheduleMaintenance(request),
+        expectedError,
+      );
+    });
+  });
+
+  describe('verifyExternalSyncSettings', () => {
+    it('invokes verifyExternalSyncSettings without error', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesVerifyExternalSyncSettingsRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesVerifyExternalSyncSettingsRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesVerifyExternalSyncSettingsRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesVerifyExternalSyncSettingsResponse(),
+      );
+      client.innerApiCalls.verifyExternalSyncSettings =
+        stubSimpleCall(expectedResponse);
+      const [response] = await client.verifyExternalSyncSettings(request);
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (
+        client.innerApiCalls.verifyExternalSyncSettings as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.verifyExternalSyncSettings as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes verifyExternalSyncSettings without error using callback', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesVerifyExternalSyncSettingsRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesVerifyExternalSyncSettingsRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesVerifyExternalSyncSettingsRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesVerifyExternalSyncSettingsResponse(),
+      );
+      client.innerApiCalls.verifyExternalSyncSettings =
+        stubSimpleCallWithCallback(expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.verifyExternalSyncSettings(
+          request,
+          (
+            err?: Error | null,
+            result?: protos.google.cloud.sql.v1beta4.ISqlInstancesVerifyExternalSyncSettingsResponse | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
+            }
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (
+        client.innerApiCalls.verifyExternalSyncSettings as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.verifyExternalSyncSettings as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes verifyExternalSyncSettings with error', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesVerifyExternalSyncSettingsRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesVerifyExternalSyncSettingsRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesVerifyExternalSyncSettingsRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedError = new Error('expected');
+      client.innerApiCalls.verifyExternalSyncSettings = stubSimpleCall(
+        undefined,
+        expectedError,
+      );
+      await assert.rejects(
+        client.verifyExternalSyncSettings(request),
+        expectedError,
+      );
+      const actualRequest = (
+        client.innerApiCalls.verifyExternalSyncSettings as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.verifyExternalSyncSettings as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes verifyExternalSyncSettings with closed client', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesVerifyExternalSyncSettingsRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesVerifyExternalSyncSettingsRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesVerifyExternalSyncSettingsRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedError = new Error('The client has already been closed.');
+      client.close().catch((err) => {
+        throw err;
+      });
+      await assert.rejects(
+        client.verifyExternalSyncSettings(request),
+        expectedError,
+      );
+    });
+  });
+
+  describe('startExternalSync', () => {
+    it('invokes startExternalSync without error', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesStartExternalSyncRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesStartExternalSyncRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesStartExternalSyncRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.Operation(),
+      );
+      client.innerApiCalls.startExternalSync = stubSimpleCall(expectedResponse);
+      const [response] = await client.startExternalSync(request);
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (
+        client.innerApiCalls.startExternalSync as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.startExternalSync as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes startExternalSync without error using callback', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesStartExternalSyncRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesStartExternalSyncRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesStartExternalSyncRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.Operation(),
+      );
+      client.innerApiCalls.startExternalSync =
+        stubSimpleCallWithCallback(expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.startExternalSync(
+          request,
+          (
+            err?: Error | null,
+            result?: protos.google.cloud.sql.v1beta4.IOperation | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
+            }
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (
+        client.innerApiCalls.startExternalSync as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.startExternalSync as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes startExternalSync with error', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesStartExternalSyncRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesStartExternalSyncRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesStartExternalSyncRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedError = new Error('expected');
+      client.innerApiCalls.startExternalSync = stubSimpleCall(
+        undefined,
+        expectedError,
+      );
+      await assert.rejects(client.startExternalSync(request), expectedError);
+      const actualRequest = (
+        client.innerApiCalls.startExternalSync as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.startExternalSync as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes startExternalSync with closed client', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesStartExternalSyncRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesStartExternalSyncRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesStartExternalSyncRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedError = new Error('The client has already been closed.');
+      client.close().catch((err) => {
+        throw err;
+      });
+      await assert.rejects(client.startExternalSync(request), expectedError);
+    });
+  });
+
+  describe('performDiskShrink', () => {
+    it('invokes performDiskShrink without error', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesPerformDiskShrinkRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesPerformDiskShrinkRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesPerformDiskShrinkRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.Operation(),
+      );
+      client.innerApiCalls.performDiskShrink = stubSimpleCall(expectedResponse);
+      const [response] = await client.performDiskShrink(request);
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (
+        client.innerApiCalls.performDiskShrink as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.performDiskShrink as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes performDiskShrink without error using callback', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesPerformDiskShrinkRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesPerformDiskShrinkRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesPerformDiskShrinkRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.Operation(),
+      );
+      client.innerApiCalls.performDiskShrink =
+        stubSimpleCallWithCallback(expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.performDiskShrink(
+          request,
+          (
+            err?: Error | null,
+            result?: protos.google.cloud.sql.v1beta4.IOperation | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
+            }
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (
+        client.innerApiCalls.performDiskShrink as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.performDiskShrink as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes performDiskShrink with error', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesPerformDiskShrinkRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesPerformDiskShrinkRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesPerformDiskShrinkRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedError = new Error('expected');
+      client.innerApiCalls.performDiskShrink = stubSimpleCall(
+        undefined,
+        expectedError,
+      );
+      await assert.rejects(client.performDiskShrink(request), expectedError);
+      const actualRequest = (
+        client.innerApiCalls.performDiskShrink as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.performDiskShrink as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes performDiskShrink with closed client', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesPerformDiskShrinkRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesPerformDiskShrinkRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesPerformDiskShrinkRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedError = new Error('The client has already been closed.');
+      client.close().catch((err) => {
+        throw err;
+      });
+      await assert.rejects(client.performDiskShrink(request), expectedError);
+    });
+  });
+
+  describe('getDiskShrinkConfig', () => {
+    it('invokes getDiskShrinkConfig without error', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesGetDiskShrinkConfigRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesGetDiskShrinkConfigRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesGetDiskShrinkConfigRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesGetDiskShrinkConfigResponse(),
+      );
+      client.innerApiCalls.getDiskShrinkConfig =
+        stubSimpleCall(expectedResponse);
+      const [response] = await client.getDiskShrinkConfig(request);
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (
+        client.innerApiCalls.getDiskShrinkConfig as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.getDiskShrinkConfig as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes getDiskShrinkConfig without error using callback', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesGetDiskShrinkConfigRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesGetDiskShrinkConfigRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesGetDiskShrinkConfigRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesGetDiskShrinkConfigResponse(),
+      );
+      client.innerApiCalls.getDiskShrinkConfig =
+        stubSimpleCallWithCallback(expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.getDiskShrinkConfig(
+          request,
+          (
+            err?: Error | null,
+            result?: protos.google.cloud.sql.v1beta4.ISqlInstancesGetDiskShrinkConfigResponse | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
+            }
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (
+        client.innerApiCalls.getDiskShrinkConfig as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.getDiskShrinkConfig as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes getDiskShrinkConfig with error', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesGetDiskShrinkConfigRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesGetDiskShrinkConfigRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesGetDiskShrinkConfigRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedError = new Error('expected');
+      client.innerApiCalls.getDiskShrinkConfig = stubSimpleCall(
+        undefined,
+        expectedError,
+      );
+      await assert.rejects(client.getDiskShrinkConfig(request), expectedError);
+      const actualRequest = (
+        client.innerApiCalls.getDiskShrinkConfig as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.getDiskShrinkConfig as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes getDiskShrinkConfig with closed client', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesGetDiskShrinkConfigRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesGetDiskShrinkConfigRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesGetDiskShrinkConfigRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedError = new Error('The client has already been closed.');
+      client.close().catch((err) => {
+        throw err;
+      });
+      await assert.rejects(client.getDiskShrinkConfig(request), expectedError);
+    });
+  });
+
+  describe('resetReplicaSize', () => {
+    it('invokes resetReplicaSize without error', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesResetReplicaSizeRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesResetReplicaSizeRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesResetReplicaSizeRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.Operation(),
+      );
+      client.innerApiCalls.resetReplicaSize = stubSimpleCall(expectedResponse);
+      const [response] = await client.resetReplicaSize(request);
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (
+        client.innerApiCalls.resetReplicaSize as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.resetReplicaSize as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes resetReplicaSize without error using callback', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesResetReplicaSizeRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesResetReplicaSizeRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesResetReplicaSizeRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.Operation(),
+      );
+      client.innerApiCalls.resetReplicaSize =
+        stubSimpleCallWithCallback(expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.resetReplicaSize(
+          request,
+          (
+            err?: Error | null,
+            result?: protos.google.cloud.sql.v1beta4.IOperation | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
+            }
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (
+        client.innerApiCalls.resetReplicaSize as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.resetReplicaSize as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes resetReplicaSize with error', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesResetReplicaSizeRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesResetReplicaSizeRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesResetReplicaSizeRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedError = new Error('expected');
+      client.innerApiCalls.resetReplicaSize = stubSimpleCall(
+        undefined,
+        expectedError,
+      );
+      await assert.rejects(client.resetReplicaSize(request), expectedError);
+      const actualRequest = (
+        client.innerApiCalls.resetReplicaSize as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.resetReplicaSize as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes resetReplicaSize with closed client', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesResetReplicaSizeRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesResetReplicaSizeRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesResetReplicaSizeRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedError = new Error('The client has already been closed.');
+      client.close().catch((err) => {
+        throw err;
+      });
+      await assert.rejects(client.resetReplicaSize(request), expectedError);
+    });
+  });
+
+  describe('getLatestRecoveryTime', () => {
+    it('invokes getLatestRecoveryTime without error', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesGetLatestRecoveryTimeRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesGetLatestRecoveryTimeRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesGetLatestRecoveryTimeRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesGetLatestRecoveryTimeResponse(),
+      );
+      client.innerApiCalls.getLatestRecoveryTime =
+        stubSimpleCall(expectedResponse);
+      const [response] = await client.getLatestRecoveryTime(request);
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (
+        client.innerApiCalls.getLatestRecoveryTime as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.getLatestRecoveryTime as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes getLatestRecoveryTime without error using callback', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesGetLatestRecoveryTimeRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesGetLatestRecoveryTimeRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesGetLatestRecoveryTimeRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesGetLatestRecoveryTimeResponse(),
+      );
+      client.innerApiCalls.getLatestRecoveryTime =
+        stubSimpleCallWithCallback(expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.getLatestRecoveryTime(
+          request,
+          (
+            err?: Error | null,
+            result?: protos.google.cloud.sql.v1beta4.ISqlInstancesGetLatestRecoveryTimeResponse | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
+            }
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (
+        client.innerApiCalls.getLatestRecoveryTime as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.getLatestRecoveryTime as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes getLatestRecoveryTime with error', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesGetLatestRecoveryTimeRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesGetLatestRecoveryTimeRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesGetLatestRecoveryTimeRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedError = new Error('expected');
+      client.innerApiCalls.getLatestRecoveryTime = stubSimpleCall(
+        undefined,
+        expectedError,
+      );
+      await assert.rejects(
+        client.getLatestRecoveryTime(request),
+        expectedError,
+      );
+      const actualRequest = (
+        client.innerApiCalls.getLatestRecoveryTime as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.getLatestRecoveryTime as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes getLatestRecoveryTime with closed client', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesGetLatestRecoveryTimeRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesGetLatestRecoveryTimeRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesGetLatestRecoveryTimeRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedError = new Error('The client has already been closed.');
+      client.close().catch((err) => {
+        throw err;
+      });
+      await assert.rejects(
+        client.getLatestRecoveryTime(request),
+        expectedError,
+      );
+    });
+  });
+
+  describe('executeSql', () => {
+    it('invokes executeSql without error', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesExecuteSqlRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesExecuteSqlRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesExecuteSqlRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesExecuteSqlResponse(),
+      );
+      client.innerApiCalls.executeSql = stubSimpleCall(expectedResponse);
+      const [response] = await client.executeSql(request);
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (
+        client.innerApiCalls.executeSql as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.executeSql as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes executeSql without error using callback', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesExecuteSqlRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesExecuteSqlRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesExecuteSqlRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesExecuteSqlResponse(),
+      );
+      client.innerApiCalls.executeSql =
+        stubSimpleCallWithCallback(expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.executeSql(
+          request,
+          (
+            err?: Error | null,
+            result?: protos.google.cloud.sql.v1beta4.ISqlInstancesExecuteSqlResponse | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
+            }
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (
+        client.innerApiCalls.executeSql as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.executeSql as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes executeSql with error', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesExecuteSqlRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesExecuteSqlRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesExecuteSqlRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedError = new Error('expected');
+      client.innerApiCalls.executeSql = stubSimpleCall(
+        undefined,
+        expectedError,
+      );
+      await assert.rejects(client.executeSql(request), expectedError);
+      const actualRequest = (
+        client.innerApiCalls.executeSql as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.executeSql as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes executeSql with closed client', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesExecuteSqlRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesExecuteSqlRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesExecuteSqlRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedError = new Error('The client has already been closed.');
+      client.close().catch((err) => {
+        throw err;
+      });
+      await assert.rejects(client.executeSql(request), expectedError);
+    });
+  });
+
+  describe('acquireSsrsLease', () => {
+    it('invokes acquireSsrsLease without error', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesAcquireSsrsLeaseRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesAcquireSsrsLeaseRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesAcquireSsrsLeaseRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesAcquireSsrsLeaseResponse(),
+      );
+      client.innerApiCalls.acquireSsrsLease = stubSimpleCall(expectedResponse);
+      const [response] = await client.acquireSsrsLease(request);
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (
+        client.innerApiCalls.acquireSsrsLease as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.acquireSsrsLease as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes acquireSsrsLease without error using callback', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesAcquireSsrsLeaseRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesAcquireSsrsLeaseRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesAcquireSsrsLeaseRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesAcquireSsrsLeaseResponse(),
+      );
+      client.innerApiCalls.acquireSsrsLease =
+        stubSimpleCallWithCallback(expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.acquireSsrsLease(
+          request,
+          (
+            err?: Error | null,
+            result?: protos.google.cloud.sql.v1beta4.ISqlInstancesAcquireSsrsLeaseResponse | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
+            }
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (
+        client.innerApiCalls.acquireSsrsLease as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.acquireSsrsLease as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes acquireSsrsLease with error', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesAcquireSsrsLeaseRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesAcquireSsrsLeaseRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesAcquireSsrsLeaseRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedError = new Error('expected');
+      client.innerApiCalls.acquireSsrsLease = stubSimpleCall(
+        undefined,
+        expectedError,
+      );
+      await assert.rejects(client.acquireSsrsLease(request), expectedError);
+      const actualRequest = (
+        client.innerApiCalls.acquireSsrsLease as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.acquireSsrsLease as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes acquireSsrsLease with closed client', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesAcquireSsrsLeaseRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesAcquireSsrsLeaseRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesAcquireSsrsLeaseRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedError = new Error('The client has already been closed.');
+      client.close().catch((err) => {
+        throw err;
+      });
+      await assert.rejects(client.acquireSsrsLease(request), expectedError);
+    });
+  });
+
+  describe('releaseSsrsLease', () => {
+    it('invokes releaseSsrsLease without error', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesReleaseSsrsLeaseRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesReleaseSsrsLeaseRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesReleaseSsrsLeaseRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesReleaseSsrsLeaseResponse(),
+      );
+      client.innerApiCalls.releaseSsrsLease = stubSimpleCall(expectedResponse);
+      const [response] = await client.releaseSsrsLease(request);
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (
+        client.innerApiCalls.releaseSsrsLease as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.releaseSsrsLease as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes releaseSsrsLease without error using callback', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesReleaseSsrsLeaseRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesReleaseSsrsLeaseRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesReleaseSsrsLeaseRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesReleaseSsrsLeaseResponse(),
+      );
+      client.innerApiCalls.releaseSsrsLease =
+        stubSimpleCallWithCallback(expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.releaseSsrsLease(
+          request,
+          (
+            err?: Error | null,
+            result?: protos.google.cloud.sql.v1beta4.ISqlInstancesReleaseSsrsLeaseResponse | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
+            }
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (
+        client.innerApiCalls.releaseSsrsLease as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.releaseSsrsLease as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes releaseSsrsLease with error', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesReleaseSsrsLeaseRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesReleaseSsrsLeaseRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesReleaseSsrsLeaseRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedError = new Error('expected');
+      client.innerApiCalls.releaseSsrsLease = stubSimpleCall(
+        undefined,
+        expectedError,
+      );
+      await assert.rejects(client.releaseSsrsLease(request), expectedError);
+      const actualRequest = (
+        client.innerApiCalls.releaseSsrsLease as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.releaseSsrsLease as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes releaseSsrsLease with closed client', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesReleaseSsrsLeaseRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesReleaseSsrsLeaseRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesReleaseSsrsLeaseRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedError = new Error('The client has already been closed.');
+      client.close().catch((err) => {
+        throw err;
+      });
+      await assert.rejects(client.releaseSsrsLease(request), expectedError);
+    });
+  });
+
+  describe('preCheckMajorVersionUpgrade', () => {
+    it('invokes preCheckMajorVersionUpgrade without error', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesPreCheckMajorVersionUpgradeRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesPreCheckMajorVersionUpgradeRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesPreCheckMajorVersionUpgradeRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.Operation(),
+      );
+      client.innerApiCalls.preCheckMajorVersionUpgrade =
+        stubSimpleCall(expectedResponse);
+      const [response] = await client.preCheckMajorVersionUpgrade(request);
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (
+        client.innerApiCalls.preCheckMajorVersionUpgrade as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.preCheckMajorVersionUpgrade as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes preCheckMajorVersionUpgrade without error using callback', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesPreCheckMajorVersionUpgradeRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesPreCheckMajorVersionUpgradeRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesPreCheckMajorVersionUpgradeRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.Operation(),
+      );
+      client.innerApiCalls.preCheckMajorVersionUpgrade =
+        stubSimpleCallWithCallback(expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.preCheckMajorVersionUpgrade(
+          request,
+          (
+            err?: Error | null,
+            result?: protos.google.cloud.sql.v1beta4.IOperation | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
+            }
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (
+        client.innerApiCalls.preCheckMajorVersionUpgrade as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.preCheckMajorVersionUpgrade as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes preCheckMajorVersionUpgrade with error', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesPreCheckMajorVersionUpgradeRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesPreCheckMajorVersionUpgradeRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesPreCheckMajorVersionUpgradeRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedError = new Error('expected');
+      client.innerApiCalls.preCheckMajorVersionUpgrade = stubSimpleCall(
+        undefined,
+        expectedError,
+      );
+      await assert.rejects(
+        client.preCheckMajorVersionUpgrade(request),
+        expectedError,
+      );
+      const actualRequest = (
+        client.innerApiCalls.preCheckMajorVersionUpgrade as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.preCheckMajorVersionUpgrade as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes preCheckMajorVersionUpgrade with closed client', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesPreCheckMajorVersionUpgradeRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesPreCheckMajorVersionUpgradeRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesPreCheckMajorVersionUpgradeRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedError = new Error('The client has already been closed.');
+      client.close().catch((err) => {
+        throw err;
+      });
+      await assert.rejects(
+        client.preCheckMajorVersionUpgrade(request),
+        expectedError,
+      );
+    });
+  });
+
+  describe('pointInTimeRestore', () => {
+    it('invokes pointInTimeRestore without error', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesPointInTimeRestoreRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesPointInTimeRestoreRequest',
+        ['parent'],
+      );
+      request.parent = defaultValue1;
+      const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.Operation(),
+      );
+      client.innerApiCalls.pointInTimeRestore =
+        stubSimpleCall(expectedResponse);
+      const [response] = await client.pointInTimeRestore(request);
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (
+        client.innerApiCalls.pointInTimeRestore as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.pointInTimeRestore as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes pointInTimeRestore without error using callback', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesPointInTimeRestoreRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesPointInTimeRestoreRequest',
+        ['parent'],
+      );
+      request.parent = defaultValue1;
+      const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.Operation(),
+      );
+      client.innerApiCalls.pointInTimeRestore =
+        stubSimpleCallWithCallback(expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.pointInTimeRestore(
+          request,
+          (
+            err?: Error | null,
+            result?: protos.google.cloud.sql.v1beta4.IOperation | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
+            }
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (
+        client.innerApiCalls.pointInTimeRestore as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.pointInTimeRestore as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes pointInTimeRestore with error', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesPointInTimeRestoreRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesPointInTimeRestoreRequest',
+        ['parent'],
+      );
+      request.parent = defaultValue1;
+      const expectedHeaderRequestParams = `parent=${defaultValue1 ?? ''}`;
+      const expectedError = new Error('expected');
+      client.innerApiCalls.pointInTimeRestore = stubSimpleCall(
+        undefined,
+        expectedError,
+      );
+      await assert.rejects(client.pointInTimeRestore(request), expectedError);
+      const actualRequest = (
+        client.innerApiCalls.pointInTimeRestore as SinonStub
+      ).getCall(0).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.pointInTimeRestore as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes pointInTimeRestore with closed client', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlInstancesPointInTimeRestoreRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlInstancesPointInTimeRestoreRequest',
+        ['parent'],
+      );
+      request.parent = defaultValue1;
+      const expectedError = new Error('The client has already been closed.');
+      client.close().catch((err) => {
+        throw err;
+      });
+      await assert.rejects(client.pointInTimeRestore(request), expectedError);
+    });
+  });
+  describe('getLocation', () => {
+    it('invokes getLocation without error', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new LocationProtos.google.cloud.location.GetLocationRequest(),
+      );
+      request.name = '';
+      const expectedHeaderRequestParams = 'name=';
+      const expectedOptions = {
+        otherArgs: {
+          headers: {
+            'x-goog-request-params': expectedHeaderRequestParams,
+          },
+        },
+      };
+      const expectedResponse = generateSampleMessage(
+        new LocationProtos.google.cloud.location.Location(),
+      );
+      client.locationsClient.getLocation = stubSimpleCall(expectedResponse);
+      const response = await client.getLocation(request, expectedOptions);
+      assert.deepStrictEqual(response, [expectedResponse]);
+      assert(
+        (client.locationsClient.getLocation as SinonStub)
+          .getCall(0)
+          .calledWith(request, expectedOptions, undefined),
+      );
+    });
+    it('invokes getLocation without error using callback', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new LocationProtos.google.cloud.location.GetLocationRequest(),
+      );
+      request.name = '';
+      const expectedHeaderRequestParams = 'name=';
+      const expectedOptions = {
+        otherArgs: {
+          headers: {
+            'x-goog-request-params': expectedHeaderRequestParams,
+          },
+        },
+      };
+      const expectedResponse = generateSampleMessage(
+        new LocationProtos.google.cloud.location.Location(),
+      );
+      client.locationsClient.getLocation = sinon
+        .stub()
+        .callsArgWith(2, null, expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.getLocation(
+          request,
+          expectedOptions,
+          (
+            err?: Error | null,
+            result?: LocationProtos.google.cloud.location.ILocation | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
+            }
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      assert((client.locationsClient.getLocation as SinonStub).getCall(0));
+    });
+    it('invokes getLocation with error', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new LocationProtos.google.cloud.location.GetLocationRequest(),
+      );
+      request.name = '';
+      const expectedHeaderRequestParams = 'name=';
+      const expectedOptions = {
+        otherArgs: {
+          headers: {
+            'x-goog-request-params': expectedHeaderRequestParams,
+          },
+        },
+      };
+      const expectedError = new Error('expected');
+      client.locationsClient.getLocation = stubSimpleCall(
+        undefined,
+        expectedError,
+      );
+      await assert.rejects(
+        client.getLocation(request, expectedOptions),
+        expectedError,
+      );
+      assert(
+        (client.locationsClient.getLocation as SinonStub)
+          .getCall(0)
+          .calledWith(request, expectedOptions, undefined),
+      );
+    });
+  });
+  describe('listLocationsAsync', () => {
+    it('uses async iteration with listLocations without error', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new LocationProtos.google.cloud.location.ListLocationsRequest(),
+      );
+      request.name = '';
+      const expectedHeaderRequestParams = 'name=';
+      const expectedResponse = [
+        generateSampleMessage(
+          new LocationProtos.google.cloud.location.Location(),
+        ),
+        generateSampleMessage(
+          new LocationProtos.google.cloud.location.Location(),
+        ),
+        generateSampleMessage(
+          new LocationProtos.google.cloud.location.Location(),
+        ),
+      ];
+      client.locationsClient.descriptors.page.listLocations.asyncIterate =
+        stubAsyncIterationCall(expectedResponse);
+      const responses: LocationProtos.google.cloud.location.ILocation[] = [];
+      const iterable = client.listLocationsAsync(request);
+      for await (const resource of iterable) {
+        responses.push(resource!);
+      }
+      assert.deepStrictEqual(responses, expectedResponse);
+      assert.deepStrictEqual(
+        (
+          client.locationsClient.descriptors.page.listLocations
+            .asyncIterate as SinonStub
+        ).getCall(0).args[1],
+        request,
+      );
+      assert(
+        (
+          client.locationsClient.descriptors.page.listLocations
+            .asyncIterate as SinonStub
+        )
+          .getCall(0)
+          .args[2].otherArgs.headers['x-goog-request-params'].includes(
+            expectedHeaderRequestParams,
+          ),
+      );
+    });
+    it('uses async iteration with listLocations with error', async () => {
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new LocationProtos.google.cloud.location.ListLocationsRequest(),
+      );
+      request.name = '';
+      const expectedHeaderRequestParams = 'name=';
+      const expectedError = new Error('expected');
+      client.locationsClient.descriptors.page.listLocations.asyncIterate =
+        stubAsyncIterationCall(undefined, expectedError);
+      const iterable = client.listLocationsAsync(request);
+      await assert.rejects(async () => {
+        const responses: LocationProtos.google.cloud.location.ILocation[] = [];
+        for await (const resource of iterable) {
+          responses.push(resource!);
+        }
+      });
+      assert.deepStrictEqual(
+        (
+          client.locationsClient.descriptors.page.listLocations
+            .asyncIterate as SinonStub
+        ).getCall(0).args[1],
+        request,
+      );
+      assert(
+        (
+          client.locationsClient.descriptors.page.listLocations
+            .asyncIterate as SinonStub
+        )
+          .getCall(0)
+          .args[2].otherArgs.headers['x-goog-request-params'].includes(
+            expectedHeaderRequestParams,
+          ),
+      );
+    });
+  });
+
+  describe('Path templates', () => {
+    describe('backup', async () => {
+      const fakePath = '/rendered/path/backup';
+      const expectedParameters = {
+        project: 'projectValue',
+        backup: 'backupValue',
+      };
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      client.pathTemplates.backupPathTemplate.render = sinon
+        .stub()
+        .returns(fakePath);
+      client.pathTemplates.backupPathTemplate.match = sinon
+        .stub()
+        .returns(expectedParameters);
+
+      it('backupPath', () => {
+        const result = client.backupPath('projectValue', 'backupValue');
+        assert.strictEqual(result, fakePath);
+        assert(
+          (client.pathTemplates.backupPathTemplate.render as SinonStub)
+            .getCall(-1)
+            .calledWith(expectedParameters),
+        );
+      });
+
+      it('matchProjectFromBackupName', () => {
+        const result = client.matchProjectFromBackupName(fakePath);
+        assert.strictEqual(result, 'projectValue');
+        assert(
+          (client.pathTemplates.backupPathTemplate.match as SinonStub)
+            .getCall(-1)
+            .calledWith(fakePath),
+        );
+      });
+
+      it('matchBackupFromBackupName', () => {
+        const result = client.matchBackupFromBackupName(fakePath);
+        assert.strictEqual(result, 'backupValue');
+        assert(
+          (client.pathTemplates.backupPathTemplate.match as SinonStub)
+            .getCall(-1)
+            .calledWith(fakePath),
+        );
+      });
+    });
+
+    describe('project', async () => {
+      const fakePath = '/rendered/path/project';
+      const expectedParameters = {
+        project: 'projectValue',
+      };
+      const client =
+        new sqlinstancesserviceModule.v1beta4.SqlInstancesServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      client.pathTemplates.projectPathTemplate.render = sinon
+        .stub()
+        .returns(fakePath);
+      client.pathTemplates.projectPathTemplate.match = sinon
+        .stub()
+        .returns(expectedParameters);
+
+      it('projectPath', () => {
+        const result = client.projectPath('projectValue');
+        assert.strictEqual(result, fakePath);
+        assert(
+          (client.pathTemplates.projectPathTemplate.render as SinonStub)
+            .getCall(-1)
+            .calledWith(expectedParameters),
+        );
+      });
+
+      it('matchProjectFromProjectName', () => {
+        const result = client.matchProjectFromProjectName(fakePath);
+        assert.strictEqual(result, 'projectValue');
+        assert(
+          (client.pathTemplates.projectPathTemplate.match as SinonStub)
+            .getCall(-1)
+            .calledWith(fakePath),
+        );
+      });
     });
+  });
 });
diff --git a/packages/google-cloud-sql/test/gapic_sql_operations_service_v1.ts b/packages/google-cloud-sql/test/gapic_sql_operations_service_v1.ts
index 5903ce5f34ca..56b5f9690f63 100644
--- a/packages/google-cloud-sql/test/gapic_sql_operations_service_v1.ts
+++ b/packages/google-cloud-sql/test/gapic_sql_operations_service_v1.ts
@@ -19,771 +19,961 @@
 import * as protos from '../protos/protos';
 import * as assert from 'assert';
 import * as sinon from 'sinon';
-import {SinonStub} from 'sinon';
-import {describe, it} from 'mocha';
+import { SinonStub } from 'sinon';
+import { describe, it } from 'mocha';
 import * as sqloperationsserviceModule from '../src';
 
-import {protobuf, LocationProtos} from 'google-gax';
+import { protobuf, LocationProtos } from 'google-gax';
 
 // Dynamically loaded proto JSON is needed to get the type information
 // to fill in default values for request objects
-const root = protobuf.Root.fromJSON(require('../protos/protos.json')).resolveAll();
+const root = protobuf.Root.fromJSON(
+  require('../protos/protos.json'),
+).resolveAll();
 
 // eslint-disable-next-line @typescript-eslint/no-unused-vars
 function getTypeDefaultValue(typeName: string, fields: string[]) {
-    let type = root.lookupType(typeName) as protobuf.Type;
-    for (const field of fields.slice(0, -1)) {
-        type = type.fields[field]?.resolvedType as protobuf.Type;
-    }
-    return type.fields[fields[fields.length - 1]]?.defaultValue;
+  let type = root.lookupType(typeName) as protobuf.Type;
+  for (const field of fields.slice(0, -1)) {
+    type = type.fields[field]?.resolvedType as protobuf.Type;
+  }
+  return type.fields[fields[fields.length - 1]]?.defaultValue;
 }
 
 function generateSampleMessage<T extends object>(instance: T) {
-    const filledObject = (instance.constructor as typeof protobuf.Message)
-        .toObject(instance as protobuf.Message<T>, {defaults: true});
-    return (instance.constructor as typeof protobuf.Message).fromObject(filledObject) as T;
+  const filledObject = (
+    instance.constructor as typeof protobuf.Message
+  ).toObject(instance as protobuf.Message<T>, { defaults: true });
+  return (instance.constructor as typeof protobuf.Message).fromObject(
+    filledObject,
+  ) as T;
 }
 
 function stubSimpleCall<ResponseType>(response?: ResponseType, error?: Error) {
-    return error ? sinon.stub().rejects(error) : sinon.stub().resolves([response]);
+  return error
+    ? sinon.stub().rejects(error)
+    : sinon.stub().resolves([response]);
 }
 
-function stubSimpleCallWithCallback<ResponseType>(response?: ResponseType, error?: Error) {
-    return error ? sinon.stub().callsArgWith(2, error) : sinon.stub().callsArgWith(2, null, response);
+function stubSimpleCallWithCallback<ResponseType>(
+  response?: ResponseType,
+  error?: Error,
+) {
+  return error
+    ? sinon.stub().callsArgWith(2, error)
+    : sinon.stub().callsArgWith(2, null, response);
 }
 
-function stubAsyncIterationCall<ResponseType>(responses?: ResponseType[], error?: Error) {
-    let counter = 0;
-    const asyncIterable = {
-        [Symbol.asyncIterator]() {
-            return {
-                async next() {
-                    if (error) {
-                        return Promise.reject(error);
-                    }
-                    if (counter >= responses!.length) {
-                        return Promise.resolve({done: true, value: undefined});
-                    }
-                    return Promise.resolve({done: false, value: responses![counter++]});
-                }
-            };
-        }
-    };
-    return sinon.stub().returns(asyncIterable);
+function stubAsyncIterationCall<ResponseType>(
+  responses?: ResponseType[],
+  error?: Error,
+) {
+  let counter = 0;
+  const asyncIterable = {
+    [Symbol.asyncIterator]() {
+      return {
+        async next() {
+          if (error) {
+            return Promise.reject(error);
+          }
+          if (counter >= responses!.length) {
+            return Promise.resolve({ done: true, value: undefined });
+          }
+          return Promise.resolve({ done: false, value: responses![counter++] });
+        },
+      };
+    },
+  };
+  return sinon.stub().returns(asyncIterable);
 }
 
 describe('v1.SqlOperationsServiceClient', () => {
-    describe('Common methods', () => {
-        it('has apiEndpoint', () => {
-            const client = new sqloperationsserviceModule.v1.SqlOperationsServiceClient();
-            const apiEndpoint = client.apiEndpoint;
-            assert.strictEqual(apiEndpoint, 'sqladmin.googleapis.com');
-        });
-
-        it('has universeDomain', () => {
-            const client = new sqloperationsserviceModule.v1.SqlOperationsServiceClient();
-            const universeDomain = client.universeDomain;
-            assert.strictEqual(universeDomain, "googleapis.com");
-        });
-
-        if (typeof process === 'object' && typeof process.emitWarning === 'function') {
-            it('throws DeprecationWarning if static servicePath is used', () => {
-                const stub = sinon.stub(process, 'emitWarning');
-                const servicePath = sqloperationsserviceModule.v1.SqlOperationsServiceClient.servicePath;
-                assert.strictEqual(servicePath, 'sqladmin.googleapis.com');
-                assert(stub.called);
-                stub.restore();
-            });
+  describe('Common methods', () => {
+    it('has apiEndpoint', () => {
+      const client =
+        new sqloperationsserviceModule.v1.SqlOperationsServiceClient();
+      const apiEndpoint = client.apiEndpoint;
+      assert.strictEqual(apiEndpoint, 'sqladmin.googleapis.com');
+    });
 
-            it('throws DeprecationWarning if static apiEndpoint is used', () => {
-                const stub = sinon.stub(process, 'emitWarning');
-                const apiEndpoint = sqloperationsserviceModule.v1.SqlOperationsServiceClient.apiEndpoint;
-                assert.strictEqual(apiEndpoint, 'sqladmin.googleapis.com');
-                assert(stub.called);
-                stub.restore();
-            });
-        }
-        it('sets apiEndpoint according to universe domain camelCase', () => {
-            const client = new sqloperationsserviceModule.v1.SqlOperationsServiceClient({universeDomain: 'example.com'});
-            const servicePath = client.apiEndpoint;
-            assert.strictEqual(servicePath, 'sqladmin.example.com');
-        });
-
-        it('sets apiEndpoint according to universe domain snakeCase', () => {
-            const client = new sqloperationsserviceModule.v1.SqlOperationsServiceClient({universe_domain: 'example.com'});
-            const servicePath = client.apiEndpoint;
-            assert.strictEqual(servicePath, 'sqladmin.example.com');
-        });
-
-        if (typeof process === 'object' && 'env' in process) {
-            describe('GOOGLE_CLOUD_UNIVERSE_DOMAIN environment variable', () => {
-                it('sets apiEndpoint from environment variable', () => {
-                    const saved = process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
-                    process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = 'example.com';
-                    const client = new sqloperationsserviceModule.v1.SqlOperationsServiceClient();
-                    const servicePath = client.apiEndpoint;
-                    assert.strictEqual(servicePath, 'sqladmin.example.com');
-                    if (saved) {
-                        process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = saved;
-                    } else {
-                        delete process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
-                    }
-                });
-
-                it('value configured in code has priority over environment variable', () => {
-                    const saved = process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
-                    process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = 'example.com';
-                    const client = new sqloperationsserviceModule.v1.SqlOperationsServiceClient({universeDomain: 'configured.example.com'});
-                    const servicePath = client.apiEndpoint;
-                    assert.strictEqual(servicePath, 'sqladmin.configured.example.com');
-                    if (saved) {
-                        process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = saved;
-                    } else {
-                        delete process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
-                    }
-                });
-            });
-        }
-        it('does not allow setting both universeDomain and universe_domain', () => {
-            assert.throws(() => { new sqloperationsserviceModule.v1.SqlOperationsServiceClient({universe_domain: 'example.com', universeDomain: 'example.net'}); });
+    it('has universeDomain', () => {
+      const client =
+        new sqloperationsserviceModule.v1.SqlOperationsServiceClient();
+      const universeDomain = client.universeDomain;
+      assert.strictEqual(universeDomain, 'googleapis.com');
+    });
+
+    if (
+      typeof process === 'object' &&
+      typeof process.emitWarning === 'function'
+    ) {
+      it('throws DeprecationWarning if static servicePath is used', () => {
+        const stub = sinon.stub(process, 'emitWarning');
+        const servicePath =
+          sqloperationsserviceModule.v1.SqlOperationsServiceClient.servicePath;
+        assert.strictEqual(servicePath, 'sqladmin.googleapis.com');
+        assert(stub.called);
+        stub.restore();
+      });
+
+      it('throws DeprecationWarning if static apiEndpoint is used', () => {
+        const stub = sinon.stub(process, 'emitWarning');
+        const apiEndpoint =
+          sqloperationsserviceModule.v1.SqlOperationsServiceClient.apiEndpoint;
+        assert.strictEqual(apiEndpoint, 'sqladmin.googleapis.com');
+        assert(stub.called);
+        stub.restore();
+      });
+    }
+    it('sets apiEndpoint according to universe domain camelCase', () => {
+      const client =
+        new sqloperationsserviceModule.v1.SqlOperationsServiceClient({
+          universeDomain: 'example.com',
         });
+      const servicePath = client.apiEndpoint;
+      assert.strictEqual(servicePath, 'sqladmin.example.com');
+    });
 
-        it('has port', () => {
-            const port = sqloperationsserviceModule.v1.SqlOperationsServiceClient.port;
-            assert(port);
-            assert(typeof port === 'number');
+    it('sets apiEndpoint according to universe domain snakeCase', () => {
+      const client =
+        new sqloperationsserviceModule.v1.SqlOperationsServiceClient({
+          universe_domain: 'example.com',
         });
+      const servicePath = client.apiEndpoint;
+      assert.strictEqual(servicePath, 'sqladmin.example.com');
+    });
 
-        it('should create a client with no option', () => {
-            const client = new sqloperationsserviceModule.v1.SqlOperationsServiceClient();
-            assert(client);
+    if (typeof process === 'object' && 'env' in process) {
+      describe('GOOGLE_CLOUD_UNIVERSE_DOMAIN environment variable', () => {
+        it('sets apiEndpoint from environment variable', () => {
+          const saved = process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
+          process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = 'example.com';
+          const client =
+            new sqloperationsserviceModule.v1.SqlOperationsServiceClient();
+          const servicePath = client.apiEndpoint;
+          assert.strictEqual(servicePath, 'sqladmin.example.com');
+          if (saved) {
+            process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = saved;
+          } else {
+            delete process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
+          }
         });
 
-        it('should create a client with gRPC fallback', () => {
-            const client = new sqloperationsserviceModule.v1.SqlOperationsServiceClient({
-                fallback: true,
-            });
-            assert(client);
+        it('value configured in code has priority over environment variable', () => {
+          const saved = process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
+          process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = 'example.com';
+          const client =
+            new sqloperationsserviceModule.v1.SqlOperationsServiceClient({
+              universeDomain: 'configured.example.com',
+            });
+          const servicePath = client.apiEndpoint;
+          assert.strictEqual(servicePath, 'sqladmin.configured.example.com');
+          if (saved) {
+            process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = saved;
+          } else {
+            delete process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
+          }
+        });
+      });
+    }
+    it('does not allow setting both universeDomain and universe_domain', () => {
+      assert.throws(() => {
+        new sqloperationsserviceModule.v1.SqlOperationsServiceClient({
+          universe_domain: 'example.com',
+          universeDomain: 'example.net',
         });
+      });
+    });
 
-        it('has initialize method and supports deferred initialization', async () => {
-            const client = new sqloperationsserviceModule.v1.SqlOperationsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            assert.strictEqual(client.sqlOperationsServiceStub, undefined);
-            await client.initialize();
-            assert(client.sqlOperationsServiceStub);
+    it('has port', () => {
+      const port =
+        sqloperationsserviceModule.v1.SqlOperationsServiceClient.port;
+      assert(port);
+      assert(typeof port === 'number');
+    });
+
+    it('should create a client with no option', () => {
+      const client =
+        new sqloperationsserviceModule.v1.SqlOperationsServiceClient();
+      assert(client);
+    });
+
+    it('should create a client with gRPC fallback', () => {
+      const client =
+        new sqloperationsserviceModule.v1.SqlOperationsServiceClient({
+          fallback: true,
         });
+      assert(client);
+    });
 
-        it('has close method for the initialized client', done => {
-            const client = new sqloperationsserviceModule.v1.SqlOperationsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            client.initialize().catch(err => {throw err});
-            assert(client.sqlOperationsServiceStub);
-            client.close().then(() => {
-                done();
-            }).catch(err => {throw err});
+    it('has initialize method and supports deferred initialization', async () => {
+      const client =
+        new sqloperationsserviceModule.v1.SqlOperationsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
         });
+      assert.strictEqual(client.sqlOperationsServiceStub, undefined);
+      await client.initialize();
+      assert(client.sqlOperationsServiceStub);
+    });
 
-        it('has close method for the non-initialized client', done => {
-            const client = new sqloperationsserviceModule.v1.SqlOperationsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            assert.strictEqual(client.sqlOperationsServiceStub, undefined);
-            client.close().then(() => {
-                done();
-            }).catch(err => {throw err});
+    it('has close method for the initialized client', (done) => {
+      const client =
+        new sqloperationsserviceModule.v1.SqlOperationsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      client.initialize().catch((err) => {
+        throw err;
+      });
+      assert(client.sqlOperationsServiceStub);
+      client
+        .close()
+        .then(() => {
+          done();
+        })
+        .catch((err) => {
+          throw err;
         });
+    });
 
-        it('has getProjectId method', async () => {
-            const fakeProjectId = 'fake-project-id';
-            const client = new sqloperationsserviceModule.v1.SqlOperationsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            client.auth.getProjectId = sinon.stub().resolves(fakeProjectId);
-            const result = await client.getProjectId();
-            assert.strictEqual(result, fakeProjectId);
-            assert((client.auth.getProjectId as SinonStub).calledWithExactly());
+    it('has close method for the non-initialized client', (done) => {
+      const client =
+        new sqloperationsserviceModule.v1.SqlOperationsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      assert.strictEqual(client.sqlOperationsServiceStub, undefined);
+      client
+        .close()
+        .then(() => {
+          done();
+        })
+        .catch((err) => {
+          throw err;
         });
+    });
 
-        it('has getProjectId method with callback', async () => {
-            const fakeProjectId = 'fake-project-id';
-            const client = new sqloperationsserviceModule.v1.SqlOperationsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            client.auth.getProjectId = sinon.stub().callsArgWith(0, null, fakeProjectId);
-            const promise = new Promise((resolve, reject) => {
-                client.getProjectId((err?: Error|null, projectId?: string|null) => {
-                    if (err) {
-                        reject(err);
-                    } else {
-                        resolve(projectId);
-                    }
-                });
-            });
-            const result = await promise;
-            assert.strictEqual(result, fakeProjectId);
+    it('has getProjectId method', async () => {
+      const fakeProjectId = 'fake-project-id';
+      const client =
+        new sqloperationsserviceModule.v1.SqlOperationsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
         });
+      client.auth.getProjectId = sinon.stub().resolves(fakeProjectId);
+      const result = await client.getProjectId();
+      assert.strictEqual(result, fakeProjectId);
+      assert((client.auth.getProjectId as SinonStub).calledWithExactly());
     });
 
-    describe('get', () => {
-        it('invokes get without error', async () => {
-            const client = new sqloperationsserviceModule.v1.SqlOperationsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlOperationsGetRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlOperationsGetRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlOperationsGetRequest', ['operation']);
-            request.operation = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&operation=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1.Operation()
-            );
-            client.innerApiCalls.get = stubSimpleCall(expectedResponse);
-            const [response] = await client.get(request);
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.get as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.get as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes get without error using callback', async () => {
-            const client = new sqloperationsserviceModule.v1.SqlOperationsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlOperationsGetRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlOperationsGetRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlOperationsGetRequest', ['operation']);
-            request.operation = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&operation=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1.Operation()
-            );
-            client.innerApiCalls.get = stubSimpleCallWithCallback(expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.get(
-                    request,
-                    (err?: Error|null, result?: protos.google.cloud.sql.v1.IOperation|null) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.get as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.get as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes get with error', async () => {
-            const client = new sqloperationsserviceModule.v1.SqlOperationsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlOperationsGetRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlOperationsGetRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlOperationsGetRequest', ['operation']);
-            request.operation = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&operation=${defaultValue2 ?? '' }`;
-            const expectedError = new Error('expected');
-            client.innerApiCalls.get = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.get(request), expectedError);
-            const actualRequest = (client.innerApiCalls.get as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.get as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes get with closed client', async () => {
-            const client = new sqloperationsserviceModule.v1.SqlOperationsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlOperationsGetRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlOperationsGetRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlOperationsGetRequest', ['operation']);
-            request.operation = defaultValue2;
-            const expectedError = new Error('The client has already been closed.');
-            client.close().catch(err => {throw err});
-            await assert.rejects(client.get(request), expectedError);
+    it('has getProjectId method with callback', async () => {
+      const fakeProjectId = 'fake-project-id';
+      const client =
+        new sqloperationsserviceModule.v1.SqlOperationsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      client.auth.getProjectId = sinon
+        .stub()
+        .callsArgWith(0, null, fakeProjectId);
+      const promise = new Promise((resolve, reject) => {
+        client.getProjectId((err?: Error | null, projectId?: string | null) => {
+          if (err) {
+            reject(err);
+          } else {
+            resolve(projectId);
+          }
         });
+      });
+      const result = await promise;
+      assert.strictEqual(result, fakeProjectId);
+    });
+  });
+
+  describe('get', () => {
+    it('invokes get without error', async () => {
+      const client =
+        new sqloperationsserviceModule.v1.SqlOperationsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlOperationsGetRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlOperationsGetRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlOperationsGetRequest',
+        ['operation'],
+      );
+      request.operation = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&operation=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1.Operation(),
+      );
+      client.innerApiCalls.get = stubSimpleCall(expectedResponse);
+      const [response] = await client.get(request);
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (client.innerApiCalls.get as SinonStub).getCall(0)
+        .args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.get as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
     });
 
-    describe('list', () => {
-        it('invokes list without error', async () => {
-            const client = new sqloperationsserviceModule.v1.SqlOperationsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlOperationsListRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlOperationsListRequest', ['project']);
-            request.project = defaultValue1;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1.OperationsListResponse()
-            );
-            client.innerApiCalls.list = stubSimpleCall(expectedResponse);
-            const [response] = await client.list(request);
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.list as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.list as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes list without error using callback', async () => {
-            const client = new sqloperationsserviceModule.v1.SqlOperationsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlOperationsListRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlOperationsListRequest', ['project']);
-            request.project = defaultValue1;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1.OperationsListResponse()
-            );
-            client.innerApiCalls.list = stubSimpleCallWithCallback(expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.list(
-                    request,
-                    (err?: Error|null, result?: protos.google.cloud.sql.v1.IOperationsListResponse|null) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.list as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.list as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes list with error', async () => {
-            const client = new sqloperationsserviceModule.v1.SqlOperationsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlOperationsListRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlOperationsListRequest', ['project']);
-            request.project = defaultValue1;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }`;
-            const expectedError = new Error('expected');
-            client.innerApiCalls.list = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.list(request), expectedError);
-            const actualRequest = (client.innerApiCalls.list as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.list as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes list with closed client', async () => {
-            const client = new sqloperationsserviceModule.v1.SqlOperationsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlOperationsListRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlOperationsListRequest', ['project']);
-            request.project = defaultValue1;
-            const expectedError = new Error('The client has already been closed.');
-            client.close().catch(err => {throw err});
-            await assert.rejects(client.list(request), expectedError);
+    it('invokes get without error using callback', async () => {
+      const client =
+        new sqloperationsserviceModule.v1.SqlOperationsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlOperationsGetRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlOperationsGetRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlOperationsGetRequest',
+        ['operation'],
+      );
+      request.operation = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&operation=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1.Operation(),
+      );
+      client.innerApiCalls.get = stubSimpleCallWithCallback(expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.get(
+          request,
+          (
+            err?: Error | null,
+            result?: protos.google.cloud.sql.v1.IOperation | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
+            }
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (client.innerApiCalls.get as SinonStub).getCall(0)
+        .args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.get as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes get with error', async () => {
+      const client =
+        new sqloperationsserviceModule.v1.SqlOperationsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
         });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlOperationsGetRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlOperationsGetRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlOperationsGetRequest',
+        ['operation'],
+      );
+      request.operation = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&operation=${defaultValue2 ?? ''}`;
+      const expectedError = new Error('expected');
+      client.innerApiCalls.get = stubSimpleCall(undefined, expectedError);
+      await assert.rejects(client.get(request), expectedError);
+      const actualRequest = (client.innerApiCalls.get as SinonStub).getCall(0)
+        .args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.get as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
     });
 
-    describe('cancel', () => {
-        it('invokes cancel without error', async () => {
-            const client = new sqloperationsserviceModule.v1.SqlOperationsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlOperationsCancelRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlOperationsCancelRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlOperationsCancelRequest', ['operation']);
-            request.operation = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&operation=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.protobuf.Empty()
-            );
-            client.innerApiCalls.cancel = stubSimpleCall(expectedResponse);
-            const [response] = await client.cancel(request);
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.cancel as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.cancel as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes cancel without error using callback', async () => {
-            const client = new sqloperationsserviceModule.v1.SqlOperationsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlOperationsCancelRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlOperationsCancelRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlOperationsCancelRequest', ['operation']);
-            request.operation = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&operation=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.protobuf.Empty()
-            );
-            client.innerApiCalls.cancel = stubSimpleCallWithCallback(expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.cancel(
-                    request,
-                    (err?: Error|null, result?: protos.google.protobuf.IEmpty|null) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.cancel as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.cancel as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes cancel with error', async () => {
-            const client = new sqloperationsserviceModule.v1.SqlOperationsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlOperationsCancelRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlOperationsCancelRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlOperationsCancelRequest', ['operation']);
-            request.operation = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&operation=${defaultValue2 ?? '' }`;
-            const expectedError = new Error('expected');
-            client.innerApiCalls.cancel = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.cancel(request), expectedError);
-            const actualRequest = (client.innerApiCalls.cancel as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.cancel as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes cancel with closed client', async () => {
-            const client = new sqloperationsserviceModule.v1.SqlOperationsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlOperationsCancelRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlOperationsCancelRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlOperationsCancelRequest', ['operation']);
-            request.operation = defaultValue2;
-            const expectedError = new Error('The client has already been closed.');
-            client.close().catch(err => {throw err});
-            await assert.rejects(client.cancel(request), expectedError);
+    it('invokes get with closed client', async () => {
+      const client =
+        new sqloperationsserviceModule.v1.SqlOperationsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
         });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlOperationsGetRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlOperationsGetRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlOperationsGetRequest',
+        ['operation'],
+      );
+      request.operation = defaultValue2;
+      const expectedError = new Error('The client has already been closed.');
+      client.close().catch((err) => {
+        throw err;
+      });
+      await assert.rejects(client.get(request), expectedError);
     });
-    describe('getLocation', () => {
-        it('invokes getLocation without error', async () => {
-            const client = new sqloperationsserviceModule.v1.SqlOperationsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new LocationProtos.google.cloud.location.GetLocationRequest()
-            );
-            request.name = '';
-            const expectedHeaderRequestParams = 'name=';
-            const expectedOptions = {
-                otherArgs: {
-                    headers: {
-                        'x-goog-request-params': expectedHeaderRequestParams,
-                    },
-                },
-            };
-            const expectedResponse = generateSampleMessage(
-              new LocationProtos.google.cloud.location.Location()
-            );
-            client.locationsClient.getLocation = stubSimpleCall(expectedResponse);
-            const response = await client.getLocation(request, expectedOptions);
-            assert.deepStrictEqual(response, [expectedResponse]);
-            assert((client.locationsClient.getLocation as SinonStub)
-                .getCall(0).calledWith(request, expectedOptions, undefined));
-        });
-        it('invokes getLocation without error using callback', async () => {
-            const client = new sqloperationsserviceModule.v1.SqlOperationsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new LocationProtos.google.cloud.location.GetLocationRequest()
-            );
-            request.name = '';
-            const expectedHeaderRequestParams = 'name=';
-            const expectedOptions = {
-                otherArgs: {
-                    headers: {
-                        'x-goog-request-params': expectedHeaderRequestParams,
-                    },
-                },
-            };
-            const expectedResponse = generateSampleMessage(
-              new LocationProtos.google.cloud.location.Location()
-            );
-            client.locationsClient.getLocation = sinon.stub().callsArgWith(2, null, expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.getLocation(
-                    request,
-                    expectedOptions,
-                    (
-                        err?: Error | null,
-                        result?: LocationProtos.google.cloud.location.ILocation | null
-                    ) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            assert((client.locationsClient.getLocation as SinonStub)
-                .getCall(0));
-        });
-        it('invokes getLocation with error', async () => {
-            const client = new sqloperationsserviceModule.v1.SqlOperationsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new LocationProtos.google.cloud.location.GetLocationRequest()
-            );
-            request.name = '';
-            const expectedHeaderRequestParams = 'name=';
-            const expectedOptions = {
-                otherArgs: {
-                    headers: {
-                        'x-goog-request-params': expectedHeaderRequestParams,
-                    },
-                },
-            };
-            const expectedError = new Error('expected');
-            client.locationsClient.getLocation = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.getLocation(request, expectedOptions), expectedError);
-            assert((client.locationsClient.getLocation as SinonStub)
-                .getCall(0).calledWith(request, expectedOptions, undefined));
+  });
+
+  describe('list', () => {
+    it('invokes list without error', async () => {
+      const client =
+        new sqloperationsserviceModule.v1.SqlOperationsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
         });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlOperationsListRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlOperationsListRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1.OperationsListResponse(),
+      );
+      client.innerApiCalls.list = stubSimpleCall(expectedResponse);
+      const [response] = await client.list(request);
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (client.innerApiCalls.list as SinonStub).getCall(0)
+        .args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.list as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
     });
-    describe('listLocationsAsync', () => {
-        it('uses async iteration with listLocations without error', async () => {
-            const client = new sqloperationsserviceModule.v1.SqlOperationsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-                new LocationProtos.google.cloud.location.ListLocationsRequest()
-            );
-            request.name = '';
-            const expectedHeaderRequestParams = 'name=';
-            const expectedResponse = [
-                generateSampleMessage(
-                    new LocationProtos.google.cloud.location.Location()
-                ),
-                generateSampleMessage(
-                    new LocationProtos.google.cloud.location.Location()
-                ),
-                generateSampleMessage(
-                    new LocationProtos.google.cloud.location.Location()
-                ),
-            ];
-            client.locationsClient.descriptors.page.listLocations.asyncIterate = stubAsyncIterationCall(expectedResponse);
-            const responses: LocationProtos.google.cloud.location.ILocation[] = [];
-            const iterable = client.listLocationsAsync(request);
-            for await (const resource of iterable) {
-                responses.push(resource!);
+
+    it('invokes list without error using callback', async () => {
+      const client =
+        new sqloperationsserviceModule.v1.SqlOperationsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlOperationsListRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlOperationsListRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1.OperationsListResponse(),
+      );
+      client.innerApiCalls.list = stubSimpleCallWithCallback(expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.list(
+          request,
+          (
+            err?: Error | null,
+            result?: protos.google.cloud.sql.v1.IOperationsListResponse | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
             }
-            assert.deepStrictEqual(responses, expectedResponse);
-            assert.deepStrictEqual(
-                (client.locationsClient.descriptors.page.listLocations.asyncIterate as SinonStub)
-                    .getCall(0).args[1], request);
-            assert(
-                (client.locationsClient.descriptors.page.listLocations.asyncIterate as SinonStub)
-                    .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes(
-                        expectedHeaderRequestParams
-                    )
-            );
-        });
-        it('uses async iteration with listLocations with error', async () => {
-            const client = new sqloperationsserviceModule.v1.SqlOperationsServiceClient({
-                credentials: {client_email: 'bogus', private_key: 'bogus'},
-                projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new LocationProtos.google.cloud.location.ListLocationsRequest()
-            );
-            request.name = '';
-            const expectedHeaderRequestParams = 'name=';
-            const expectedError = new Error('expected');
-            client.locationsClient.descriptors.page.listLocations.asyncIterate = stubAsyncIterationCall(undefined, expectedError);
-            const iterable = client.listLocationsAsync(request);
-            await assert.rejects(async () => {
-                const responses: LocationProtos.google.cloud.location.ILocation[] = [];
-                for await (const resource of iterable) {
-                    responses.push(resource!);
-                }
-            });
-            assert.deepStrictEqual(
-                (client.locationsClient.descriptors.page.listLocations.asyncIterate as SinonStub)
-                    .getCall(0).args[1], request);
-            assert(
-                (client.locationsClient.descriptors.page.listLocations.asyncIterate as SinonStub)
-                    .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes(
-                        expectedHeaderRequestParams
-                    )
-            );
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (client.innerApiCalls.list as SinonStub).getCall(0)
+        .args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.list as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes list with error', async () => {
+      const client =
+        new sqloperationsserviceModule.v1.SqlOperationsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
         });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlOperationsListRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlOperationsListRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}`;
+      const expectedError = new Error('expected');
+      client.innerApiCalls.list = stubSimpleCall(undefined, expectedError);
+      await assert.rejects(client.list(request), expectedError);
+      const actualRequest = (client.innerApiCalls.list as SinonStub).getCall(0)
+        .args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.list as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
     });
 
-    describe('Path templates', () => {
-
-        describe('backup', async () => {
-            const fakePath = "/rendered/path/backup";
-            const expectedParameters = {
-                project: "projectValue",
-                backup: "backupValue",
-            };
-            const client = new sqloperationsserviceModule.v1.SqlOperationsServiceClient({
-                credentials: {client_email: 'bogus', private_key: 'bogus'},
-                projectId: 'bogus',
-            });
-            await client.initialize();
-            client.pathTemplates.backupPathTemplate.render =
-                sinon.stub().returns(fakePath);
-            client.pathTemplates.backupPathTemplate.match =
-                sinon.stub().returns(expectedParameters);
-
-            it('backupPath', () => {
-                const result = client.backupPath("projectValue", "backupValue");
-                assert.strictEqual(result, fakePath);
-                assert((client.pathTemplates.backupPathTemplate.render as SinonStub)
-                    .getCall(-1).calledWith(expectedParameters));
-            });
+    it('invokes list with closed client', async () => {
+      const client =
+        new sqloperationsserviceModule.v1.SqlOperationsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlOperationsListRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlOperationsListRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const expectedError = new Error('The client has already been closed.');
+      client.close().catch((err) => {
+        throw err;
+      });
+      await assert.rejects(client.list(request), expectedError);
+    });
+  });
+
+  describe('cancel', () => {
+    it('invokes cancel without error', async () => {
+      const client =
+        new sqloperationsserviceModule.v1.SqlOperationsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlOperationsCancelRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlOperationsCancelRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlOperationsCancelRequest',
+        ['operation'],
+      );
+      request.operation = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&operation=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.protobuf.Empty(),
+      );
+      client.innerApiCalls.cancel = stubSimpleCall(expectedResponse);
+      const [response] = await client.cancel(request);
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (client.innerApiCalls.cancel as SinonStub).getCall(
+        0,
+      ).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.cancel as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-            it('matchProjectFromBackupName', () => {
-                const result = client.matchProjectFromBackupName(fakePath);
-                assert.strictEqual(result, "projectValue");
-                assert((client.pathTemplates.backupPathTemplate.match as SinonStub)
-                    .getCall(-1).calledWith(fakePath));
-            });
+    it('invokes cancel without error using callback', async () => {
+      const client =
+        new sqloperationsserviceModule.v1.SqlOperationsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlOperationsCancelRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlOperationsCancelRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlOperationsCancelRequest',
+        ['operation'],
+      );
+      request.operation = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&operation=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.protobuf.Empty(),
+      );
+      client.innerApiCalls.cancel =
+        stubSimpleCallWithCallback(expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.cancel(
+          request,
+          (
+            err?: Error | null,
+            result?: protos.google.protobuf.IEmpty | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
+            }
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (client.innerApiCalls.cancel as SinonStub).getCall(
+        0,
+      ).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.cancel as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-            it('matchBackupFromBackupName', () => {
-                const result = client.matchBackupFromBackupName(fakePath);
-                assert.strictEqual(result, "backupValue");
-                assert((client.pathTemplates.backupPathTemplate.match as SinonStub)
-                    .getCall(-1).calledWith(fakePath));
-            });
+    it('invokes cancel with error', async () => {
+      const client =
+        new sqloperationsserviceModule.v1.SqlOperationsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlOperationsCancelRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlOperationsCancelRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlOperationsCancelRequest',
+        ['operation'],
+      );
+      request.operation = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&operation=${defaultValue2 ?? ''}`;
+      const expectedError = new Error('expected');
+      client.innerApiCalls.cancel = stubSimpleCall(undefined, expectedError);
+      await assert.rejects(client.cancel(request), expectedError);
+      const actualRequest = (client.innerApiCalls.cancel as SinonStub).getCall(
+        0,
+      ).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.cancel as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes cancel with closed client', async () => {
+      const client =
+        new sqloperationsserviceModule.v1.SqlOperationsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlOperationsCancelRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlOperationsCancelRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlOperationsCancelRequest',
+        ['operation'],
+      );
+      request.operation = defaultValue2;
+      const expectedError = new Error('The client has already been closed.');
+      client.close().catch((err) => {
+        throw err;
+      });
+      await assert.rejects(client.cancel(request), expectedError);
+    });
+  });
+  describe('getLocation', () => {
+    it('invokes getLocation without error', async () => {
+      const client =
+        new sqloperationsserviceModule.v1.SqlOperationsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new LocationProtos.google.cloud.location.GetLocationRequest(),
+      );
+      request.name = '';
+      const expectedHeaderRequestParams = 'name=';
+      const expectedOptions = {
+        otherArgs: {
+          headers: {
+            'x-goog-request-params': expectedHeaderRequestParams,
+          },
+        },
+      };
+      const expectedResponse = generateSampleMessage(
+        new LocationProtos.google.cloud.location.Location(),
+      );
+      client.locationsClient.getLocation = stubSimpleCall(expectedResponse);
+      const response = await client.getLocation(request, expectedOptions);
+      assert.deepStrictEqual(response, [expectedResponse]);
+      assert(
+        (client.locationsClient.getLocation as SinonStub)
+          .getCall(0)
+          .calledWith(request, expectedOptions, undefined),
+      );
+    });
+    it('invokes getLocation without error using callback', async () => {
+      const client =
+        new sqloperationsserviceModule.v1.SqlOperationsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new LocationProtos.google.cloud.location.GetLocationRequest(),
+      );
+      request.name = '';
+      const expectedHeaderRequestParams = 'name=';
+      const expectedOptions = {
+        otherArgs: {
+          headers: {
+            'x-goog-request-params': expectedHeaderRequestParams,
+          },
+        },
+      };
+      const expectedResponse = generateSampleMessage(
+        new LocationProtos.google.cloud.location.Location(),
+      );
+      client.locationsClient.getLocation = sinon
+        .stub()
+        .callsArgWith(2, null, expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.getLocation(
+          request,
+          expectedOptions,
+          (
+            err?: Error | null,
+            result?: LocationProtos.google.cloud.location.ILocation | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
+            }
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      assert((client.locationsClient.getLocation as SinonStub).getCall(0));
+    });
+    it('invokes getLocation with error', async () => {
+      const client =
+        new sqloperationsserviceModule.v1.SqlOperationsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new LocationProtos.google.cloud.location.GetLocationRequest(),
+      );
+      request.name = '';
+      const expectedHeaderRequestParams = 'name=';
+      const expectedOptions = {
+        otherArgs: {
+          headers: {
+            'x-goog-request-params': expectedHeaderRequestParams,
+          },
+        },
+      };
+      const expectedError = new Error('expected');
+      client.locationsClient.getLocation = stubSimpleCall(
+        undefined,
+        expectedError,
+      );
+      await assert.rejects(
+        client.getLocation(request, expectedOptions),
+        expectedError,
+      );
+      assert(
+        (client.locationsClient.getLocation as SinonStub)
+          .getCall(0)
+          .calledWith(request, expectedOptions, undefined),
+      );
+    });
+  });
+  describe('listLocationsAsync', () => {
+    it('uses async iteration with listLocations without error', async () => {
+      const client =
+        new sqloperationsserviceModule.v1.SqlOperationsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new LocationProtos.google.cloud.location.ListLocationsRequest(),
+      );
+      request.name = '';
+      const expectedHeaderRequestParams = 'name=';
+      const expectedResponse = [
+        generateSampleMessage(
+          new LocationProtos.google.cloud.location.Location(),
+        ),
+        generateSampleMessage(
+          new LocationProtos.google.cloud.location.Location(),
+        ),
+        generateSampleMessage(
+          new LocationProtos.google.cloud.location.Location(),
+        ),
+      ];
+      client.locationsClient.descriptors.page.listLocations.asyncIterate =
+        stubAsyncIterationCall(expectedResponse);
+      const responses: LocationProtos.google.cloud.location.ILocation[] = [];
+      const iterable = client.listLocationsAsync(request);
+      for await (const resource of iterable) {
+        responses.push(resource!);
+      }
+      assert.deepStrictEqual(responses, expectedResponse);
+      assert.deepStrictEqual(
+        (
+          client.locationsClient.descriptors.page.listLocations
+            .asyncIterate as SinonStub
+        ).getCall(0).args[1],
+        request,
+      );
+      assert(
+        (
+          client.locationsClient.descriptors.page.listLocations
+            .asyncIterate as SinonStub
+        )
+          .getCall(0)
+          .args[2].otherArgs.headers['x-goog-request-params'].includes(
+            expectedHeaderRequestParams,
+          ),
+      );
+    });
+    it('uses async iteration with listLocations with error', async () => {
+      const client =
+        new sqloperationsserviceModule.v1.SqlOperationsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new LocationProtos.google.cloud.location.ListLocationsRequest(),
+      );
+      request.name = '';
+      const expectedHeaderRequestParams = 'name=';
+      const expectedError = new Error('expected');
+      client.locationsClient.descriptors.page.listLocations.asyncIterate =
+        stubAsyncIterationCall(undefined, expectedError);
+      const iterable = client.listLocationsAsync(request);
+      await assert.rejects(async () => {
+        const responses: LocationProtos.google.cloud.location.ILocation[] = [];
+        for await (const resource of iterable) {
+          responses.push(resource!);
+        }
+      });
+      assert.deepStrictEqual(
+        (
+          client.locationsClient.descriptors.page.listLocations
+            .asyncIterate as SinonStub
+        ).getCall(0).args[1],
+        request,
+      );
+      assert(
+        (
+          client.locationsClient.descriptors.page.listLocations
+            .asyncIterate as SinonStub
+        )
+          .getCall(0)
+          .args[2].otherArgs.headers['x-goog-request-params'].includes(
+            expectedHeaderRequestParams,
+          ),
+      );
+    });
+  });
+
+  describe('Path templates', () => {
+    describe('backup', async () => {
+      const fakePath = '/rendered/path/backup';
+      const expectedParameters = {
+        project: 'projectValue',
+        backup: 'backupValue',
+      };
+      const client =
+        new sqloperationsserviceModule.v1.SqlOperationsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
         });
+      await client.initialize();
+      client.pathTemplates.backupPathTemplate.render = sinon
+        .stub()
+        .returns(fakePath);
+      client.pathTemplates.backupPathTemplate.match = sinon
+        .stub()
+        .returns(expectedParameters);
+
+      it('backupPath', () => {
+        const result = client.backupPath('projectValue', 'backupValue');
+        assert.strictEqual(result, fakePath);
+        assert(
+          (client.pathTemplates.backupPathTemplate.render as SinonStub)
+            .getCall(-1)
+            .calledWith(expectedParameters),
+        );
+      });
+
+      it('matchProjectFromBackupName', () => {
+        const result = client.matchProjectFromBackupName(fakePath);
+        assert.strictEqual(result, 'projectValue');
+        assert(
+          (client.pathTemplates.backupPathTemplate.match as SinonStub)
+            .getCall(-1)
+            .calledWith(fakePath),
+        );
+      });
+
+      it('matchBackupFromBackupName', () => {
+        const result = client.matchBackupFromBackupName(fakePath);
+        assert.strictEqual(result, 'backupValue');
+        assert(
+          (client.pathTemplates.backupPathTemplate.match as SinonStub)
+            .getCall(-1)
+            .calledWith(fakePath),
+        );
+      });
     });
+  });
 });
diff --git a/packages/google-cloud-sql/test/gapic_sql_operations_service_v1beta4.ts b/packages/google-cloud-sql/test/gapic_sql_operations_service_v1beta4.ts
index 5fca4c39fd70..28cc64f3a40a 100644
--- a/packages/google-cloud-sql/test/gapic_sql_operations_service_v1beta4.ts
+++ b/packages/google-cloud-sql/test/gapic_sql_operations_service_v1beta4.ts
@@ -19,801 +19,1002 @@
 import * as protos from '../protos/protos';
 import * as assert from 'assert';
 import * as sinon from 'sinon';
-import {SinonStub} from 'sinon';
-import {describe, it} from 'mocha';
+import { SinonStub } from 'sinon';
+import { describe, it } from 'mocha';
 import * as sqloperationsserviceModule from '../src';
 
-import {protobuf, LocationProtos} from 'google-gax';
+import { protobuf, LocationProtos } from 'google-gax';
 
 // Dynamically loaded proto JSON is needed to get the type information
 // to fill in default values for request objects
-const root = protobuf.Root.fromJSON(require('../protos/protos.json')).resolveAll();
+const root = protobuf.Root.fromJSON(
+  require('../protos/protos.json'),
+).resolveAll();
 
 // eslint-disable-next-line @typescript-eslint/no-unused-vars
 function getTypeDefaultValue(typeName: string, fields: string[]) {
-    let type = root.lookupType(typeName) as protobuf.Type;
-    for (const field of fields.slice(0, -1)) {
-        type = type.fields[field]?.resolvedType as protobuf.Type;
-    }
-    return type.fields[fields[fields.length - 1]]?.defaultValue;
+  let type = root.lookupType(typeName) as protobuf.Type;
+  for (const field of fields.slice(0, -1)) {
+    type = type.fields[field]?.resolvedType as protobuf.Type;
+  }
+  return type.fields[fields[fields.length - 1]]?.defaultValue;
 }
 
 function generateSampleMessage<T extends object>(instance: T) {
-    const filledObject = (instance.constructor as typeof protobuf.Message)
-        .toObject(instance as protobuf.Message<T>, {defaults: true});
-    return (instance.constructor as typeof protobuf.Message).fromObject(filledObject) as T;
+  const filledObject = (
+    instance.constructor as typeof protobuf.Message
+  ).toObject(instance as protobuf.Message<T>, { defaults: true });
+  return (instance.constructor as typeof protobuf.Message).fromObject(
+    filledObject,
+  ) as T;
 }
 
 function stubSimpleCall<ResponseType>(response?: ResponseType, error?: Error) {
-    return error ? sinon.stub().rejects(error) : sinon.stub().resolves([response]);
+  return error
+    ? sinon.stub().rejects(error)
+    : sinon.stub().resolves([response]);
 }
 
-function stubSimpleCallWithCallback<ResponseType>(response?: ResponseType, error?: Error) {
-    return error ? sinon.stub().callsArgWith(2, error) : sinon.stub().callsArgWith(2, null, response);
+function stubSimpleCallWithCallback<ResponseType>(
+  response?: ResponseType,
+  error?: Error,
+) {
+  return error
+    ? sinon.stub().callsArgWith(2, error)
+    : sinon.stub().callsArgWith(2, null, response);
 }
 
-function stubAsyncIterationCall<ResponseType>(responses?: ResponseType[], error?: Error) {
-    let counter = 0;
-    const asyncIterable = {
-        [Symbol.asyncIterator]() {
-            return {
-                async next() {
-                    if (error) {
-                        return Promise.reject(error);
-                    }
-                    if (counter >= responses!.length) {
-                        return Promise.resolve({done: true, value: undefined});
-                    }
-                    return Promise.resolve({done: false, value: responses![counter++]});
-                }
-            };
-        }
-    };
-    return sinon.stub().returns(asyncIterable);
+function stubAsyncIterationCall<ResponseType>(
+  responses?: ResponseType[],
+  error?: Error,
+) {
+  let counter = 0;
+  const asyncIterable = {
+    [Symbol.asyncIterator]() {
+      return {
+        async next() {
+          if (error) {
+            return Promise.reject(error);
+          }
+          if (counter >= responses!.length) {
+            return Promise.resolve({ done: true, value: undefined });
+          }
+          return Promise.resolve({ done: false, value: responses![counter++] });
+        },
+      };
+    },
+  };
+  return sinon.stub().returns(asyncIterable);
 }
 
 describe('v1beta4.SqlOperationsServiceClient', () => {
-    describe('Common methods', () => {
-        it('has apiEndpoint', () => {
-            const client = new sqloperationsserviceModule.v1beta4.SqlOperationsServiceClient();
-            const apiEndpoint = client.apiEndpoint;
-            assert.strictEqual(apiEndpoint, 'sqladmin.googleapis.com');
-        });
-
-        it('has universeDomain', () => {
-            const client = new sqloperationsserviceModule.v1beta4.SqlOperationsServiceClient();
-            const universeDomain = client.universeDomain;
-            assert.strictEqual(universeDomain, "googleapis.com");
-        });
-
-        if (typeof process === 'object' && typeof process.emitWarning === 'function') {
-            it('throws DeprecationWarning if static servicePath is used', () => {
-                const stub = sinon.stub(process, 'emitWarning');
-                const servicePath = sqloperationsserviceModule.v1beta4.SqlOperationsServiceClient.servicePath;
-                assert.strictEqual(servicePath, 'sqladmin.googleapis.com');
-                assert(stub.called);
-                stub.restore();
-            });
+  describe('Common methods', () => {
+    it('has apiEndpoint', () => {
+      const client =
+        new sqloperationsserviceModule.v1beta4.SqlOperationsServiceClient();
+      const apiEndpoint = client.apiEndpoint;
+      assert.strictEqual(apiEndpoint, 'sqladmin.googleapis.com');
+    });
 
-            it('throws DeprecationWarning if static apiEndpoint is used', () => {
-                const stub = sinon.stub(process, 'emitWarning');
-                const apiEndpoint = sqloperationsserviceModule.v1beta4.SqlOperationsServiceClient.apiEndpoint;
-                assert.strictEqual(apiEndpoint, 'sqladmin.googleapis.com');
-                assert(stub.called);
-                stub.restore();
-            });
-        }
-        it('sets apiEndpoint according to universe domain camelCase', () => {
-            const client = new sqloperationsserviceModule.v1beta4.SqlOperationsServiceClient({universeDomain: 'example.com'});
-            const servicePath = client.apiEndpoint;
-            assert.strictEqual(servicePath, 'sqladmin.example.com');
-        });
-
-        it('sets apiEndpoint according to universe domain snakeCase', () => {
-            const client = new sqloperationsserviceModule.v1beta4.SqlOperationsServiceClient({universe_domain: 'example.com'});
-            const servicePath = client.apiEndpoint;
-            assert.strictEqual(servicePath, 'sqladmin.example.com');
-        });
-
-        if (typeof process === 'object' && 'env' in process) {
-            describe('GOOGLE_CLOUD_UNIVERSE_DOMAIN environment variable', () => {
-                it('sets apiEndpoint from environment variable', () => {
-                    const saved = process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
-                    process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = 'example.com';
-                    const client = new sqloperationsserviceModule.v1beta4.SqlOperationsServiceClient();
-                    const servicePath = client.apiEndpoint;
-                    assert.strictEqual(servicePath, 'sqladmin.example.com');
-                    if (saved) {
-                        process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = saved;
-                    } else {
-                        delete process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
-                    }
-                });
-
-                it('value configured in code has priority over environment variable', () => {
-                    const saved = process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
-                    process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = 'example.com';
-                    const client = new sqloperationsserviceModule.v1beta4.SqlOperationsServiceClient({universeDomain: 'configured.example.com'});
-                    const servicePath = client.apiEndpoint;
-                    assert.strictEqual(servicePath, 'sqladmin.configured.example.com');
-                    if (saved) {
-                        process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = saved;
-                    } else {
-                        delete process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
-                    }
-                });
-            });
-        }
-        it('does not allow setting both universeDomain and universe_domain', () => {
-            assert.throws(() => { new sqloperationsserviceModule.v1beta4.SqlOperationsServiceClient({universe_domain: 'example.com', universeDomain: 'example.net'}); });
-        });
+    it('has universeDomain', () => {
+      const client =
+        new sqloperationsserviceModule.v1beta4.SqlOperationsServiceClient();
+      const universeDomain = client.universeDomain;
+      assert.strictEqual(universeDomain, 'googleapis.com');
+    });
 
-        it('has port', () => {
-            const port = sqloperationsserviceModule.v1beta4.SqlOperationsServiceClient.port;
-            assert(port);
-            assert(typeof port === 'number');
+    if (
+      typeof process === 'object' &&
+      typeof process.emitWarning === 'function'
+    ) {
+      it('throws DeprecationWarning if static servicePath is used', () => {
+        const stub = sinon.stub(process, 'emitWarning');
+        const servicePath =
+          sqloperationsserviceModule.v1beta4.SqlOperationsServiceClient
+            .servicePath;
+        assert.strictEqual(servicePath, 'sqladmin.googleapis.com');
+        assert(stub.called);
+        stub.restore();
+      });
+
+      it('throws DeprecationWarning if static apiEndpoint is used', () => {
+        const stub = sinon.stub(process, 'emitWarning');
+        const apiEndpoint =
+          sqloperationsserviceModule.v1beta4.SqlOperationsServiceClient
+            .apiEndpoint;
+        assert.strictEqual(apiEndpoint, 'sqladmin.googleapis.com');
+        assert(stub.called);
+        stub.restore();
+      });
+    }
+    it('sets apiEndpoint according to universe domain camelCase', () => {
+      const client =
+        new sqloperationsserviceModule.v1beta4.SqlOperationsServiceClient({
+          universeDomain: 'example.com',
         });
+      const servicePath = client.apiEndpoint;
+      assert.strictEqual(servicePath, 'sqladmin.example.com');
+    });
 
-        it('should create a client with no option', () => {
-            const client = new sqloperationsserviceModule.v1beta4.SqlOperationsServiceClient();
-            assert(client);
+    it('sets apiEndpoint according to universe domain snakeCase', () => {
+      const client =
+        new sqloperationsserviceModule.v1beta4.SqlOperationsServiceClient({
+          universe_domain: 'example.com',
         });
+      const servicePath = client.apiEndpoint;
+      assert.strictEqual(servicePath, 'sqladmin.example.com');
+    });
 
-        it('should create a client with gRPC fallback', () => {
-            const client = new sqloperationsserviceModule.v1beta4.SqlOperationsServiceClient({
-                fallback: true,
-            });
-            assert(client);
+    if (typeof process === 'object' && 'env' in process) {
+      describe('GOOGLE_CLOUD_UNIVERSE_DOMAIN environment variable', () => {
+        it('sets apiEndpoint from environment variable', () => {
+          const saved = process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
+          process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = 'example.com';
+          const client =
+            new sqloperationsserviceModule.v1beta4.SqlOperationsServiceClient();
+          const servicePath = client.apiEndpoint;
+          assert.strictEqual(servicePath, 'sqladmin.example.com');
+          if (saved) {
+            process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = saved;
+          } else {
+            delete process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
+          }
+        });
+
+        it('value configured in code has priority over environment variable', () => {
+          const saved = process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
+          process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = 'example.com';
+          const client =
+            new sqloperationsserviceModule.v1beta4.SqlOperationsServiceClient({
+              universeDomain: 'configured.example.com',
+            });
+          const servicePath = client.apiEndpoint;
+          assert.strictEqual(servicePath, 'sqladmin.configured.example.com');
+          if (saved) {
+            process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = saved;
+          } else {
+            delete process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
+          }
+        });
+      });
+    }
+    it('does not allow setting both universeDomain and universe_domain', () => {
+      assert.throws(() => {
+        new sqloperationsserviceModule.v1beta4.SqlOperationsServiceClient({
+          universe_domain: 'example.com',
+          universeDomain: 'example.net',
         });
+      });
+    });
 
-        it('has initialize method and supports deferred initialization', async () => {
-            const client = new sqloperationsserviceModule.v1beta4.SqlOperationsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            assert.strictEqual(client.sqlOperationsServiceStub, undefined);
-            await client.initialize();
-            assert(client.sqlOperationsServiceStub);
-        });
+    it('has port', () => {
+      const port =
+        sqloperationsserviceModule.v1beta4.SqlOperationsServiceClient.port;
+      assert(port);
+      assert(typeof port === 'number');
+    });
 
-        it('has close method for the initialized client', done => {
-            const client = new sqloperationsserviceModule.v1beta4.SqlOperationsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            client.initialize().catch(err => {throw err});
-            assert(client.sqlOperationsServiceStub);
-            client.close().then(() => {
-                done();
-            }).catch(err => {throw err});
+    it('should create a client with no option', () => {
+      const client =
+        new sqloperationsserviceModule.v1beta4.SqlOperationsServiceClient();
+      assert(client);
+    });
+
+    it('should create a client with gRPC fallback', () => {
+      const client =
+        new sqloperationsserviceModule.v1beta4.SqlOperationsServiceClient({
+          fallback: true,
         });
+      assert(client);
+    });
 
-        it('has close method for the non-initialized client', done => {
-            const client = new sqloperationsserviceModule.v1beta4.SqlOperationsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            assert.strictEqual(client.sqlOperationsServiceStub, undefined);
-            client.close().then(() => {
-                done();
-            }).catch(err => {throw err});
+    it('has initialize method and supports deferred initialization', async () => {
+      const client =
+        new sqloperationsserviceModule.v1beta4.SqlOperationsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
         });
+      assert.strictEqual(client.sqlOperationsServiceStub, undefined);
+      await client.initialize();
+      assert(client.sqlOperationsServiceStub);
+    });
 
-        it('has getProjectId method', async () => {
-            const fakeProjectId = 'fake-project-id';
-            const client = new sqloperationsserviceModule.v1beta4.SqlOperationsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            client.auth.getProjectId = sinon.stub().resolves(fakeProjectId);
-            const result = await client.getProjectId();
-            assert.strictEqual(result, fakeProjectId);
-            assert((client.auth.getProjectId as SinonStub).calledWithExactly());
+    it('has close method for the initialized client', (done) => {
+      const client =
+        new sqloperationsserviceModule.v1beta4.SqlOperationsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      client.initialize().catch((err) => {
+        throw err;
+      });
+      assert(client.sqlOperationsServiceStub);
+      client
+        .close()
+        .then(() => {
+          done();
+        })
+        .catch((err) => {
+          throw err;
         });
+    });
 
-        it('has getProjectId method with callback', async () => {
-            const fakeProjectId = 'fake-project-id';
-            const client = new sqloperationsserviceModule.v1beta4.SqlOperationsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            client.auth.getProjectId = sinon.stub().callsArgWith(0, null, fakeProjectId);
-            const promise = new Promise((resolve, reject) => {
-                client.getProjectId((err?: Error|null, projectId?: string|null) => {
-                    if (err) {
-                        reject(err);
-                    } else {
-                        resolve(projectId);
-                    }
-                });
-            });
-            const result = await promise;
-            assert.strictEqual(result, fakeProjectId);
+    it('has close method for the non-initialized client', (done) => {
+      const client =
+        new sqloperationsserviceModule.v1beta4.SqlOperationsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      assert.strictEqual(client.sqlOperationsServiceStub, undefined);
+      client
+        .close()
+        .then(() => {
+          done();
+        })
+        .catch((err) => {
+          throw err;
         });
     });
 
-    describe('get', () => {
-        it('invokes get without error', async () => {
-            const client = new sqloperationsserviceModule.v1beta4.SqlOperationsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlOperationsGetRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlOperationsGetRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlOperationsGetRequest', ['operation']);
-            request.operation = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&operation=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.Operation()
-            );
-            client.innerApiCalls.get = stubSimpleCall(expectedResponse);
-            const [response] = await client.get(request);
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.get as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.get as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes get without error using callback', async () => {
-            const client = new sqloperationsserviceModule.v1beta4.SqlOperationsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlOperationsGetRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlOperationsGetRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlOperationsGetRequest', ['operation']);
-            request.operation = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&operation=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.Operation()
-            );
-            client.innerApiCalls.get = stubSimpleCallWithCallback(expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.get(
-                    request,
-                    (err?: Error|null, result?: protos.google.cloud.sql.v1beta4.IOperation|null) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.get as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.get as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes get with error', async () => {
-            const client = new sqloperationsserviceModule.v1beta4.SqlOperationsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlOperationsGetRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlOperationsGetRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlOperationsGetRequest', ['operation']);
-            request.operation = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&operation=${defaultValue2 ?? '' }`;
-            const expectedError = new Error('expected');
-            client.innerApiCalls.get = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.get(request), expectedError);
-            const actualRequest = (client.innerApiCalls.get as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.get as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes get with closed client', async () => {
-            const client = new sqloperationsserviceModule.v1beta4.SqlOperationsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlOperationsGetRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlOperationsGetRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlOperationsGetRequest', ['operation']);
-            request.operation = defaultValue2;
-            const expectedError = new Error('The client has already been closed.');
-            client.close().catch(err => {throw err});
-            await assert.rejects(client.get(request), expectedError);
-        });
-    });
-
-    describe('list', () => {
-        it('invokes list without error', async () => {
-            const client = new sqloperationsserviceModule.v1beta4.SqlOperationsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlOperationsListRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlOperationsListRequest', ['project']);
-            request.project = defaultValue1;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.OperationsListResponse()
-            );
-            client.innerApiCalls.list = stubSimpleCall(expectedResponse);
-            const [response] = await client.list(request);
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.list as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.list as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes list without error using callback', async () => {
-            const client = new sqloperationsserviceModule.v1beta4.SqlOperationsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlOperationsListRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlOperationsListRequest', ['project']);
-            request.project = defaultValue1;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.OperationsListResponse()
-            );
-            client.innerApiCalls.list = stubSimpleCallWithCallback(expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.list(
-                    request,
-                    (err?: Error|null, result?: protos.google.cloud.sql.v1beta4.IOperationsListResponse|null) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.list as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.list as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes list with error', async () => {
-            const client = new sqloperationsserviceModule.v1beta4.SqlOperationsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlOperationsListRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlOperationsListRequest', ['project']);
-            request.project = defaultValue1;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }`;
-            const expectedError = new Error('expected');
-            client.innerApiCalls.list = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.list(request), expectedError);
-            const actualRequest = (client.innerApiCalls.list as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.list as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes list with closed client', async () => {
-            const client = new sqloperationsserviceModule.v1beta4.SqlOperationsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlOperationsListRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlOperationsListRequest', ['project']);
-            request.project = defaultValue1;
-            const expectedError = new Error('The client has already been closed.');
-            client.close().catch(err => {throw err});
-            await assert.rejects(client.list(request), expectedError);
-        });
-    });
-
-    describe('cancel', () => {
-        it('invokes cancel without error', async () => {
-            const client = new sqloperationsserviceModule.v1beta4.SqlOperationsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlOperationsCancelRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlOperationsCancelRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlOperationsCancelRequest', ['operation']);
-            request.operation = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&operation=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.protobuf.Empty()
-            );
-            client.innerApiCalls.cancel = stubSimpleCall(expectedResponse);
-            const [response] = await client.cancel(request);
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.cancel as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.cancel as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes cancel without error using callback', async () => {
-            const client = new sqloperationsserviceModule.v1beta4.SqlOperationsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlOperationsCancelRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlOperationsCancelRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlOperationsCancelRequest', ['operation']);
-            request.operation = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&operation=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.protobuf.Empty()
-            );
-            client.innerApiCalls.cancel = stubSimpleCallWithCallback(expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.cancel(
-                    request,
-                    (err?: Error|null, result?: protos.google.protobuf.IEmpty|null) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.cancel as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.cancel as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes cancel with error', async () => {
-            const client = new sqloperationsserviceModule.v1beta4.SqlOperationsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlOperationsCancelRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlOperationsCancelRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlOperationsCancelRequest', ['operation']);
-            request.operation = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&operation=${defaultValue2 ?? '' }`;
-            const expectedError = new Error('expected');
-            client.innerApiCalls.cancel = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.cancel(request), expectedError);
-            const actualRequest = (client.innerApiCalls.cancel as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.cancel as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes cancel with closed client', async () => {
-            const client = new sqloperationsserviceModule.v1beta4.SqlOperationsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlOperationsCancelRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlOperationsCancelRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlOperationsCancelRequest', ['operation']);
-            request.operation = defaultValue2;
-            const expectedError = new Error('The client has already been closed.');
-            client.close().catch(err => {throw err});
-            await assert.rejects(client.cancel(request), expectedError);
-        });
-    });
-    describe('getLocation', () => {
-        it('invokes getLocation without error', async () => {
-            const client = new sqloperationsserviceModule.v1beta4.SqlOperationsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new LocationProtos.google.cloud.location.GetLocationRequest()
-            );
-            request.name = '';
-            const expectedHeaderRequestParams = 'name=';
-            const expectedOptions = {
-                otherArgs: {
-                    headers: {
-                        'x-goog-request-params': expectedHeaderRequestParams,
-                    },
-                },
-            };
-            const expectedResponse = generateSampleMessage(
-              new LocationProtos.google.cloud.location.Location()
-            );
-            client.locationsClient.getLocation = stubSimpleCall(expectedResponse);
-            const response = await client.getLocation(request, expectedOptions);
-            assert.deepStrictEqual(response, [expectedResponse]);
-            assert((client.locationsClient.getLocation as SinonStub)
-                .getCall(0).calledWith(request, expectedOptions, undefined));
-        });
-        it('invokes getLocation without error using callback', async () => {
-            const client = new sqloperationsserviceModule.v1beta4.SqlOperationsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new LocationProtos.google.cloud.location.GetLocationRequest()
-            );
-            request.name = '';
-            const expectedHeaderRequestParams = 'name=';
-            const expectedOptions = {
-                otherArgs: {
-                    headers: {
-                        'x-goog-request-params': expectedHeaderRequestParams,
-                    },
-                },
-            };
-            const expectedResponse = generateSampleMessage(
-              new LocationProtos.google.cloud.location.Location()
-            );
-            client.locationsClient.getLocation = sinon.stub().callsArgWith(2, null, expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.getLocation(
-                    request,
-                    expectedOptions,
-                    (
-                        err?: Error | null,
-                        result?: LocationProtos.google.cloud.location.ILocation | null
-                    ) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            assert((client.locationsClient.getLocation as SinonStub)
-                .getCall(0));
-        });
-        it('invokes getLocation with error', async () => {
-            const client = new sqloperationsserviceModule.v1beta4.SqlOperationsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new LocationProtos.google.cloud.location.GetLocationRequest()
-            );
-            request.name = '';
-            const expectedHeaderRequestParams = 'name=';
-            const expectedOptions = {
-                otherArgs: {
-                    headers: {
-                        'x-goog-request-params': expectedHeaderRequestParams,
-                    },
-                },
-            };
-            const expectedError = new Error('expected');
-            client.locationsClient.getLocation = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.getLocation(request, expectedOptions), expectedError);
-            assert((client.locationsClient.getLocation as SinonStub)
-                .getCall(0).calledWith(request, expectedOptions, undefined));
-        });
-    });
-    describe('listLocationsAsync', () => {
-        it('uses async iteration with listLocations without error', async () => {
-            const client = new sqloperationsserviceModule.v1beta4.SqlOperationsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-                new LocationProtos.google.cloud.location.ListLocationsRequest()
-            );
-            request.name = '';
-            const expectedHeaderRequestParams = 'name=';
-            const expectedResponse = [
-                generateSampleMessage(
-                    new LocationProtos.google.cloud.location.Location()
-                ),
-                generateSampleMessage(
-                    new LocationProtos.google.cloud.location.Location()
-                ),
-                generateSampleMessage(
-                    new LocationProtos.google.cloud.location.Location()
-                ),
-            ];
-            client.locationsClient.descriptors.page.listLocations.asyncIterate = stubAsyncIterationCall(expectedResponse);
-            const responses: LocationProtos.google.cloud.location.ILocation[] = [];
-            const iterable = client.listLocationsAsync(request);
-            for await (const resource of iterable) {
-                responses.push(resource!);
+    it('has getProjectId method', async () => {
+      const fakeProjectId = 'fake-project-id';
+      const client =
+        new sqloperationsserviceModule.v1beta4.SqlOperationsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      client.auth.getProjectId = sinon.stub().resolves(fakeProjectId);
+      const result = await client.getProjectId();
+      assert.strictEqual(result, fakeProjectId);
+      assert((client.auth.getProjectId as SinonStub).calledWithExactly());
+    });
+
+    it('has getProjectId method with callback', async () => {
+      const fakeProjectId = 'fake-project-id';
+      const client =
+        new sqloperationsserviceModule.v1beta4.SqlOperationsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      client.auth.getProjectId = sinon
+        .stub()
+        .callsArgWith(0, null, fakeProjectId);
+      const promise = new Promise((resolve, reject) => {
+        client.getProjectId((err?: Error | null, projectId?: string | null) => {
+          if (err) {
+            reject(err);
+          } else {
+            resolve(projectId);
+          }
+        });
+      });
+      const result = await promise;
+      assert.strictEqual(result, fakeProjectId);
+    });
+  });
+
+  describe('get', () => {
+    it('invokes get without error', async () => {
+      const client =
+        new sqloperationsserviceModule.v1beta4.SqlOperationsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlOperationsGetRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlOperationsGetRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlOperationsGetRequest',
+        ['operation'],
+      );
+      request.operation = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&operation=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.Operation(),
+      );
+      client.innerApiCalls.get = stubSimpleCall(expectedResponse);
+      const [response] = await client.get(request);
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (client.innerApiCalls.get as SinonStub).getCall(0)
+        .args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.get as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes get without error using callback', async () => {
+      const client =
+        new sqloperationsserviceModule.v1beta4.SqlOperationsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlOperationsGetRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlOperationsGetRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlOperationsGetRequest',
+        ['operation'],
+      );
+      request.operation = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&operation=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.Operation(),
+      );
+      client.innerApiCalls.get = stubSimpleCallWithCallback(expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.get(
+          request,
+          (
+            err?: Error | null,
+            result?: protos.google.cloud.sql.v1beta4.IOperation | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
             }
-            assert.deepStrictEqual(responses, expectedResponse);
-            assert.deepStrictEqual(
-                (client.locationsClient.descriptors.page.listLocations.asyncIterate as SinonStub)
-                    .getCall(0).args[1], request);
-            assert(
-                (client.locationsClient.descriptors.page.listLocations.asyncIterate as SinonStub)
-                    .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes(
-                        expectedHeaderRequestParams
-                    )
-            );
-        });
-        it('uses async iteration with listLocations with error', async () => {
-            const client = new sqloperationsserviceModule.v1beta4.SqlOperationsServiceClient({
-                credentials: {client_email: 'bogus', private_key: 'bogus'},
-                projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new LocationProtos.google.cloud.location.ListLocationsRequest()
-            );
-            request.name = '';
-            const expectedHeaderRequestParams = 'name=';
-            const expectedError = new Error('expected');
-            client.locationsClient.descriptors.page.listLocations.asyncIterate = stubAsyncIterationCall(undefined, expectedError);
-            const iterable = client.listLocationsAsync(request);
-            await assert.rejects(async () => {
-                const responses: LocationProtos.google.cloud.location.ILocation[] = [];
-                for await (const resource of iterable) {
-                    responses.push(resource!);
-                }
-            });
-            assert.deepStrictEqual(
-                (client.locationsClient.descriptors.page.listLocations.asyncIterate as SinonStub)
-                    .getCall(0).args[1], request);
-            assert(
-                (client.locationsClient.descriptors.page.listLocations.asyncIterate as SinonStub)
-                    .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes(
-                        expectedHeaderRequestParams
-                    )
-            );
-        });
-    });
-
-    describe('Path templates', () => {
-
-        describe('backup', async () => {
-            const fakePath = "/rendered/path/backup";
-            const expectedParameters = {
-                project: "projectValue",
-                backup: "backupValue",
-            };
-            const client = new sqloperationsserviceModule.v1beta4.SqlOperationsServiceClient({
-                credentials: {client_email: 'bogus', private_key: 'bogus'},
-                projectId: 'bogus',
-            });
-            await client.initialize();
-            client.pathTemplates.backupPathTemplate.render =
-                sinon.stub().returns(fakePath);
-            client.pathTemplates.backupPathTemplate.match =
-                sinon.stub().returns(expectedParameters);
-
-            it('backupPath', () => {
-                const result = client.backupPath("projectValue", "backupValue");
-                assert.strictEqual(result, fakePath);
-                assert((client.pathTemplates.backupPathTemplate.render as SinonStub)
-                    .getCall(-1).calledWith(expectedParameters));
-            });
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (client.innerApiCalls.get as SinonStub).getCall(0)
+        .args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.get as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-            it('matchProjectFromBackupName', () => {
-                const result = client.matchProjectFromBackupName(fakePath);
-                assert.strictEqual(result, "projectValue");
-                assert((client.pathTemplates.backupPathTemplate.match as SinonStub)
-                    .getCall(-1).calledWith(fakePath));
-            });
+    it('invokes get with error', async () => {
+      const client =
+        new sqloperationsserviceModule.v1beta4.SqlOperationsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlOperationsGetRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlOperationsGetRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlOperationsGetRequest',
+        ['operation'],
+      );
+      request.operation = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&operation=${defaultValue2 ?? ''}`;
+      const expectedError = new Error('expected');
+      client.innerApiCalls.get = stubSimpleCall(undefined, expectedError);
+      await assert.rejects(client.get(request), expectedError);
+      const actualRequest = (client.innerApiCalls.get as SinonStub).getCall(0)
+        .args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.get as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-            it('matchBackupFromBackupName', () => {
-                const result = client.matchBackupFromBackupName(fakePath);
-                assert.strictEqual(result, "backupValue");
-                assert((client.pathTemplates.backupPathTemplate.match as SinonStub)
-                    .getCall(-1).calledWith(fakePath));
-            });
-        });
+    it('invokes get with closed client', async () => {
+      const client =
+        new sqloperationsserviceModule.v1beta4.SqlOperationsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlOperationsGetRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlOperationsGetRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlOperationsGetRequest',
+        ['operation'],
+      );
+      request.operation = defaultValue2;
+      const expectedError = new Error('The client has already been closed.');
+      client.close().catch((err) => {
+        throw err;
+      });
+      await assert.rejects(client.get(request), expectedError);
+    });
+  });
+
+  describe('list', () => {
+    it('invokes list without error', async () => {
+      const client =
+        new sqloperationsserviceModule.v1beta4.SqlOperationsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlOperationsListRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlOperationsListRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.OperationsListResponse(),
+      );
+      client.innerApiCalls.list = stubSimpleCall(expectedResponse);
+      const [response] = await client.list(request);
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (client.innerApiCalls.list as SinonStub).getCall(0)
+        .args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.list as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        describe('project', async () => {
-            const fakePath = "/rendered/path/project";
-            const expectedParameters = {
-                project: "projectValue",
-            };
-            const client = new sqloperationsserviceModule.v1beta4.SqlOperationsServiceClient({
-                credentials: {client_email: 'bogus', private_key: 'bogus'},
-                projectId: 'bogus',
-            });
-            await client.initialize();
-            client.pathTemplates.projectPathTemplate.render =
-                sinon.stub().returns(fakePath);
-            client.pathTemplates.projectPathTemplate.match =
-                sinon.stub().returns(expectedParameters);
-
-            it('projectPath', () => {
-                const result = client.projectPath("projectValue");
-                assert.strictEqual(result, fakePath);
-                assert((client.pathTemplates.projectPathTemplate.render as SinonStub)
-                    .getCall(-1).calledWith(expectedParameters));
-            });
+    it('invokes list without error using callback', async () => {
+      const client =
+        new sqloperationsserviceModule.v1beta4.SqlOperationsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlOperationsListRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlOperationsListRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.OperationsListResponse(),
+      );
+      client.innerApiCalls.list = stubSimpleCallWithCallback(expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.list(
+          request,
+          (
+            err?: Error | null,
+            result?: protos.google.cloud.sql.v1beta4.IOperationsListResponse | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
+            }
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (client.innerApiCalls.list as SinonStub).getCall(0)
+        .args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.list as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-            it('matchProjectFromProjectName', () => {
-                const result = client.matchProjectFromProjectName(fakePath);
-                assert.strictEqual(result, "projectValue");
-                assert((client.pathTemplates.projectPathTemplate.match as SinonStub)
-                    .getCall(-1).calledWith(fakePath));
-            });
-        });
+    it('invokes list with error', async () => {
+      const client =
+        new sqloperationsserviceModule.v1beta4.SqlOperationsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlOperationsListRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlOperationsListRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}`;
+      const expectedError = new Error('expected');
+      client.innerApiCalls.list = stubSimpleCall(undefined, expectedError);
+      await assert.rejects(client.list(request), expectedError);
+      const actualRequest = (client.innerApiCalls.list as SinonStub).getCall(0)
+        .args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.list as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes list with closed client', async () => {
+      const client =
+        new sqloperationsserviceModule.v1beta4.SqlOperationsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlOperationsListRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlOperationsListRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const expectedError = new Error('The client has already been closed.');
+      client.close().catch((err) => {
+        throw err;
+      });
+      await assert.rejects(client.list(request), expectedError);
+    });
+  });
+
+  describe('cancel', () => {
+    it('invokes cancel without error', async () => {
+      const client =
+        new sqloperationsserviceModule.v1beta4.SqlOperationsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlOperationsCancelRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlOperationsCancelRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlOperationsCancelRequest',
+        ['operation'],
+      );
+      request.operation = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&operation=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.protobuf.Empty(),
+      );
+      client.innerApiCalls.cancel = stubSimpleCall(expectedResponse);
+      const [response] = await client.cancel(request);
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (client.innerApiCalls.cancel as SinonStub).getCall(
+        0,
+      ).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.cancel as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes cancel without error using callback', async () => {
+      const client =
+        new sqloperationsserviceModule.v1beta4.SqlOperationsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlOperationsCancelRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlOperationsCancelRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlOperationsCancelRequest',
+        ['operation'],
+      );
+      request.operation = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&operation=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.protobuf.Empty(),
+      );
+      client.innerApiCalls.cancel =
+        stubSimpleCallWithCallback(expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.cancel(
+          request,
+          (
+            err?: Error | null,
+            result?: protos.google.protobuf.IEmpty | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
+            }
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (client.innerApiCalls.cancel as SinonStub).getCall(
+        0,
+      ).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.cancel as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes cancel with error', async () => {
+      const client =
+        new sqloperationsserviceModule.v1beta4.SqlOperationsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlOperationsCancelRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlOperationsCancelRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlOperationsCancelRequest',
+        ['operation'],
+      );
+      request.operation = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&operation=${defaultValue2 ?? ''}`;
+      const expectedError = new Error('expected');
+      client.innerApiCalls.cancel = stubSimpleCall(undefined, expectedError);
+      await assert.rejects(client.cancel(request), expectedError);
+      const actualRequest = (client.innerApiCalls.cancel as SinonStub).getCall(
+        0,
+      ).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.cancel as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes cancel with closed client', async () => {
+      const client =
+        new sqloperationsserviceModule.v1beta4.SqlOperationsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlOperationsCancelRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlOperationsCancelRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlOperationsCancelRequest',
+        ['operation'],
+      );
+      request.operation = defaultValue2;
+      const expectedError = new Error('The client has already been closed.');
+      client.close().catch((err) => {
+        throw err;
+      });
+      await assert.rejects(client.cancel(request), expectedError);
+    });
+  });
+  describe('getLocation', () => {
+    it('invokes getLocation without error', async () => {
+      const client =
+        new sqloperationsserviceModule.v1beta4.SqlOperationsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new LocationProtos.google.cloud.location.GetLocationRequest(),
+      );
+      request.name = '';
+      const expectedHeaderRequestParams = 'name=';
+      const expectedOptions = {
+        otherArgs: {
+          headers: {
+            'x-goog-request-params': expectedHeaderRequestParams,
+          },
+        },
+      };
+      const expectedResponse = generateSampleMessage(
+        new LocationProtos.google.cloud.location.Location(),
+      );
+      client.locationsClient.getLocation = stubSimpleCall(expectedResponse);
+      const response = await client.getLocation(request, expectedOptions);
+      assert.deepStrictEqual(response, [expectedResponse]);
+      assert(
+        (client.locationsClient.getLocation as SinonStub)
+          .getCall(0)
+          .calledWith(request, expectedOptions, undefined),
+      );
+    });
+    it('invokes getLocation without error using callback', async () => {
+      const client =
+        new sqloperationsserviceModule.v1beta4.SqlOperationsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new LocationProtos.google.cloud.location.GetLocationRequest(),
+      );
+      request.name = '';
+      const expectedHeaderRequestParams = 'name=';
+      const expectedOptions = {
+        otherArgs: {
+          headers: {
+            'x-goog-request-params': expectedHeaderRequestParams,
+          },
+        },
+      };
+      const expectedResponse = generateSampleMessage(
+        new LocationProtos.google.cloud.location.Location(),
+      );
+      client.locationsClient.getLocation = sinon
+        .stub()
+        .callsArgWith(2, null, expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.getLocation(
+          request,
+          expectedOptions,
+          (
+            err?: Error | null,
+            result?: LocationProtos.google.cloud.location.ILocation | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
+            }
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      assert((client.locationsClient.getLocation as SinonStub).getCall(0));
+    });
+    it('invokes getLocation with error', async () => {
+      const client =
+        new sqloperationsserviceModule.v1beta4.SqlOperationsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new LocationProtos.google.cloud.location.GetLocationRequest(),
+      );
+      request.name = '';
+      const expectedHeaderRequestParams = 'name=';
+      const expectedOptions = {
+        otherArgs: {
+          headers: {
+            'x-goog-request-params': expectedHeaderRequestParams,
+          },
+        },
+      };
+      const expectedError = new Error('expected');
+      client.locationsClient.getLocation = stubSimpleCall(
+        undefined,
+        expectedError,
+      );
+      await assert.rejects(
+        client.getLocation(request, expectedOptions),
+        expectedError,
+      );
+      assert(
+        (client.locationsClient.getLocation as SinonStub)
+          .getCall(0)
+          .calledWith(request, expectedOptions, undefined),
+      );
+    });
+  });
+  describe('listLocationsAsync', () => {
+    it('uses async iteration with listLocations without error', async () => {
+      const client =
+        new sqloperationsserviceModule.v1beta4.SqlOperationsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new LocationProtos.google.cloud.location.ListLocationsRequest(),
+      );
+      request.name = '';
+      const expectedHeaderRequestParams = 'name=';
+      const expectedResponse = [
+        generateSampleMessage(
+          new LocationProtos.google.cloud.location.Location(),
+        ),
+        generateSampleMessage(
+          new LocationProtos.google.cloud.location.Location(),
+        ),
+        generateSampleMessage(
+          new LocationProtos.google.cloud.location.Location(),
+        ),
+      ];
+      client.locationsClient.descriptors.page.listLocations.asyncIterate =
+        stubAsyncIterationCall(expectedResponse);
+      const responses: LocationProtos.google.cloud.location.ILocation[] = [];
+      const iterable = client.listLocationsAsync(request);
+      for await (const resource of iterable) {
+        responses.push(resource!);
+      }
+      assert.deepStrictEqual(responses, expectedResponse);
+      assert.deepStrictEqual(
+        (
+          client.locationsClient.descriptors.page.listLocations
+            .asyncIterate as SinonStub
+        ).getCall(0).args[1],
+        request,
+      );
+      assert(
+        (
+          client.locationsClient.descriptors.page.listLocations
+            .asyncIterate as SinonStub
+        )
+          .getCall(0)
+          .args[2].otherArgs.headers['x-goog-request-params'].includes(
+            expectedHeaderRequestParams,
+          ),
+      );
+    });
+    it('uses async iteration with listLocations with error', async () => {
+      const client =
+        new sqloperationsserviceModule.v1beta4.SqlOperationsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new LocationProtos.google.cloud.location.ListLocationsRequest(),
+      );
+      request.name = '';
+      const expectedHeaderRequestParams = 'name=';
+      const expectedError = new Error('expected');
+      client.locationsClient.descriptors.page.listLocations.asyncIterate =
+        stubAsyncIterationCall(undefined, expectedError);
+      const iterable = client.listLocationsAsync(request);
+      await assert.rejects(async () => {
+        const responses: LocationProtos.google.cloud.location.ILocation[] = [];
+        for await (const resource of iterable) {
+          responses.push(resource!);
+        }
+      });
+      assert.deepStrictEqual(
+        (
+          client.locationsClient.descriptors.page.listLocations
+            .asyncIterate as SinonStub
+        ).getCall(0).args[1],
+        request,
+      );
+      assert(
+        (
+          client.locationsClient.descriptors.page.listLocations
+            .asyncIterate as SinonStub
+        )
+          .getCall(0)
+          .args[2].otherArgs.headers['x-goog-request-params'].includes(
+            expectedHeaderRequestParams,
+          ),
+      );
+    });
+  });
+
+  describe('Path templates', () => {
+    describe('backup', async () => {
+      const fakePath = '/rendered/path/backup';
+      const expectedParameters = {
+        project: 'projectValue',
+        backup: 'backupValue',
+      };
+      const client =
+        new sqloperationsserviceModule.v1beta4.SqlOperationsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      client.pathTemplates.backupPathTemplate.render = sinon
+        .stub()
+        .returns(fakePath);
+      client.pathTemplates.backupPathTemplate.match = sinon
+        .stub()
+        .returns(expectedParameters);
+
+      it('backupPath', () => {
+        const result = client.backupPath('projectValue', 'backupValue');
+        assert.strictEqual(result, fakePath);
+        assert(
+          (client.pathTemplates.backupPathTemplate.render as SinonStub)
+            .getCall(-1)
+            .calledWith(expectedParameters),
+        );
+      });
+
+      it('matchProjectFromBackupName', () => {
+        const result = client.matchProjectFromBackupName(fakePath);
+        assert.strictEqual(result, 'projectValue');
+        assert(
+          (client.pathTemplates.backupPathTemplate.match as SinonStub)
+            .getCall(-1)
+            .calledWith(fakePath),
+        );
+      });
+
+      it('matchBackupFromBackupName', () => {
+        const result = client.matchBackupFromBackupName(fakePath);
+        assert.strictEqual(result, 'backupValue');
+        assert(
+          (client.pathTemplates.backupPathTemplate.match as SinonStub)
+            .getCall(-1)
+            .calledWith(fakePath),
+        );
+      });
+    });
+
+    describe('project', async () => {
+      const fakePath = '/rendered/path/project';
+      const expectedParameters = {
+        project: 'projectValue',
+      };
+      const client =
+        new sqloperationsserviceModule.v1beta4.SqlOperationsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      client.pathTemplates.projectPathTemplate.render = sinon
+        .stub()
+        .returns(fakePath);
+      client.pathTemplates.projectPathTemplate.match = sinon
+        .stub()
+        .returns(expectedParameters);
+
+      it('projectPath', () => {
+        const result = client.projectPath('projectValue');
+        assert.strictEqual(result, fakePath);
+        assert(
+          (client.pathTemplates.projectPathTemplate.render as SinonStub)
+            .getCall(-1)
+            .calledWith(expectedParameters),
+        );
+      });
+
+      it('matchProjectFromProjectName', () => {
+        const result = client.matchProjectFromProjectName(fakePath);
+        assert.strictEqual(result, 'projectValue');
+        assert(
+          (client.pathTemplates.projectPathTemplate.match as SinonStub)
+            .getCall(-1)
+            .calledWith(fakePath),
+        );
+      });
     });
+  });
 });
diff --git a/packages/google-cloud-sql/test/gapic_sql_ssl_certs_service_v1.ts b/packages/google-cloud-sql/test/gapic_sql_ssl_certs_service_v1.ts
index d3e88a5978ca..07ac5d56e9e0 100644
--- a/packages/google-cloud-sql/test/gapic_sql_ssl_certs_service_v1.ts
+++ b/packages/google-cloud-sql/test/gapic_sql_ssl_certs_service_v1.ts
@@ -19,927 +19,1140 @@
 import * as protos from '../protos/protos';
 import * as assert from 'assert';
 import * as sinon from 'sinon';
-import {SinonStub} from 'sinon';
-import {describe, it} from 'mocha';
+import { SinonStub } from 'sinon';
+import { describe, it } from 'mocha';
 import * as sqlsslcertsserviceModule from '../src';
 
-import {protobuf, LocationProtos} from 'google-gax';
+import { protobuf, LocationProtos } from 'google-gax';
 
 // Dynamically loaded proto JSON is needed to get the type information
 // to fill in default values for request objects
-const root = protobuf.Root.fromJSON(require('../protos/protos.json')).resolveAll();
+const root = protobuf.Root.fromJSON(
+  require('../protos/protos.json'),
+).resolveAll();
 
 // eslint-disable-next-line @typescript-eslint/no-unused-vars
 function getTypeDefaultValue(typeName: string, fields: string[]) {
-    let type = root.lookupType(typeName) as protobuf.Type;
-    for (const field of fields.slice(0, -1)) {
-        type = type.fields[field]?.resolvedType as protobuf.Type;
-    }
-    return type.fields[fields[fields.length - 1]]?.defaultValue;
+  let type = root.lookupType(typeName) as protobuf.Type;
+  for (const field of fields.slice(0, -1)) {
+    type = type.fields[field]?.resolvedType as protobuf.Type;
+  }
+  return type.fields[fields[fields.length - 1]]?.defaultValue;
 }
 
 function generateSampleMessage<T extends object>(instance: T) {
-    const filledObject = (instance.constructor as typeof protobuf.Message)
-        .toObject(instance as protobuf.Message<T>, {defaults: true});
-    return (instance.constructor as typeof protobuf.Message).fromObject(filledObject) as T;
+  const filledObject = (
+    instance.constructor as typeof protobuf.Message
+  ).toObject(instance as protobuf.Message<T>, { defaults: true });
+  return (instance.constructor as typeof protobuf.Message).fromObject(
+    filledObject,
+  ) as T;
 }
 
 function stubSimpleCall<ResponseType>(response?: ResponseType, error?: Error) {
-    return error ? sinon.stub().rejects(error) : sinon.stub().resolves([response]);
+  return error
+    ? sinon.stub().rejects(error)
+    : sinon.stub().resolves([response]);
 }
 
-function stubSimpleCallWithCallback<ResponseType>(response?: ResponseType, error?: Error) {
-    return error ? sinon.stub().callsArgWith(2, error) : sinon.stub().callsArgWith(2, null, response);
+function stubSimpleCallWithCallback<ResponseType>(
+  response?: ResponseType,
+  error?: Error,
+) {
+  return error
+    ? sinon.stub().callsArgWith(2, error)
+    : sinon.stub().callsArgWith(2, null, response);
 }
 
-function stubAsyncIterationCall<ResponseType>(responses?: ResponseType[], error?: Error) {
-    let counter = 0;
-    const asyncIterable = {
-        [Symbol.asyncIterator]() {
-            return {
-                async next() {
-                    if (error) {
-                        return Promise.reject(error);
-                    }
-                    if (counter >= responses!.length) {
-                        return Promise.resolve({done: true, value: undefined});
-                    }
-                    return Promise.resolve({done: false, value: responses![counter++]});
-                }
-            };
-        }
-    };
-    return sinon.stub().returns(asyncIterable);
+function stubAsyncIterationCall<ResponseType>(
+  responses?: ResponseType[],
+  error?: Error,
+) {
+  let counter = 0;
+  const asyncIterable = {
+    [Symbol.asyncIterator]() {
+      return {
+        async next() {
+          if (error) {
+            return Promise.reject(error);
+          }
+          if (counter >= responses!.length) {
+            return Promise.resolve({ done: true, value: undefined });
+          }
+          return Promise.resolve({ done: false, value: responses![counter++] });
+        },
+      };
+    },
+  };
+  return sinon.stub().returns(asyncIterable);
 }
 
 describe('v1.SqlSslCertsServiceClient', () => {
-    describe('Common methods', () => {
-        it('has apiEndpoint', () => {
-            const client = new sqlsslcertsserviceModule.v1.SqlSslCertsServiceClient();
-            const apiEndpoint = client.apiEndpoint;
-            assert.strictEqual(apiEndpoint, 'sqladmin.googleapis.com');
-        });
+  describe('Common methods', () => {
+    it('has apiEndpoint', () => {
+      const client = new sqlsslcertsserviceModule.v1.SqlSslCertsServiceClient();
+      const apiEndpoint = client.apiEndpoint;
+      assert.strictEqual(apiEndpoint, 'sqladmin.googleapis.com');
+    });
 
-        it('has universeDomain', () => {
-            const client = new sqlsslcertsserviceModule.v1.SqlSslCertsServiceClient();
-            const universeDomain = client.universeDomain;
-            assert.strictEqual(universeDomain, "googleapis.com");
-        });
+    it('has universeDomain', () => {
+      const client = new sqlsslcertsserviceModule.v1.SqlSslCertsServiceClient();
+      const universeDomain = client.universeDomain;
+      assert.strictEqual(universeDomain, 'googleapis.com');
+    });
 
-        if (typeof process === 'object' && typeof process.emitWarning === 'function') {
-            it('throws DeprecationWarning if static servicePath is used', () => {
-                const stub = sinon.stub(process, 'emitWarning');
-                const servicePath = sqlsslcertsserviceModule.v1.SqlSslCertsServiceClient.servicePath;
-                assert.strictEqual(servicePath, 'sqladmin.googleapis.com');
-                assert(stub.called);
-                stub.restore();
-            });
+    if (
+      typeof process === 'object' &&
+      typeof process.emitWarning === 'function'
+    ) {
+      it('throws DeprecationWarning if static servicePath is used', () => {
+        const stub = sinon.stub(process, 'emitWarning');
+        const servicePath =
+          sqlsslcertsserviceModule.v1.SqlSslCertsServiceClient.servicePath;
+        assert.strictEqual(servicePath, 'sqladmin.googleapis.com');
+        assert(stub.called);
+        stub.restore();
+      });
 
-            it('throws DeprecationWarning if static apiEndpoint is used', () => {
-                const stub = sinon.stub(process, 'emitWarning');
-                const apiEndpoint = sqlsslcertsserviceModule.v1.SqlSslCertsServiceClient.apiEndpoint;
-                assert.strictEqual(apiEndpoint, 'sqladmin.googleapis.com');
-                assert(stub.called);
-                stub.restore();
-            });
-        }
-        it('sets apiEndpoint according to universe domain camelCase', () => {
-            const client = new sqlsslcertsserviceModule.v1.SqlSslCertsServiceClient({universeDomain: 'example.com'});
-            const servicePath = client.apiEndpoint;
-            assert.strictEqual(servicePath, 'sqladmin.example.com');
-        });
+      it('throws DeprecationWarning if static apiEndpoint is used', () => {
+        const stub = sinon.stub(process, 'emitWarning');
+        const apiEndpoint =
+          sqlsslcertsserviceModule.v1.SqlSslCertsServiceClient.apiEndpoint;
+        assert.strictEqual(apiEndpoint, 'sqladmin.googleapis.com');
+        assert(stub.called);
+        stub.restore();
+      });
+    }
+    it('sets apiEndpoint according to universe domain camelCase', () => {
+      const client = new sqlsslcertsserviceModule.v1.SqlSslCertsServiceClient({
+        universeDomain: 'example.com',
+      });
+      const servicePath = client.apiEndpoint;
+      assert.strictEqual(servicePath, 'sqladmin.example.com');
+    });
+
+    it('sets apiEndpoint according to universe domain snakeCase', () => {
+      const client = new sqlsslcertsserviceModule.v1.SqlSslCertsServiceClient({
+        universe_domain: 'example.com',
+      });
+      const servicePath = client.apiEndpoint;
+      assert.strictEqual(servicePath, 'sqladmin.example.com');
+    });
 
-        it('sets apiEndpoint according to universe domain snakeCase', () => {
-            const client = new sqlsslcertsserviceModule.v1.SqlSslCertsServiceClient({universe_domain: 'example.com'});
-            const servicePath = client.apiEndpoint;
-            assert.strictEqual(servicePath, 'sqladmin.example.com');
+    if (typeof process === 'object' && 'env' in process) {
+      describe('GOOGLE_CLOUD_UNIVERSE_DOMAIN environment variable', () => {
+        it('sets apiEndpoint from environment variable', () => {
+          const saved = process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
+          process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = 'example.com';
+          const client =
+            new sqlsslcertsserviceModule.v1.SqlSslCertsServiceClient();
+          const servicePath = client.apiEndpoint;
+          assert.strictEqual(servicePath, 'sqladmin.example.com');
+          if (saved) {
+            process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = saved;
+          } else {
+            delete process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
+          }
         });
 
-        if (typeof process === 'object' && 'env' in process) {
-            describe('GOOGLE_CLOUD_UNIVERSE_DOMAIN environment variable', () => {
-                it('sets apiEndpoint from environment variable', () => {
-                    const saved = process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
-                    process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = 'example.com';
-                    const client = new sqlsslcertsserviceModule.v1.SqlSslCertsServiceClient();
-                    const servicePath = client.apiEndpoint;
-                    assert.strictEqual(servicePath, 'sqladmin.example.com');
-                    if (saved) {
-                        process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = saved;
-                    } else {
-                        delete process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
-                    }
-                });
-
-                it('value configured in code has priority over environment variable', () => {
-                    const saved = process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
-                    process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = 'example.com';
-                    const client = new sqlsslcertsserviceModule.v1.SqlSslCertsServiceClient({universeDomain: 'configured.example.com'});
-                    const servicePath = client.apiEndpoint;
-                    assert.strictEqual(servicePath, 'sqladmin.configured.example.com');
-                    if (saved) {
-                        process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = saved;
-                    } else {
-                        delete process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
-                    }
-                });
+        it('value configured in code has priority over environment variable', () => {
+          const saved = process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
+          process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = 'example.com';
+          const client =
+            new sqlsslcertsserviceModule.v1.SqlSslCertsServiceClient({
+              universeDomain: 'configured.example.com',
             });
-        }
-        it('does not allow setting both universeDomain and universe_domain', () => {
-            assert.throws(() => { new sqlsslcertsserviceModule.v1.SqlSslCertsServiceClient({universe_domain: 'example.com', universeDomain: 'example.net'}); });
+          const servicePath = client.apiEndpoint;
+          assert.strictEqual(servicePath, 'sqladmin.configured.example.com');
+          if (saved) {
+            process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = saved;
+          } else {
+            delete process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
+          }
         });
-
-        it('has port', () => {
-            const port = sqlsslcertsserviceModule.v1.SqlSslCertsServiceClient.port;
-            assert(port);
-            assert(typeof port === 'number');
+      });
+    }
+    it('does not allow setting both universeDomain and universe_domain', () => {
+      assert.throws(() => {
+        new sqlsslcertsserviceModule.v1.SqlSslCertsServiceClient({
+          universe_domain: 'example.com',
+          universeDomain: 'example.net',
         });
+      });
+    });
 
-        it('should create a client with no option', () => {
-            const client = new sqlsslcertsserviceModule.v1.SqlSslCertsServiceClient();
-            assert(client);
-        });
+    it('has port', () => {
+      const port = sqlsslcertsserviceModule.v1.SqlSslCertsServiceClient.port;
+      assert(port);
+      assert(typeof port === 'number');
+    });
 
-        it('should create a client with gRPC fallback', () => {
-            const client = new sqlsslcertsserviceModule.v1.SqlSslCertsServiceClient({
-                fallback: true,
-            });
-            assert(client);
-        });
+    it('should create a client with no option', () => {
+      const client = new sqlsslcertsserviceModule.v1.SqlSslCertsServiceClient();
+      assert(client);
+    });
 
-        it('has initialize method and supports deferred initialization', async () => {
-            const client = new sqlsslcertsserviceModule.v1.SqlSslCertsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            assert.strictEqual(client.sqlSslCertsServiceStub, undefined);
-            await client.initialize();
-            assert(client.sqlSslCertsServiceStub);
-        });
+    it('should create a client with gRPC fallback', () => {
+      const client = new sqlsslcertsserviceModule.v1.SqlSslCertsServiceClient({
+        fallback: true,
+      });
+      assert(client);
+    });
 
-        it('has close method for the initialized client', done => {
-            const client = new sqlsslcertsserviceModule.v1.SqlSslCertsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            client.initialize().catch(err => {throw err});
-            assert(client.sqlSslCertsServiceStub);
-            client.close().then(() => {
-                done();
-            }).catch(err => {throw err});
-        });
+    it('has initialize method and supports deferred initialization', async () => {
+      const client = new sqlsslcertsserviceModule.v1.SqlSslCertsServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      assert.strictEqual(client.sqlSslCertsServiceStub, undefined);
+      await client.initialize();
+      assert(client.sqlSslCertsServiceStub);
+    });
 
-        it('has close method for the non-initialized client', done => {
-            const client = new sqlsslcertsserviceModule.v1.SqlSslCertsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            assert.strictEqual(client.sqlSslCertsServiceStub, undefined);
-            client.close().then(() => {
-                done();
-            }).catch(err => {throw err});
+    it('has close method for the initialized client', (done) => {
+      const client = new sqlsslcertsserviceModule.v1.SqlSslCertsServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      client.initialize().catch((err) => {
+        throw err;
+      });
+      assert(client.sqlSslCertsServiceStub);
+      client
+        .close()
+        .then(() => {
+          done();
+        })
+        .catch((err) => {
+          throw err;
         });
+    });
 
-        it('has getProjectId method', async () => {
-            const fakeProjectId = 'fake-project-id';
-            const client = new sqlsslcertsserviceModule.v1.SqlSslCertsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            client.auth.getProjectId = sinon.stub().resolves(fakeProjectId);
-            const result = await client.getProjectId();
-            assert.strictEqual(result, fakeProjectId);
-            assert((client.auth.getProjectId as SinonStub).calledWithExactly());
+    it('has close method for the non-initialized client', (done) => {
+      const client = new sqlsslcertsserviceModule.v1.SqlSslCertsServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      assert.strictEqual(client.sqlSslCertsServiceStub, undefined);
+      client
+        .close()
+        .then(() => {
+          done();
+        })
+        .catch((err) => {
+          throw err;
         });
+    });
 
-        it('has getProjectId method with callback', async () => {
-            const fakeProjectId = 'fake-project-id';
-            const client = new sqlsslcertsserviceModule.v1.SqlSslCertsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            client.auth.getProjectId = sinon.stub().callsArgWith(0, null, fakeProjectId);
-            const promise = new Promise((resolve, reject) => {
-                client.getProjectId((err?: Error|null, projectId?: string|null) => {
-                    if (err) {
-                        reject(err);
-                    } else {
-                        resolve(projectId);
-                    }
-                });
-            });
-            const result = await promise;
-            assert.strictEqual(result, fakeProjectId);
-        });
+    it('has getProjectId method', async () => {
+      const fakeProjectId = 'fake-project-id';
+      const client = new sqlsslcertsserviceModule.v1.SqlSslCertsServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      client.auth.getProjectId = sinon.stub().resolves(fakeProjectId);
+      const result = await client.getProjectId();
+      assert.strictEqual(result, fakeProjectId);
+      assert((client.auth.getProjectId as SinonStub).calledWithExactly());
     });
 
-    describe('delete', () => {
-        it('invokes delete without error', async () => {
-            const client = new sqlsslcertsserviceModule.v1.SqlSslCertsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlSslCertsDeleteRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlSslCertsDeleteRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlSslCertsDeleteRequest', ['instance']);
-            request.instance = defaultValue2;
-            const defaultValue3 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlSslCertsDeleteRequest', ['sha1Fingerprint']);
-            request.sha1Fingerprint = defaultValue3;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }&sha1_fingerprint=${defaultValue3 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1.Operation()
-            );
-            client.innerApiCalls.delete = stubSimpleCall(expectedResponse);
-            const [response] = await client.delete(request);
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.delete as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.delete as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    it('has getProjectId method with callback', async () => {
+      const fakeProjectId = 'fake-project-id';
+      const client = new sqlsslcertsserviceModule.v1.SqlSslCertsServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      client.auth.getProjectId = sinon
+        .stub()
+        .callsArgWith(0, null, fakeProjectId);
+      const promise = new Promise((resolve, reject) => {
+        client.getProjectId((err?: Error | null, projectId?: string | null) => {
+          if (err) {
+            reject(err);
+          } else {
+            resolve(projectId);
+          }
         });
+      });
+      const result = await promise;
+      assert.strictEqual(result, fakeProjectId);
+    });
+  });
 
-        it('invokes delete without error using callback', async () => {
-            const client = new sqlsslcertsserviceModule.v1.SqlSslCertsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlSslCertsDeleteRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlSslCertsDeleteRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlSslCertsDeleteRequest', ['instance']);
-            request.instance = defaultValue2;
-            const defaultValue3 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlSslCertsDeleteRequest', ['sha1Fingerprint']);
-            request.sha1Fingerprint = defaultValue3;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }&sha1_fingerprint=${defaultValue3 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1.Operation()
-            );
-            client.innerApiCalls.delete = stubSimpleCallWithCallback(expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.delete(
-                    request,
-                    (err?: Error|null, result?: protos.google.cloud.sql.v1.IOperation|null) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.delete as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.delete as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+  describe('delete', () => {
+    it('invokes delete without error', async () => {
+      const client = new sqlsslcertsserviceModule.v1.SqlSslCertsServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlSslCertsDeleteRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlSslCertsDeleteRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlSslCertsDeleteRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const defaultValue3 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlSslCertsDeleteRequest',
+        ['sha1Fingerprint'],
+      );
+      request.sha1Fingerprint = defaultValue3;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}&sha1_fingerprint=${defaultValue3 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1.Operation(),
+      );
+      client.innerApiCalls.delete = stubSimpleCall(expectedResponse);
+      const [response] = await client.delete(request);
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (client.innerApiCalls.delete as SinonStub).getCall(
+        0,
+      ).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.delete as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes delete with error', async () => {
-            const client = new sqlsslcertsserviceModule.v1.SqlSslCertsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlSslCertsDeleteRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlSslCertsDeleteRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlSslCertsDeleteRequest', ['instance']);
-            request.instance = defaultValue2;
-            const defaultValue3 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlSslCertsDeleteRequest', ['sha1Fingerprint']);
-            request.sha1Fingerprint = defaultValue3;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }&sha1_fingerprint=${defaultValue3 ?? '' }`;
-            const expectedError = new Error('expected');
-            client.innerApiCalls.delete = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.delete(request), expectedError);
-            const actualRequest = (client.innerApiCalls.delete as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.delete as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+    it('invokes delete without error using callback', async () => {
+      const client = new sqlsslcertsserviceModule.v1.SqlSslCertsServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlSslCertsDeleteRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlSslCertsDeleteRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlSslCertsDeleteRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const defaultValue3 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlSslCertsDeleteRequest',
+        ['sha1Fingerprint'],
+      );
+      request.sha1Fingerprint = defaultValue3;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}&sha1_fingerprint=${defaultValue3 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1.Operation(),
+      );
+      client.innerApiCalls.delete =
+        stubSimpleCallWithCallback(expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.delete(
+          request,
+          (
+            err?: Error | null,
+            result?: protos.google.cloud.sql.v1.IOperation | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
+            }
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (client.innerApiCalls.delete as SinonStub).getCall(
+        0,
+      ).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.delete as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes delete with closed client', async () => {
-            const client = new sqlsslcertsserviceModule.v1.SqlSslCertsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlSslCertsDeleteRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlSslCertsDeleteRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlSslCertsDeleteRequest', ['instance']);
-            request.instance = defaultValue2;
-            const defaultValue3 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlSslCertsDeleteRequest', ['sha1Fingerprint']);
-            request.sha1Fingerprint = defaultValue3;
-            const expectedError = new Error('The client has already been closed.');
-            client.close().catch(err => {throw err});
-            await assert.rejects(client.delete(request), expectedError);
-        });
+    it('invokes delete with error', async () => {
+      const client = new sqlsslcertsserviceModule.v1.SqlSslCertsServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlSslCertsDeleteRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlSslCertsDeleteRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlSslCertsDeleteRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const defaultValue3 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlSslCertsDeleteRequest',
+        ['sha1Fingerprint'],
+      );
+      request.sha1Fingerprint = defaultValue3;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}&sha1_fingerprint=${defaultValue3 ?? ''}`;
+      const expectedError = new Error('expected');
+      client.innerApiCalls.delete = stubSimpleCall(undefined, expectedError);
+      await assert.rejects(client.delete(request), expectedError);
+      const actualRequest = (client.innerApiCalls.delete as SinonStub).getCall(
+        0,
+      ).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.delete as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
     });
 
-    describe('get', () => {
-        it('invokes get without error', async () => {
-            const client = new sqlsslcertsserviceModule.v1.SqlSslCertsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlSslCertsGetRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlSslCertsGetRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlSslCertsGetRequest', ['instance']);
-            request.instance = defaultValue2;
-            const defaultValue3 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlSslCertsGetRequest', ['sha1Fingerprint']);
-            request.sha1Fingerprint = defaultValue3;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }&sha1_fingerprint=${defaultValue3 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SslCert()
-            );
-            client.innerApiCalls.get = stubSimpleCall(expectedResponse);
-            const [response] = await client.get(request);
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.get as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.get as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+    it('invokes delete with closed client', async () => {
+      const client = new sqlsslcertsserviceModule.v1.SqlSslCertsServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlSslCertsDeleteRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlSslCertsDeleteRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlSslCertsDeleteRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const defaultValue3 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlSslCertsDeleteRequest',
+        ['sha1Fingerprint'],
+      );
+      request.sha1Fingerprint = defaultValue3;
+      const expectedError = new Error('The client has already been closed.');
+      client.close().catch((err) => {
+        throw err;
+      });
+      await assert.rejects(client.delete(request), expectedError);
+    });
+  });
 
-        it('invokes get without error using callback', async () => {
-            const client = new sqlsslcertsserviceModule.v1.SqlSslCertsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlSslCertsGetRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlSslCertsGetRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlSslCertsGetRequest', ['instance']);
-            request.instance = defaultValue2;
-            const defaultValue3 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlSslCertsGetRequest', ['sha1Fingerprint']);
-            request.sha1Fingerprint = defaultValue3;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }&sha1_fingerprint=${defaultValue3 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SslCert()
-            );
-            client.innerApiCalls.get = stubSimpleCallWithCallback(expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.get(
-                    request,
-                    (err?: Error|null, result?: protos.google.cloud.sql.v1.ISslCert|null) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.get as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.get as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+  describe('get', () => {
+    it('invokes get without error', async () => {
+      const client = new sqlsslcertsserviceModule.v1.SqlSslCertsServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlSslCertsGetRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlSslCertsGetRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlSslCertsGetRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const defaultValue3 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlSslCertsGetRequest',
+        ['sha1Fingerprint'],
+      );
+      request.sha1Fingerprint = defaultValue3;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}&sha1_fingerprint=${defaultValue3 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SslCert(),
+      );
+      client.innerApiCalls.get = stubSimpleCall(expectedResponse);
+      const [response] = await client.get(request);
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (client.innerApiCalls.get as SinonStub).getCall(0)
+        .args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.get as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes get with error', async () => {
-            const client = new sqlsslcertsserviceModule.v1.SqlSslCertsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlSslCertsGetRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlSslCertsGetRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlSslCertsGetRequest', ['instance']);
-            request.instance = defaultValue2;
-            const defaultValue3 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlSslCertsGetRequest', ['sha1Fingerprint']);
-            request.sha1Fingerprint = defaultValue3;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }&sha1_fingerprint=${defaultValue3 ?? '' }`;
-            const expectedError = new Error('expected');
-            client.innerApiCalls.get = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.get(request), expectedError);
-            const actualRequest = (client.innerApiCalls.get as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.get as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+    it('invokes get without error using callback', async () => {
+      const client = new sqlsslcertsserviceModule.v1.SqlSslCertsServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlSslCertsGetRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlSslCertsGetRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlSslCertsGetRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const defaultValue3 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlSslCertsGetRequest',
+        ['sha1Fingerprint'],
+      );
+      request.sha1Fingerprint = defaultValue3;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}&sha1_fingerprint=${defaultValue3 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SslCert(),
+      );
+      client.innerApiCalls.get = stubSimpleCallWithCallback(expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.get(
+          request,
+          (
+            err?: Error | null,
+            result?: protos.google.cloud.sql.v1.ISslCert | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
+            }
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (client.innerApiCalls.get as SinonStub).getCall(0)
+        .args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.get as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes get with closed client', async () => {
-            const client = new sqlsslcertsserviceModule.v1.SqlSslCertsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlSslCertsGetRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlSslCertsGetRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlSslCertsGetRequest', ['instance']);
-            request.instance = defaultValue2;
-            const defaultValue3 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlSslCertsGetRequest', ['sha1Fingerprint']);
-            request.sha1Fingerprint = defaultValue3;
-            const expectedError = new Error('The client has already been closed.');
-            client.close().catch(err => {throw err});
-            await assert.rejects(client.get(request), expectedError);
-        });
+    it('invokes get with error', async () => {
+      const client = new sqlsslcertsserviceModule.v1.SqlSslCertsServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlSslCertsGetRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlSslCertsGetRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlSslCertsGetRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const defaultValue3 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlSslCertsGetRequest',
+        ['sha1Fingerprint'],
+      );
+      request.sha1Fingerprint = defaultValue3;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}&sha1_fingerprint=${defaultValue3 ?? ''}`;
+      const expectedError = new Error('expected');
+      client.innerApiCalls.get = stubSimpleCall(undefined, expectedError);
+      await assert.rejects(client.get(request), expectedError);
+      const actualRequest = (client.innerApiCalls.get as SinonStub).getCall(0)
+        .args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.get as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
     });
 
-    describe('insert', () => {
-        it('invokes insert without error', async () => {
-            const client = new sqlsslcertsserviceModule.v1.SqlSslCertsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlSslCertsInsertRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlSslCertsInsertRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlSslCertsInsertRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SslCertsInsertResponse()
-            );
-            client.innerApiCalls.insert = stubSimpleCall(expectedResponse);
-            const [response] = await client.insert(request);
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.insert as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.insert as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+    it('invokes get with closed client', async () => {
+      const client = new sqlsslcertsserviceModule.v1.SqlSslCertsServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlSslCertsGetRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlSslCertsGetRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlSslCertsGetRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const defaultValue3 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlSslCertsGetRequest',
+        ['sha1Fingerprint'],
+      );
+      request.sha1Fingerprint = defaultValue3;
+      const expectedError = new Error('The client has already been closed.');
+      client.close().catch((err) => {
+        throw err;
+      });
+      await assert.rejects(client.get(request), expectedError);
+    });
+  });
 
-        it('invokes insert without error using callback', async () => {
-            const client = new sqlsslcertsserviceModule.v1.SqlSslCertsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlSslCertsInsertRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlSslCertsInsertRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlSslCertsInsertRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SslCertsInsertResponse()
-            );
-            client.innerApiCalls.insert = stubSimpleCallWithCallback(expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.insert(
-                    request,
-                    (err?: Error|null, result?: protos.google.cloud.sql.v1.ISslCertsInsertResponse|null) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.insert as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.insert as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+  describe('insert', () => {
+    it('invokes insert without error', async () => {
+      const client = new sqlsslcertsserviceModule.v1.SqlSslCertsServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlSslCertsInsertRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlSslCertsInsertRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlSslCertsInsertRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SslCertsInsertResponse(),
+      );
+      client.innerApiCalls.insert = stubSimpleCall(expectedResponse);
+      const [response] = await client.insert(request);
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (client.innerApiCalls.insert as SinonStub).getCall(
+        0,
+      ).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.insert as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes insert with error', async () => {
-            const client = new sqlsslcertsserviceModule.v1.SqlSslCertsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlSslCertsInsertRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlSslCertsInsertRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlSslCertsInsertRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedError = new Error('expected');
-            client.innerApiCalls.insert = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.insert(request), expectedError);
-            const actualRequest = (client.innerApiCalls.insert as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.insert as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+    it('invokes insert without error using callback', async () => {
+      const client = new sqlsslcertsserviceModule.v1.SqlSslCertsServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlSslCertsInsertRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlSslCertsInsertRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlSslCertsInsertRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SslCertsInsertResponse(),
+      );
+      client.innerApiCalls.insert =
+        stubSimpleCallWithCallback(expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.insert(
+          request,
+          (
+            err?: Error | null,
+            result?: protos.google.cloud.sql.v1.ISslCertsInsertResponse | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
+            }
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (client.innerApiCalls.insert as SinonStub).getCall(
+        0,
+      ).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.insert as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes insert with closed client', async () => {
-            const client = new sqlsslcertsserviceModule.v1.SqlSslCertsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlSslCertsInsertRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlSslCertsInsertRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlSslCertsInsertRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedError = new Error('The client has already been closed.');
-            client.close().catch(err => {throw err});
-            await assert.rejects(client.insert(request), expectedError);
-        });
+    it('invokes insert with error', async () => {
+      const client = new sqlsslcertsserviceModule.v1.SqlSslCertsServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlSslCertsInsertRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlSslCertsInsertRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlSslCertsInsertRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedError = new Error('expected');
+      client.innerApiCalls.insert = stubSimpleCall(undefined, expectedError);
+      await assert.rejects(client.insert(request), expectedError);
+      const actualRequest = (client.innerApiCalls.insert as SinonStub).getCall(
+        0,
+      ).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.insert as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
     });
 
-    describe('list', () => {
-        it('invokes list without error', async () => {
-            const client = new sqlsslcertsserviceModule.v1.SqlSslCertsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlSslCertsListRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlSslCertsListRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlSslCertsListRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SslCertsListResponse()
-            );
-            client.innerApiCalls.list = stubSimpleCall(expectedResponse);
-            const [response] = await client.list(request);
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.list as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.list as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+    it('invokes insert with closed client', async () => {
+      const client = new sqlsslcertsserviceModule.v1.SqlSslCertsServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlSslCertsInsertRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlSslCertsInsertRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlSslCertsInsertRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedError = new Error('The client has already been closed.');
+      client.close().catch((err) => {
+        throw err;
+      });
+      await assert.rejects(client.insert(request), expectedError);
+    });
+  });
 
-        it('invokes list without error using callback', async () => {
-            const client = new sqlsslcertsserviceModule.v1.SqlSslCertsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlSslCertsListRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlSslCertsListRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlSslCertsListRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SslCertsListResponse()
-            );
-            client.innerApiCalls.list = stubSimpleCallWithCallback(expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.list(
-                    request,
-                    (err?: Error|null, result?: protos.google.cloud.sql.v1.ISslCertsListResponse|null) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.list as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.list as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+  describe('list', () => {
+    it('invokes list without error', async () => {
+      const client = new sqlsslcertsserviceModule.v1.SqlSslCertsServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlSslCertsListRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlSslCertsListRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlSslCertsListRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SslCertsListResponse(),
+      );
+      client.innerApiCalls.list = stubSimpleCall(expectedResponse);
+      const [response] = await client.list(request);
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (client.innerApiCalls.list as SinonStub).getCall(0)
+        .args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.list as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes list with error', async () => {
-            const client = new sqlsslcertsserviceModule.v1.SqlSslCertsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlSslCertsListRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlSslCertsListRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlSslCertsListRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedError = new Error('expected');
-            client.innerApiCalls.list = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.list(request), expectedError);
-            const actualRequest = (client.innerApiCalls.list as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.list as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+    it('invokes list without error using callback', async () => {
+      const client = new sqlsslcertsserviceModule.v1.SqlSslCertsServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlSslCertsListRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlSslCertsListRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlSslCertsListRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SslCertsListResponse(),
+      );
+      client.innerApiCalls.list = stubSimpleCallWithCallback(expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.list(
+          request,
+          (
+            err?: Error | null,
+            result?: protos.google.cloud.sql.v1.ISslCertsListResponse | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
+            }
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (client.innerApiCalls.list as SinonStub).getCall(0)
+        .args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.list as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes list with closed client', async () => {
-            const client = new sqlsslcertsserviceModule.v1.SqlSslCertsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlSslCertsListRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlSslCertsListRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlSslCertsListRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedError = new Error('The client has already been closed.');
-            client.close().catch(err => {throw err});
-            await assert.rejects(client.list(request), expectedError);
-        });
+    it('invokes list with error', async () => {
+      const client = new sqlsslcertsserviceModule.v1.SqlSslCertsServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlSslCertsListRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlSslCertsListRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlSslCertsListRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedError = new Error('expected');
+      client.innerApiCalls.list = stubSimpleCall(undefined, expectedError);
+      await assert.rejects(client.list(request), expectedError);
+      const actualRequest = (client.innerApiCalls.list as SinonStub).getCall(0)
+        .args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.list as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
     });
-    describe('getLocation', () => {
-        it('invokes getLocation without error', async () => {
-            const client = new sqlsslcertsserviceModule.v1.SqlSslCertsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new LocationProtos.google.cloud.location.GetLocationRequest()
-            );
-            request.name = '';
-            const expectedHeaderRequestParams = 'name=';
-            const expectedOptions = {
-                otherArgs: {
-                    headers: {
-                        'x-goog-request-params': expectedHeaderRequestParams,
-                    },
-                },
-            };
-            const expectedResponse = generateSampleMessage(
-              new LocationProtos.google.cloud.location.Location()
-            );
-            client.locationsClient.getLocation = stubSimpleCall(expectedResponse);
-            const response = await client.getLocation(request, expectedOptions);
-            assert.deepStrictEqual(response, [expectedResponse]);
-            assert((client.locationsClient.getLocation as SinonStub)
-                .getCall(0).calledWith(request, expectedOptions, undefined));
-        });
-        it('invokes getLocation without error using callback', async () => {
-            const client = new sqlsslcertsserviceModule.v1.SqlSslCertsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new LocationProtos.google.cloud.location.GetLocationRequest()
-            );
-            request.name = '';
-            const expectedHeaderRequestParams = 'name=';
-            const expectedOptions = {
-                otherArgs: {
-                    headers: {
-                        'x-goog-request-params': expectedHeaderRequestParams,
-                    },
-                },
-            };
-            const expectedResponse = generateSampleMessage(
-              new LocationProtos.google.cloud.location.Location()
-            );
-            client.locationsClient.getLocation = sinon.stub().callsArgWith(2, null, expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.getLocation(
-                    request,
-                    expectedOptions,
-                    (
-                        err?: Error | null,
-                        result?: LocationProtos.google.cloud.location.ILocation | null
-                    ) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            assert((client.locationsClient.getLocation as SinonStub)
-                .getCall(0));
-        });
-        it('invokes getLocation with error', async () => {
-            const client = new sqlsslcertsserviceModule.v1.SqlSslCertsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new LocationProtos.google.cloud.location.GetLocationRequest()
-            );
-            request.name = '';
-            const expectedHeaderRequestParams = 'name=';
-            const expectedOptions = {
-                otherArgs: {
-                    headers: {
-                        'x-goog-request-params': expectedHeaderRequestParams,
-                    },
-                },
-            };
-            const expectedError = new Error('expected');
-            client.locationsClient.getLocation = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.getLocation(request, expectedOptions), expectedError);
-            assert((client.locationsClient.getLocation as SinonStub)
-                .getCall(0).calledWith(request, expectedOptions, undefined));
-        });
+
+    it('invokes list with closed client', async () => {
+      const client = new sqlsslcertsserviceModule.v1.SqlSslCertsServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlSslCertsListRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlSslCertsListRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlSslCertsListRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedError = new Error('The client has already been closed.');
+      client.close().catch((err) => {
+        throw err;
+      });
+      await assert.rejects(client.list(request), expectedError);
     });
-    describe('listLocationsAsync', () => {
-        it('uses async iteration with listLocations without error', async () => {
-            const client = new sqlsslcertsserviceModule.v1.SqlSslCertsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-                new LocationProtos.google.cloud.location.ListLocationsRequest()
-            );
-            request.name = '';
-            const expectedHeaderRequestParams = 'name=';
-            const expectedResponse = [
-                generateSampleMessage(
-                    new LocationProtos.google.cloud.location.Location()
-                ),
-                generateSampleMessage(
-                    new LocationProtos.google.cloud.location.Location()
-                ),
-                generateSampleMessage(
-                    new LocationProtos.google.cloud.location.Location()
-                ),
-            ];
-            client.locationsClient.descriptors.page.listLocations.asyncIterate = stubAsyncIterationCall(expectedResponse);
-            const responses: LocationProtos.google.cloud.location.ILocation[] = [];
-            const iterable = client.listLocationsAsync(request);
-            for await (const resource of iterable) {
-                responses.push(resource!);
+  });
+  describe('getLocation', () => {
+    it('invokes getLocation without error', async () => {
+      const client = new sqlsslcertsserviceModule.v1.SqlSslCertsServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new LocationProtos.google.cloud.location.GetLocationRequest(),
+      );
+      request.name = '';
+      const expectedHeaderRequestParams = 'name=';
+      const expectedOptions = {
+        otherArgs: {
+          headers: {
+            'x-goog-request-params': expectedHeaderRequestParams,
+          },
+        },
+      };
+      const expectedResponse = generateSampleMessage(
+        new LocationProtos.google.cloud.location.Location(),
+      );
+      client.locationsClient.getLocation = stubSimpleCall(expectedResponse);
+      const response = await client.getLocation(request, expectedOptions);
+      assert.deepStrictEqual(response, [expectedResponse]);
+      assert(
+        (client.locationsClient.getLocation as SinonStub)
+          .getCall(0)
+          .calledWith(request, expectedOptions, undefined),
+      );
+    });
+    it('invokes getLocation without error using callback', async () => {
+      const client = new sqlsslcertsserviceModule.v1.SqlSslCertsServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new LocationProtos.google.cloud.location.GetLocationRequest(),
+      );
+      request.name = '';
+      const expectedHeaderRequestParams = 'name=';
+      const expectedOptions = {
+        otherArgs: {
+          headers: {
+            'x-goog-request-params': expectedHeaderRequestParams,
+          },
+        },
+      };
+      const expectedResponse = generateSampleMessage(
+        new LocationProtos.google.cloud.location.Location(),
+      );
+      client.locationsClient.getLocation = sinon
+        .stub()
+        .callsArgWith(2, null, expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.getLocation(
+          request,
+          expectedOptions,
+          (
+            err?: Error | null,
+            result?: LocationProtos.google.cloud.location.ILocation | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
             }
-            assert.deepStrictEqual(responses, expectedResponse);
-            assert.deepStrictEqual(
-                (client.locationsClient.descriptors.page.listLocations.asyncIterate as SinonStub)
-                    .getCall(0).args[1], request);
-            assert(
-                (client.locationsClient.descriptors.page.listLocations.asyncIterate as SinonStub)
-                    .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes(
-                        expectedHeaderRequestParams
-                    )
-            );
-        });
-        it('uses async iteration with listLocations with error', async () => {
-            const client = new sqlsslcertsserviceModule.v1.SqlSslCertsServiceClient({
-                credentials: {client_email: 'bogus', private_key: 'bogus'},
-                projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new LocationProtos.google.cloud.location.ListLocationsRequest()
-            );
-            request.name = '';
-            const expectedHeaderRequestParams = 'name=';
-            const expectedError = new Error('expected');
-            client.locationsClient.descriptors.page.listLocations.asyncIterate = stubAsyncIterationCall(undefined, expectedError);
-            const iterable = client.listLocationsAsync(request);
-            await assert.rejects(async () => {
-                const responses: LocationProtos.google.cloud.location.ILocation[] = [];
-                for await (const resource of iterable) {
-                    responses.push(resource!);
-                }
-            });
-            assert.deepStrictEqual(
-                (client.locationsClient.descriptors.page.listLocations.asyncIterate as SinonStub)
-                    .getCall(0).args[1], request);
-            assert(
-                (client.locationsClient.descriptors.page.listLocations.asyncIterate as SinonStub)
-                    .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes(
-                        expectedHeaderRequestParams
-                    )
-            );
-        });
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      assert((client.locationsClient.getLocation as SinonStub).getCall(0));
     });
+    it('invokes getLocation with error', async () => {
+      const client = new sqlsslcertsserviceModule.v1.SqlSslCertsServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new LocationProtos.google.cloud.location.GetLocationRequest(),
+      );
+      request.name = '';
+      const expectedHeaderRequestParams = 'name=';
+      const expectedOptions = {
+        otherArgs: {
+          headers: {
+            'x-goog-request-params': expectedHeaderRequestParams,
+          },
+        },
+      };
+      const expectedError = new Error('expected');
+      client.locationsClient.getLocation = stubSimpleCall(
+        undefined,
+        expectedError,
+      );
+      await assert.rejects(
+        client.getLocation(request, expectedOptions),
+        expectedError,
+      );
+      assert(
+        (client.locationsClient.getLocation as SinonStub)
+          .getCall(0)
+          .calledWith(request, expectedOptions, undefined),
+      );
+    });
+  });
+  describe('listLocationsAsync', () => {
+    it('uses async iteration with listLocations without error', async () => {
+      const client = new sqlsslcertsserviceModule.v1.SqlSslCertsServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new LocationProtos.google.cloud.location.ListLocationsRequest(),
+      );
+      request.name = '';
+      const expectedHeaderRequestParams = 'name=';
+      const expectedResponse = [
+        generateSampleMessage(
+          new LocationProtos.google.cloud.location.Location(),
+        ),
+        generateSampleMessage(
+          new LocationProtos.google.cloud.location.Location(),
+        ),
+        generateSampleMessage(
+          new LocationProtos.google.cloud.location.Location(),
+        ),
+      ];
+      client.locationsClient.descriptors.page.listLocations.asyncIterate =
+        stubAsyncIterationCall(expectedResponse);
+      const responses: LocationProtos.google.cloud.location.ILocation[] = [];
+      const iterable = client.listLocationsAsync(request);
+      for await (const resource of iterable) {
+        responses.push(resource!);
+      }
+      assert.deepStrictEqual(responses, expectedResponse);
+      assert.deepStrictEqual(
+        (
+          client.locationsClient.descriptors.page.listLocations
+            .asyncIterate as SinonStub
+        ).getCall(0).args[1],
+        request,
+      );
+      assert(
+        (
+          client.locationsClient.descriptors.page.listLocations
+            .asyncIterate as SinonStub
+        )
+          .getCall(0)
+          .args[2].otherArgs.headers['x-goog-request-params'].includes(
+            expectedHeaderRequestParams,
+          ),
+      );
+    });
+    it('uses async iteration with listLocations with error', async () => {
+      const client = new sqlsslcertsserviceModule.v1.SqlSslCertsServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new LocationProtos.google.cloud.location.ListLocationsRequest(),
+      );
+      request.name = '';
+      const expectedHeaderRequestParams = 'name=';
+      const expectedError = new Error('expected');
+      client.locationsClient.descriptors.page.listLocations.asyncIterate =
+        stubAsyncIterationCall(undefined, expectedError);
+      const iterable = client.listLocationsAsync(request);
+      await assert.rejects(async () => {
+        const responses: LocationProtos.google.cloud.location.ILocation[] = [];
+        for await (const resource of iterable) {
+          responses.push(resource!);
+        }
+      });
+      assert.deepStrictEqual(
+        (
+          client.locationsClient.descriptors.page.listLocations
+            .asyncIterate as SinonStub
+        ).getCall(0).args[1],
+        request,
+      );
+      assert(
+        (
+          client.locationsClient.descriptors.page.listLocations
+            .asyncIterate as SinonStub
+        )
+          .getCall(0)
+          .args[2].otherArgs.headers['x-goog-request-params'].includes(
+            expectedHeaderRequestParams,
+          ),
+      );
+    });
+  });
 
-    describe('Path templates', () => {
+  describe('Path templates', () => {
+    describe('backup', async () => {
+      const fakePath = '/rendered/path/backup';
+      const expectedParameters = {
+        project: 'projectValue',
+        backup: 'backupValue',
+      };
+      const client = new sqlsslcertsserviceModule.v1.SqlSslCertsServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      await client.initialize();
+      client.pathTemplates.backupPathTemplate.render = sinon
+        .stub()
+        .returns(fakePath);
+      client.pathTemplates.backupPathTemplate.match = sinon
+        .stub()
+        .returns(expectedParameters);
 
-        describe('backup', async () => {
-            const fakePath = "/rendered/path/backup";
-            const expectedParameters = {
-                project: "projectValue",
-                backup: "backupValue",
-            };
-            const client = new sqlsslcertsserviceModule.v1.SqlSslCertsServiceClient({
-                credentials: {client_email: 'bogus', private_key: 'bogus'},
-                projectId: 'bogus',
-            });
-            await client.initialize();
-            client.pathTemplates.backupPathTemplate.render =
-                sinon.stub().returns(fakePath);
-            client.pathTemplates.backupPathTemplate.match =
-                sinon.stub().returns(expectedParameters);
-
-            it('backupPath', () => {
-                const result = client.backupPath("projectValue", "backupValue");
-                assert.strictEqual(result, fakePath);
-                assert((client.pathTemplates.backupPathTemplate.render as SinonStub)
-                    .getCall(-1).calledWith(expectedParameters));
-            });
+      it('backupPath', () => {
+        const result = client.backupPath('projectValue', 'backupValue');
+        assert.strictEqual(result, fakePath);
+        assert(
+          (client.pathTemplates.backupPathTemplate.render as SinonStub)
+            .getCall(-1)
+            .calledWith(expectedParameters),
+        );
+      });
 
-            it('matchProjectFromBackupName', () => {
-                const result = client.matchProjectFromBackupName(fakePath);
-                assert.strictEqual(result, "projectValue");
-                assert((client.pathTemplates.backupPathTemplate.match as SinonStub)
-                    .getCall(-1).calledWith(fakePath));
-            });
+      it('matchProjectFromBackupName', () => {
+        const result = client.matchProjectFromBackupName(fakePath);
+        assert.strictEqual(result, 'projectValue');
+        assert(
+          (client.pathTemplates.backupPathTemplate.match as SinonStub)
+            .getCall(-1)
+            .calledWith(fakePath),
+        );
+      });
 
-            it('matchBackupFromBackupName', () => {
-                const result = client.matchBackupFromBackupName(fakePath);
-                assert.strictEqual(result, "backupValue");
-                assert((client.pathTemplates.backupPathTemplate.match as SinonStub)
-                    .getCall(-1).calledWith(fakePath));
-            });
-        });
+      it('matchBackupFromBackupName', () => {
+        const result = client.matchBackupFromBackupName(fakePath);
+        assert.strictEqual(result, 'backupValue');
+        assert(
+          (client.pathTemplates.backupPathTemplate.match as SinonStub)
+            .getCall(-1)
+            .calledWith(fakePath),
+        );
+      });
     });
+  });
 });
diff --git a/packages/google-cloud-sql/test/gapic_sql_ssl_certs_service_v1beta4.ts b/packages/google-cloud-sql/test/gapic_sql_ssl_certs_service_v1beta4.ts
index 40109a1edb60..7b9549c8daf5 100644
--- a/packages/google-cloud-sql/test/gapic_sql_ssl_certs_service_v1beta4.ts
+++ b/packages/google-cloud-sql/test/gapic_sql_ssl_certs_service_v1beta4.ts
@@ -19,957 +19,1213 @@
 import * as protos from '../protos/protos';
 import * as assert from 'assert';
 import * as sinon from 'sinon';
-import {SinonStub} from 'sinon';
-import {describe, it} from 'mocha';
+import { SinonStub } from 'sinon';
+import { describe, it } from 'mocha';
 import * as sqlsslcertsserviceModule from '../src';
 
-import {protobuf, LocationProtos} from 'google-gax';
+import { protobuf, LocationProtos } from 'google-gax';
 
 // Dynamically loaded proto JSON is needed to get the type information
 // to fill in default values for request objects
-const root = protobuf.Root.fromJSON(require('../protos/protos.json')).resolveAll();
+const root = protobuf.Root.fromJSON(
+  require('../protos/protos.json'),
+).resolveAll();
 
 // eslint-disable-next-line @typescript-eslint/no-unused-vars
 function getTypeDefaultValue(typeName: string, fields: string[]) {
-    let type = root.lookupType(typeName) as protobuf.Type;
-    for (const field of fields.slice(0, -1)) {
-        type = type.fields[field]?.resolvedType as protobuf.Type;
-    }
-    return type.fields[fields[fields.length - 1]]?.defaultValue;
+  let type = root.lookupType(typeName) as protobuf.Type;
+  for (const field of fields.slice(0, -1)) {
+    type = type.fields[field]?.resolvedType as protobuf.Type;
+  }
+  return type.fields[fields[fields.length - 1]]?.defaultValue;
 }
 
 function generateSampleMessage<T extends object>(instance: T) {
-    const filledObject = (instance.constructor as typeof protobuf.Message)
-        .toObject(instance as protobuf.Message<T>, {defaults: true});
-    return (instance.constructor as typeof protobuf.Message).fromObject(filledObject) as T;
+  const filledObject = (
+    instance.constructor as typeof protobuf.Message
+  ).toObject(instance as protobuf.Message<T>, { defaults: true });
+  return (instance.constructor as typeof protobuf.Message).fromObject(
+    filledObject,
+  ) as T;
 }
 
 function stubSimpleCall<ResponseType>(response?: ResponseType, error?: Error) {
-    return error ? sinon.stub().rejects(error) : sinon.stub().resolves([response]);
+  return error
+    ? sinon.stub().rejects(error)
+    : sinon.stub().resolves([response]);
 }
 
-function stubSimpleCallWithCallback<ResponseType>(response?: ResponseType, error?: Error) {
-    return error ? sinon.stub().callsArgWith(2, error) : sinon.stub().callsArgWith(2, null, response);
+function stubSimpleCallWithCallback<ResponseType>(
+  response?: ResponseType,
+  error?: Error,
+) {
+  return error
+    ? sinon.stub().callsArgWith(2, error)
+    : sinon.stub().callsArgWith(2, null, response);
 }
 
-function stubAsyncIterationCall<ResponseType>(responses?: ResponseType[], error?: Error) {
-    let counter = 0;
-    const asyncIterable = {
-        [Symbol.asyncIterator]() {
-            return {
-                async next() {
-                    if (error) {
-                        return Promise.reject(error);
-                    }
-                    if (counter >= responses!.length) {
-                        return Promise.resolve({done: true, value: undefined});
-                    }
-                    return Promise.resolve({done: false, value: responses![counter++]});
-                }
-            };
-        }
-    };
-    return sinon.stub().returns(asyncIterable);
+function stubAsyncIterationCall<ResponseType>(
+  responses?: ResponseType[],
+  error?: Error,
+) {
+  let counter = 0;
+  const asyncIterable = {
+    [Symbol.asyncIterator]() {
+      return {
+        async next() {
+          if (error) {
+            return Promise.reject(error);
+          }
+          if (counter >= responses!.length) {
+            return Promise.resolve({ done: true, value: undefined });
+          }
+          return Promise.resolve({ done: false, value: responses![counter++] });
+        },
+      };
+    },
+  };
+  return sinon.stub().returns(asyncIterable);
 }
 
 describe('v1beta4.SqlSslCertsServiceClient', () => {
-    describe('Common methods', () => {
-        it('has apiEndpoint', () => {
-            const client = new sqlsslcertsserviceModule.v1beta4.SqlSslCertsServiceClient();
-            const apiEndpoint = client.apiEndpoint;
-            assert.strictEqual(apiEndpoint, 'sqladmin.googleapis.com');
-        });
-
-        it('has universeDomain', () => {
-            const client = new sqlsslcertsserviceModule.v1beta4.SqlSslCertsServiceClient();
-            const universeDomain = client.universeDomain;
-            assert.strictEqual(universeDomain, "googleapis.com");
-        });
-
-        if (typeof process === 'object' && typeof process.emitWarning === 'function') {
-            it('throws DeprecationWarning if static servicePath is used', () => {
-                const stub = sinon.stub(process, 'emitWarning');
-                const servicePath = sqlsslcertsserviceModule.v1beta4.SqlSslCertsServiceClient.servicePath;
-                assert.strictEqual(servicePath, 'sqladmin.googleapis.com');
-                assert(stub.called);
-                stub.restore();
-            });
+  describe('Common methods', () => {
+    it('has apiEndpoint', () => {
+      const client =
+        new sqlsslcertsserviceModule.v1beta4.SqlSslCertsServiceClient();
+      const apiEndpoint = client.apiEndpoint;
+      assert.strictEqual(apiEndpoint, 'sqladmin.googleapis.com');
+    });
 
-            it('throws DeprecationWarning if static apiEndpoint is used', () => {
-                const stub = sinon.stub(process, 'emitWarning');
-                const apiEndpoint = sqlsslcertsserviceModule.v1beta4.SqlSslCertsServiceClient.apiEndpoint;
-                assert.strictEqual(apiEndpoint, 'sqladmin.googleapis.com');
-                assert(stub.called);
-                stub.restore();
-            });
-        }
-        it('sets apiEndpoint according to universe domain camelCase', () => {
-            const client = new sqlsslcertsserviceModule.v1beta4.SqlSslCertsServiceClient({universeDomain: 'example.com'});
-            const servicePath = client.apiEndpoint;
-            assert.strictEqual(servicePath, 'sqladmin.example.com');
-        });
-
-        it('sets apiEndpoint according to universe domain snakeCase', () => {
-            const client = new sqlsslcertsserviceModule.v1beta4.SqlSslCertsServiceClient({universe_domain: 'example.com'});
-            const servicePath = client.apiEndpoint;
-            assert.strictEqual(servicePath, 'sqladmin.example.com');
-        });
-
-        if (typeof process === 'object' && 'env' in process) {
-            describe('GOOGLE_CLOUD_UNIVERSE_DOMAIN environment variable', () => {
-                it('sets apiEndpoint from environment variable', () => {
-                    const saved = process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
-                    process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = 'example.com';
-                    const client = new sqlsslcertsserviceModule.v1beta4.SqlSslCertsServiceClient();
-                    const servicePath = client.apiEndpoint;
-                    assert.strictEqual(servicePath, 'sqladmin.example.com');
-                    if (saved) {
-                        process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = saved;
-                    } else {
-                        delete process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
-                    }
-                });
-
-                it('value configured in code has priority over environment variable', () => {
-                    const saved = process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
-                    process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = 'example.com';
-                    const client = new sqlsslcertsserviceModule.v1beta4.SqlSslCertsServiceClient({universeDomain: 'configured.example.com'});
-                    const servicePath = client.apiEndpoint;
-                    assert.strictEqual(servicePath, 'sqladmin.configured.example.com');
-                    if (saved) {
-                        process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = saved;
-                    } else {
-                        delete process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
-                    }
-                });
-            });
-        }
-        it('does not allow setting both universeDomain and universe_domain', () => {
-            assert.throws(() => { new sqlsslcertsserviceModule.v1beta4.SqlSslCertsServiceClient({universe_domain: 'example.com', universeDomain: 'example.net'}); });
+    it('has universeDomain', () => {
+      const client =
+        new sqlsslcertsserviceModule.v1beta4.SqlSslCertsServiceClient();
+      const universeDomain = client.universeDomain;
+      assert.strictEqual(universeDomain, 'googleapis.com');
+    });
+
+    if (
+      typeof process === 'object' &&
+      typeof process.emitWarning === 'function'
+    ) {
+      it('throws DeprecationWarning if static servicePath is used', () => {
+        const stub = sinon.stub(process, 'emitWarning');
+        const servicePath =
+          sqlsslcertsserviceModule.v1beta4.SqlSslCertsServiceClient.servicePath;
+        assert.strictEqual(servicePath, 'sqladmin.googleapis.com');
+        assert(stub.called);
+        stub.restore();
+      });
+
+      it('throws DeprecationWarning if static apiEndpoint is used', () => {
+        const stub = sinon.stub(process, 'emitWarning');
+        const apiEndpoint =
+          sqlsslcertsserviceModule.v1beta4.SqlSslCertsServiceClient.apiEndpoint;
+        assert.strictEqual(apiEndpoint, 'sqladmin.googleapis.com');
+        assert(stub.called);
+        stub.restore();
+      });
+    }
+    it('sets apiEndpoint according to universe domain camelCase', () => {
+      const client =
+        new sqlsslcertsserviceModule.v1beta4.SqlSslCertsServiceClient({
+          universeDomain: 'example.com',
         });
+      const servicePath = client.apiEndpoint;
+      assert.strictEqual(servicePath, 'sqladmin.example.com');
+    });
 
-        it('has port', () => {
-            const port = sqlsslcertsserviceModule.v1beta4.SqlSslCertsServiceClient.port;
-            assert(port);
-            assert(typeof port === 'number');
+    it('sets apiEndpoint according to universe domain snakeCase', () => {
+      const client =
+        new sqlsslcertsserviceModule.v1beta4.SqlSslCertsServiceClient({
+          universe_domain: 'example.com',
         });
+      const servicePath = client.apiEndpoint;
+      assert.strictEqual(servicePath, 'sqladmin.example.com');
+    });
 
-        it('should create a client with no option', () => {
-            const client = new sqlsslcertsserviceModule.v1beta4.SqlSslCertsServiceClient();
-            assert(client);
+    if (typeof process === 'object' && 'env' in process) {
+      describe('GOOGLE_CLOUD_UNIVERSE_DOMAIN environment variable', () => {
+        it('sets apiEndpoint from environment variable', () => {
+          const saved = process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
+          process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = 'example.com';
+          const client =
+            new sqlsslcertsserviceModule.v1beta4.SqlSslCertsServiceClient();
+          const servicePath = client.apiEndpoint;
+          assert.strictEqual(servicePath, 'sqladmin.example.com');
+          if (saved) {
+            process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = saved;
+          } else {
+            delete process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
+          }
         });
 
-        it('should create a client with gRPC fallback', () => {
-            const client = new sqlsslcertsserviceModule.v1beta4.SqlSslCertsServiceClient({
-                fallback: true,
+        it('value configured in code has priority over environment variable', () => {
+          const saved = process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
+          process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = 'example.com';
+          const client =
+            new sqlsslcertsserviceModule.v1beta4.SqlSslCertsServiceClient({
+              universeDomain: 'configured.example.com',
             });
-            assert(client);
+          const servicePath = client.apiEndpoint;
+          assert.strictEqual(servicePath, 'sqladmin.configured.example.com');
+          if (saved) {
+            process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = saved;
+          } else {
+            delete process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
+          }
         });
+      });
+    }
+    it('does not allow setting both universeDomain and universe_domain', () => {
+      assert.throws(() => {
+        new sqlsslcertsserviceModule.v1beta4.SqlSslCertsServiceClient({
+          universe_domain: 'example.com',
+          universeDomain: 'example.net',
+        });
+      });
+    });
 
-        it('has initialize method and supports deferred initialization', async () => {
-            const client = new sqlsslcertsserviceModule.v1beta4.SqlSslCertsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            assert.strictEqual(client.sqlSslCertsServiceStub, undefined);
-            await client.initialize();
-            assert(client.sqlSslCertsServiceStub);
+    it('has port', () => {
+      const port =
+        sqlsslcertsserviceModule.v1beta4.SqlSslCertsServiceClient.port;
+      assert(port);
+      assert(typeof port === 'number');
+    });
+
+    it('should create a client with no option', () => {
+      const client =
+        new sqlsslcertsserviceModule.v1beta4.SqlSslCertsServiceClient();
+      assert(client);
+    });
+
+    it('should create a client with gRPC fallback', () => {
+      const client =
+        new sqlsslcertsserviceModule.v1beta4.SqlSslCertsServiceClient({
+          fallback: true,
         });
+      assert(client);
+    });
 
-        it('has close method for the initialized client', done => {
-            const client = new sqlsslcertsserviceModule.v1beta4.SqlSslCertsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            client.initialize().catch(err => {throw err});
-            assert(client.sqlSslCertsServiceStub);
-            client.close().then(() => {
-                done();
-            }).catch(err => {throw err});
+    it('has initialize method and supports deferred initialization', async () => {
+      const client =
+        new sqlsslcertsserviceModule.v1beta4.SqlSslCertsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
         });
+      assert.strictEqual(client.sqlSslCertsServiceStub, undefined);
+      await client.initialize();
+      assert(client.sqlSslCertsServiceStub);
+    });
 
-        it('has close method for the non-initialized client', done => {
-            const client = new sqlsslcertsserviceModule.v1beta4.SqlSslCertsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            assert.strictEqual(client.sqlSslCertsServiceStub, undefined);
-            client.close().then(() => {
-                done();
-            }).catch(err => {throw err});
+    it('has close method for the initialized client', (done) => {
+      const client =
+        new sqlsslcertsserviceModule.v1beta4.SqlSslCertsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      client.initialize().catch((err) => {
+        throw err;
+      });
+      assert(client.sqlSslCertsServiceStub);
+      client
+        .close()
+        .then(() => {
+          done();
+        })
+        .catch((err) => {
+          throw err;
         });
+    });
 
-        it('has getProjectId method', async () => {
-            const fakeProjectId = 'fake-project-id';
-            const client = new sqlsslcertsserviceModule.v1beta4.SqlSslCertsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            client.auth.getProjectId = sinon.stub().resolves(fakeProjectId);
-            const result = await client.getProjectId();
-            assert.strictEqual(result, fakeProjectId);
-            assert((client.auth.getProjectId as SinonStub).calledWithExactly());
+    it('has close method for the non-initialized client', (done) => {
+      const client =
+        new sqlsslcertsserviceModule.v1beta4.SqlSslCertsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
         });
+      assert.strictEqual(client.sqlSslCertsServiceStub, undefined);
+      client
+        .close()
+        .then(() => {
+          done();
+        })
+        .catch((err) => {
+          throw err;
+        });
+    });
 
-        it('has getProjectId method with callback', async () => {
-            const fakeProjectId = 'fake-project-id';
-            const client = new sqlsslcertsserviceModule.v1beta4.SqlSslCertsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            client.auth.getProjectId = sinon.stub().callsArgWith(0, null, fakeProjectId);
-            const promise = new Promise((resolve, reject) => {
-                client.getProjectId((err?: Error|null, projectId?: string|null) => {
-                    if (err) {
-                        reject(err);
-                    } else {
-                        resolve(projectId);
-                    }
-                });
-            });
-            const result = await promise;
-            assert.strictEqual(result, fakeProjectId);
+    it('has getProjectId method', async () => {
+      const fakeProjectId = 'fake-project-id';
+      const client =
+        new sqlsslcertsserviceModule.v1beta4.SqlSslCertsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
         });
+      client.auth.getProjectId = sinon.stub().resolves(fakeProjectId);
+      const result = await client.getProjectId();
+      assert.strictEqual(result, fakeProjectId);
+      assert((client.auth.getProjectId as SinonStub).calledWithExactly());
     });
 
-    describe('delete', () => {
-        it('invokes delete without error', async () => {
-            const client = new sqlsslcertsserviceModule.v1beta4.SqlSslCertsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlSslCertsDeleteRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlSslCertsDeleteRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlSslCertsDeleteRequest', ['instance']);
-            request.instance = defaultValue2;
-            const defaultValue3 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlSslCertsDeleteRequest', ['sha1Fingerprint']);
-            request.sha1Fingerprint = defaultValue3;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }&sha1_fingerprint=${defaultValue3 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.Operation()
-            );
-            client.innerApiCalls.delete = stubSimpleCall(expectedResponse);
-            const [response] = await client.delete(request);
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.delete as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.delete as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes delete without error using callback', async () => {
-            const client = new sqlsslcertsserviceModule.v1beta4.SqlSslCertsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlSslCertsDeleteRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlSslCertsDeleteRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlSslCertsDeleteRequest', ['instance']);
-            request.instance = defaultValue2;
-            const defaultValue3 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlSslCertsDeleteRequest', ['sha1Fingerprint']);
-            request.sha1Fingerprint = defaultValue3;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }&sha1_fingerprint=${defaultValue3 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.Operation()
-            );
-            client.innerApiCalls.delete = stubSimpleCallWithCallback(expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.delete(
-                    request,
-                    (err?: Error|null, result?: protos.google.cloud.sql.v1beta4.IOperation|null) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.delete as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.delete as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes delete with error', async () => {
-            const client = new sqlsslcertsserviceModule.v1beta4.SqlSslCertsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlSslCertsDeleteRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlSslCertsDeleteRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlSslCertsDeleteRequest', ['instance']);
-            request.instance = defaultValue2;
-            const defaultValue3 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlSslCertsDeleteRequest', ['sha1Fingerprint']);
-            request.sha1Fingerprint = defaultValue3;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }&sha1_fingerprint=${defaultValue3 ?? '' }`;
-            const expectedError = new Error('expected');
-            client.innerApiCalls.delete = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.delete(request), expectedError);
-            const actualRequest = (client.innerApiCalls.delete as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.delete as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes delete with closed client', async () => {
-            const client = new sqlsslcertsserviceModule.v1beta4.SqlSslCertsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlSslCertsDeleteRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlSslCertsDeleteRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlSslCertsDeleteRequest', ['instance']);
-            request.instance = defaultValue2;
-            const defaultValue3 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlSslCertsDeleteRequest', ['sha1Fingerprint']);
-            request.sha1Fingerprint = defaultValue3;
-            const expectedError = new Error('The client has already been closed.');
-            client.close().catch(err => {throw err});
-            await assert.rejects(client.delete(request), expectedError);
-        });
-    });
-
-    describe('get', () => {
-        it('invokes get without error', async () => {
-            const client = new sqlsslcertsserviceModule.v1beta4.SqlSslCertsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlSslCertsGetRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlSslCertsGetRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlSslCertsGetRequest', ['instance']);
-            request.instance = defaultValue2;
-            const defaultValue3 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlSslCertsGetRequest', ['sha1Fingerprint']);
-            request.sha1Fingerprint = defaultValue3;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }&sha1_fingerprint=${defaultValue3 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SslCert()
-            );
-            client.innerApiCalls.get = stubSimpleCall(expectedResponse);
-            const [response] = await client.get(request);
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.get as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.get as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes get without error using callback', async () => {
-            const client = new sqlsslcertsserviceModule.v1beta4.SqlSslCertsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlSslCertsGetRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlSslCertsGetRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlSslCertsGetRequest', ['instance']);
-            request.instance = defaultValue2;
-            const defaultValue3 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlSslCertsGetRequest', ['sha1Fingerprint']);
-            request.sha1Fingerprint = defaultValue3;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }&sha1_fingerprint=${defaultValue3 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SslCert()
-            );
-            client.innerApiCalls.get = stubSimpleCallWithCallback(expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.get(
-                    request,
-                    (err?: Error|null, result?: protos.google.cloud.sql.v1beta4.ISslCert|null) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.get as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.get as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes get with error', async () => {
-            const client = new sqlsslcertsserviceModule.v1beta4.SqlSslCertsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlSslCertsGetRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlSslCertsGetRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlSslCertsGetRequest', ['instance']);
-            request.instance = defaultValue2;
-            const defaultValue3 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlSslCertsGetRequest', ['sha1Fingerprint']);
-            request.sha1Fingerprint = defaultValue3;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }&sha1_fingerprint=${defaultValue3 ?? '' }`;
-            const expectedError = new Error('expected');
-            client.innerApiCalls.get = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.get(request), expectedError);
-            const actualRequest = (client.innerApiCalls.get as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.get as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes get with closed client', async () => {
-            const client = new sqlsslcertsserviceModule.v1beta4.SqlSslCertsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlSslCertsGetRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlSslCertsGetRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlSslCertsGetRequest', ['instance']);
-            request.instance = defaultValue2;
-            const defaultValue3 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlSslCertsGetRequest', ['sha1Fingerprint']);
-            request.sha1Fingerprint = defaultValue3;
-            const expectedError = new Error('The client has already been closed.');
-            client.close().catch(err => {throw err});
-            await assert.rejects(client.get(request), expectedError);
-        });
-    });
-
-    describe('insert', () => {
-        it('invokes insert without error', async () => {
-            const client = new sqlsslcertsserviceModule.v1beta4.SqlSslCertsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlSslCertsInsertRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlSslCertsInsertRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlSslCertsInsertRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SslCertsInsertResponse()
-            );
-            client.innerApiCalls.insert = stubSimpleCall(expectedResponse);
-            const [response] = await client.insert(request);
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.insert as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.insert as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes insert without error using callback', async () => {
-            const client = new sqlsslcertsserviceModule.v1beta4.SqlSslCertsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlSslCertsInsertRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlSslCertsInsertRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlSslCertsInsertRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SslCertsInsertResponse()
-            );
-            client.innerApiCalls.insert = stubSimpleCallWithCallback(expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.insert(
-                    request,
-                    (err?: Error|null, result?: protos.google.cloud.sql.v1beta4.ISslCertsInsertResponse|null) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.insert as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.insert as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes insert with error', async () => {
-            const client = new sqlsslcertsserviceModule.v1beta4.SqlSslCertsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlSslCertsInsertRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlSslCertsInsertRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlSslCertsInsertRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedError = new Error('expected');
-            client.innerApiCalls.insert = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.insert(request), expectedError);
-            const actualRequest = (client.innerApiCalls.insert as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.insert as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes insert with closed client', async () => {
-            const client = new sqlsslcertsserviceModule.v1beta4.SqlSslCertsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlSslCertsInsertRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlSslCertsInsertRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlSslCertsInsertRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedError = new Error('The client has already been closed.');
-            client.close().catch(err => {throw err});
-            await assert.rejects(client.insert(request), expectedError);
-        });
-    });
-
-    describe('list', () => {
-        it('invokes list without error', async () => {
-            const client = new sqlsslcertsserviceModule.v1beta4.SqlSslCertsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlSslCertsListRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlSslCertsListRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlSslCertsListRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SslCertsListResponse()
-            );
-            client.innerApiCalls.list = stubSimpleCall(expectedResponse);
-            const [response] = await client.list(request);
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.list as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.list as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes list without error using callback', async () => {
-            const client = new sqlsslcertsserviceModule.v1beta4.SqlSslCertsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlSslCertsListRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlSslCertsListRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlSslCertsListRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SslCertsListResponse()
-            );
-            client.innerApiCalls.list = stubSimpleCallWithCallback(expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.list(
-                    request,
-                    (err?: Error|null, result?: protos.google.cloud.sql.v1beta4.ISslCertsListResponse|null) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.list as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.list as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes list with error', async () => {
-            const client = new sqlsslcertsserviceModule.v1beta4.SqlSslCertsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlSslCertsListRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlSslCertsListRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlSslCertsListRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedError = new Error('expected');
-            client.innerApiCalls.list = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.list(request), expectedError);
-            const actualRequest = (client.innerApiCalls.list as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.list as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
-
-        it('invokes list with closed client', async () => {
-            const client = new sqlsslcertsserviceModule.v1beta4.SqlSslCertsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlSslCertsListRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlSslCertsListRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlSslCertsListRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedError = new Error('The client has already been closed.');
-            client.close().catch(err => {throw err});
-            await assert.rejects(client.list(request), expectedError);
-        });
-    });
-    describe('getLocation', () => {
-        it('invokes getLocation without error', async () => {
-            const client = new sqlsslcertsserviceModule.v1beta4.SqlSslCertsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new LocationProtos.google.cloud.location.GetLocationRequest()
-            );
-            request.name = '';
-            const expectedHeaderRequestParams = 'name=';
-            const expectedOptions = {
-                otherArgs: {
-                    headers: {
-                        'x-goog-request-params': expectedHeaderRequestParams,
-                    },
-                },
-            };
-            const expectedResponse = generateSampleMessage(
-              new LocationProtos.google.cloud.location.Location()
-            );
-            client.locationsClient.getLocation = stubSimpleCall(expectedResponse);
-            const response = await client.getLocation(request, expectedOptions);
-            assert.deepStrictEqual(response, [expectedResponse]);
-            assert((client.locationsClient.getLocation as SinonStub)
-                .getCall(0).calledWith(request, expectedOptions, undefined));
-        });
-        it('invokes getLocation without error using callback', async () => {
-            const client = new sqlsslcertsserviceModule.v1beta4.SqlSslCertsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new LocationProtos.google.cloud.location.GetLocationRequest()
-            );
-            request.name = '';
-            const expectedHeaderRequestParams = 'name=';
-            const expectedOptions = {
-                otherArgs: {
-                    headers: {
-                        'x-goog-request-params': expectedHeaderRequestParams,
-                    },
-                },
-            };
-            const expectedResponse = generateSampleMessage(
-              new LocationProtos.google.cloud.location.Location()
-            );
-            client.locationsClient.getLocation = sinon.stub().callsArgWith(2, null, expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.getLocation(
-                    request,
-                    expectedOptions,
-                    (
-                        err?: Error | null,
-                        result?: LocationProtos.google.cloud.location.ILocation | null
-                    ) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            assert((client.locationsClient.getLocation as SinonStub)
-                .getCall(0));
-        });
-        it('invokes getLocation with error', async () => {
-            const client = new sqlsslcertsserviceModule.v1beta4.SqlSslCertsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new LocationProtos.google.cloud.location.GetLocationRequest()
-            );
-            request.name = '';
-            const expectedHeaderRequestParams = 'name=';
-            const expectedOptions = {
-                otherArgs: {
-                    headers: {
-                        'x-goog-request-params': expectedHeaderRequestParams,
-                    },
-                },
-            };
-            const expectedError = new Error('expected');
-            client.locationsClient.getLocation = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.getLocation(request, expectedOptions), expectedError);
-            assert((client.locationsClient.getLocation as SinonStub)
-                .getCall(0).calledWith(request, expectedOptions, undefined));
-        });
-    });
-    describe('listLocationsAsync', () => {
-        it('uses async iteration with listLocations without error', async () => {
-            const client = new sqlsslcertsserviceModule.v1beta4.SqlSslCertsServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-                new LocationProtos.google.cloud.location.ListLocationsRequest()
-            );
-            request.name = '';
-            const expectedHeaderRequestParams = 'name=';
-            const expectedResponse = [
-                generateSampleMessage(
-                    new LocationProtos.google.cloud.location.Location()
-                ),
-                generateSampleMessage(
-                    new LocationProtos.google.cloud.location.Location()
-                ),
-                generateSampleMessage(
-                    new LocationProtos.google.cloud.location.Location()
-                ),
-            ];
-            client.locationsClient.descriptors.page.listLocations.asyncIterate = stubAsyncIterationCall(expectedResponse);
-            const responses: LocationProtos.google.cloud.location.ILocation[] = [];
-            const iterable = client.listLocationsAsync(request);
-            for await (const resource of iterable) {
-                responses.push(resource!);
+    it('has getProjectId method with callback', async () => {
+      const fakeProjectId = 'fake-project-id';
+      const client =
+        new sqlsslcertsserviceModule.v1beta4.SqlSslCertsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      client.auth.getProjectId = sinon
+        .stub()
+        .callsArgWith(0, null, fakeProjectId);
+      const promise = new Promise((resolve, reject) => {
+        client.getProjectId((err?: Error | null, projectId?: string | null) => {
+          if (err) {
+            reject(err);
+          } else {
+            resolve(projectId);
+          }
+        });
+      });
+      const result = await promise;
+      assert.strictEqual(result, fakeProjectId);
+    });
+  });
+
+  describe('delete', () => {
+    it('invokes delete without error', async () => {
+      const client =
+        new sqlsslcertsserviceModule.v1beta4.SqlSslCertsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlSslCertsDeleteRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlSslCertsDeleteRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlSslCertsDeleteRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const defaultValue3 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlSslCertsDeleteRequest',
+        ['sha1Fingerprint'],
+      );
+      request.sha1Fingerprint = defaultValue3;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}&sha1_fingerprint=${defaultValue3 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.Operation(),
+      );
+      client.innerApiCalls.delete = stubSimpleCall(expectedResponse);
+      const [response] = await client.delete(request);
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (client.innerApiCalls.delete as SinonStub).getCall(
+        0,
+      ).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.delete as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes delete without error using callback', async () => {
+      const client =
+        new sqlsslcertsserviceModule.v1beta4.SqlSslCertsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlSslCertsDeleteRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlSslCertsDeleteRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlSslCertsDeleteRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const defaultValue3 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlSslCertsDeleteRequest',
+        ['sha1Fingerprint'],
+      );
+      request.sha1Fingerprint = defaultValue3;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}&sha1_fingerprint=${defaultValue3 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.Operation(),
+      );
+      client.innerApiCalls.delete =
+        stubSimpleCallWithCallback(expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.delete(
+          request,
+          (
+            err?: Error | null,
+            result?: protos.google.cloud.sql.v1beta4.IOperation | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
             }
-            assert.deepStrictEqual(responses, expectedResponse);
-            assert.deepStrictEqual(
-                (client.locationsClient.descriptors.page.listLocations.asyncIterate as SinonStub)
-                    .getCall(0).args[1], request);
-            assert(
-                (client.locationsClient.descriptors.page.listLocations.asyncIterate as SinonStub)
-                    .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes(
-                        expectedHeaderRequestParams
-                    )
-            );
-        });
-        it('uses async iteration with listLocations with error', async () => {
-            const client = new sqlsslcertsserviceModule.v1beta4.SqlSslCertsServiceClient({
-                credentials: {client_email: 'bogus', private_key: 'bogus'},
-                projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new LocationProtos.google.cloud.location.ListLocationsRequest()
-            );
-            request.name = '';
-            const expectedHeaderRequestParams = 'name=';
-            const expectedError = new Error('expected');
-            client.locationsClient.descriptors.page.listLocations.asyncIterate = stubAsyncIterationCall(undefined, expectedError);
-            const iterable = client.listLocationsAsync(request);
-            await assert.rejects(async () => {
-                const responses: LocationProtos.google.cloud.location.ILocation[] = [];
-                for await (const resource of iterable) {
-                    responses.push(resource!);
-                }
-            });
-            assert.deepStrictEqual(
-                (client.locationsClient.descriptors.page.listLocations.asyncIterate as SinonStub)
-                    .getCall(0).args[1], request);
-            assert(
-                (client.locationsClient.descriptors.page.listLocations.asyncIterate as SinonStub)
-                    .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes(
-                        expectedHeaderRequestParams
-                    )
-            );
-        });
-    });
-
-    describe('Path templates', () => {
-
-        describe('backup', async () => {
-            const fakePath = "/rendered/path/backup";
-            const expectedParameters = {
-                project: "projectValue",
-                backup: "backupValue",
-            };
-            const client = new sqlsslcertsserviceModule.v1beta4.SqlSslCertsServiceClient({
-                credentials: {client_email: 'bogus', private_key: 'bogus'},
-                projectId: 'bogus',
-            });
-            await client.initialize();
-            client.pathTemplates.backupPathTemplate.render =
-                sinon.stub().returns(fakePath);
-            client.pathTemplates.backupPathTemplate.match =
-                sinon.stub().returns(expectedParameters);
-
-            it('backupPath', () => {
-                const result = client.backupPath("projectValue", "backupValue");
-                assert.strictEqual(result, fakePath);
-                assert((client.pathTemplates.backupPathTemplate.render as SinonStub)
-                    .getCall(-1).calledWith(expectedParameters));
-            });
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (client.innerApiCalls.delete as SinonStub).getCall(
+        0,
+      ).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.delete as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-            it('matchProjectFromBackupName', () => {
-                const result = client.matchProjectFromBackupName(fakePath);
-                assert.strictEqual(result, "projectValue");
-                assert((client.pathTemplates.backupPathTemplate.match as SinonStub)
-                    .getCall(-1).calledWith(fakePath));
-            });
+    it('invokes delete with error', async () => {
+      const client =
+        new sqlsslcertsserviceModule.v1beta4.SqlSslCertsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlSslCertsDeleteRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlSslCertsDeleteRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlSslCertsDeleteRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const defaultValue3 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlSslCertsDeleteRequest',
+        ['sha1Fingerprint'],
+      );
+      request.sha1Fingerprint = defaultValue3;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}&sha1_fingerprint=${defaultValue3 ?? ''}`;
+      const expectedError = new Error('expected');
+      client.innerApiCalls.delete = stubSimpleCall(undefined, expectedError);
+      await assert.rejects(client.delete(request), expectedError);
+      const actualRequest = (client.innerApiCalls.delete as SinonStub).getCall(
+        0,
+      ).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.delete as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-            it('matchBackupFromBackupName', () => {
-                const result = client.matchBackupFromBackupName(fakePath);
-                assert.strictEqual(result, "backupValue");
-                assert((client.pathTemplates.backupPathTemplate.match as SinonStub)
-                    .getCall(-1).calledWith(fakePath));
-            });
+    it('invokes delete with closed client', async () => {
+      const client =
+        new sqlsslcertsserviceModule.v1beta4.SqlSslCertsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
         });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlSslCertsDeleteRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlSslCertsDeleteRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlSslCertsDeleteRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const defaultValue3 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlSslCertsDeleteRequest',
+        ['sha1Fingerprint'],
+      );
+      request.sha1Fingerprint = defaultValue3;
+      const expectedError = new Error('The client has already been closed.');
+      client.close().catch((err) => {
+        throw err;
+      });
+      await assert.rejects(client.delete(request), expectedError);
+    });
+  });
 
-        describe('project', async () => {
-            const fakePath = "/rendered/path/project";
-            const expectedParameters = {
-                project: "projectValue",
-            };
-            const client = new sqlsslcertsserviceModule.v1beta4.SqlSslCertsServiceClient({
-                credentials: {client_email: 'bogus', private_key: 'bogus'},
-                projectId: 'bogus',
-            });
-            await client.initialize();
-            client.pathTemplates.projectPathTemplate.render =
-                sinon.stub().returns(fakePath);
-            client.pathTemplates.projectPathTemplate.match =
-                sinon.stub().returns(expectedParameters);
-
-            it('projectPath', () => {
-                const result = client.projectPath("projectValue");
-                assert.strictEqual(result, fakePath);
-                assert((client.pathTemplates.projectPathTemplate.render as SinonStub)
-                    .getCall(-1).calledWith(expectedParameters));
-            });
+  describe('get', () => {
+    it('invokes get without error', async () => {
+      const client =
+        new sqlsslcertsserviceModule.v1beta4.SqlSslCertsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlSslCertsGetRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlSslCertsGetRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlSslCertsGetRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const defaultValue3 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlSslCertsGetRequest',
+        ['sha1Fingerprint'],
+      );
+      request.sha1Fingerprint = defaultValue3;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}&sha1_fingerprint=${defaultValue3 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SslCert(),
+      );
+      client.innerApiCalls.get = stubSimpleCall(expectedResponse);
+      const [response] = await client.get(request);
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (client.innerApiCalls.get as SinonStub).getCall(0)
+        .args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.get as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-            it('matchProjectFromProjectName', () => {
-                const result = client.matchProjectFromProjectName(fakePath);
-                assert.strictEqual(result, "projectValue");
-                assert((client.pathTemplates.projectPathTemplate.match as SinonStub)
-                    .getCall(-1).calledWith(fakePath));
-            });
+    it('invokes get without error using callback', async () => {
+      const client =
+        new sqlsslcertsserviceModule.v1beta4.SqlSslCertsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlSslCertsGetRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlSslCertsGetRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlSslCertsGetRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const defaultValue3 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlSslCertsGetRequest',
+        ['sha1Fingerprint'],
+      );
+      request.sha1Fingerprint = defaultValue3;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}&sha1_fingerprint=${defaultValue3 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SslCert(),
+      );
+      client.innerApiCalls.get = stubSimpleCallWithCallback(expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.get(
+          request,
+          (
+            err?: Error | null,
+            result?: protos.google.cloud.sql.v1beta4.ISslCert | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
+            }
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (client.innerApiCalls.get as SinonStub).getCall(0)
+        .args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.get as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes get with error', async () => {
+      const client =
+        new sqlsslcertsserviceModule.v1beta4.SqlSslCertsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlSslCertsGetRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlSslCertsGetRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlSslCertsGetRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const defaultValue3 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlSslCertsGetRequest',
+        ['sha1Fingerprint'],
+      );
+      request.sha1Fingerprint = defaultValue3;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}&sha1_fingerprint=${defaultValue3 ?? ''}`;
+      const expectedError = new Error('expected');
+      client.innerApiCalls.get = stubSimpleCall(undefined, expectedError);
+      await assert.rejects(client.get(request), expectedError);
+      const actualRequest = (client.innerApiCalls.get as SinonStub).getCall(0)
+        .args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.get as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes get with closed client', async () => {
+      const client =
+        new sqlsslcertsserviceModule.v1beta4.SqlSslCertsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlSslCertsGetRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlSslCertsGetRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlSslCertsGetRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const defaultValue3 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlSslCertsGetRequest',
+        ['sha1Fingerprint'],
+      );
+      request.sha1Fingerprint = defaultValue3;
+      const expectedError = new Error('The client has already been closed.');
+      client.close().catch((err) => {
+        throw err;
+      });
+      await assert.rejects(client.get(request), expectedError);
+    });
+  });
+
+  describe('insert', () => {
+    it('invokes insert without error', async () => {
+      const client =
+        new sqlsslcertsserviceModule.v1beta4.SqlSslCertsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlSslCertsInsertRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlSslCertsInsertRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlSslCertsInsertRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SslCertsInsertResponse(),
+      );
+      client.innerApiCalls.insert = stubSimpleCall(expectedResponse);
+      const [response] = await client.insert(request);
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (client.innerApiCalls.insert as SinonStub).getCall(
+        0,
+      ).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.insert as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes insert without error using callback', async () => {
+      const client =
+        new sqlsslcertsserviceModule.v1beta4.SqlSslCertsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlSslCertsInsertRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlSslCertsInsertRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlSslCertsInsertRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SslCertsInsertResponse(),
+      );
+      client.innerApiCalls.insert =
+        stubSimpleCallWithCallback(expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.insert(
+          request,
+          (
+            err?: Error | null,
+            result?: protos.google.cloud.sql.v1beta4.ISslCertsInsertResponse | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
+            }
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (client.innerApiCalls.insert as SinonStub).getCall(
+        0,
+      ).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.insert as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes insert with error', async () => {
+      const client =
+        new sqlsslcertsserviceModule.v1beta4.SqlSslCertsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlSslCertsInsertRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlSslCertsInsertRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlSslCertsInsertRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedError = new Error('expected');
+      client.innerApiCalls.insert = stubSimpleCall(undefined, expectedError);
+      await assert.rejects(client.insert(request), expectedError);
+      const actualRequest = (client.innerApiCalls.insert as SinonStub).getCall(
+        0,
+      ).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.insert as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes insert with closed client', async () => {
+      const client =
+        new sqlsslcertsserviceModule.v1beta4.SqlSslCertsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlSslCertsInsertRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlSslCertsInsertRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlSslCertsInsertRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedError = new Error('The client has already been closed.');
+      client.close().catch((err) => {
+        throw err;
+      });
+      await assert.rejects(client.insert(request), expectedError);
+    });
+  });
+
+  describe('list', () => {
+    it('invokes list without error', async () => {
+      const client =
+        new sqlsslcertsserviceModule.v1beta4.SqlSslCertsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlSslCertsListRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlSslCertsListRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlSslCertsListRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SslCertsListResponse(),
+      );
+      client.innerApiCalls.list = stubSimpleCall(expectedResponse);
+      const [response] = await client.list(request);
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (client.innerApiCalls.list as SinonStub).getCall(0)
+        .args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.list as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes list without error using callback', async () => {
+      const client =
+        new sqlsslcertsserviceModule.v1beta4.SqlSslCertsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlSslCertsListRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlSslCertsListRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlSslCertsListRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SslCertsListResponse(),
+      );
+      client.innerApiCalls.list = stubSimpleCallWithCallback(expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.list(
+          request,
+          (
+            err?: Error | null,
+            result?: protos.google.cloud.sql.v1beta4.ISslCertsListResponse | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
+            }
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (client.innerApiCalls.list as SinonStub).getCall(0)
+        .args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.list as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes list with error', async () => {
+      const client =
+        new sqlsslcertsserviceModule.v1beta4.SqlSslCertsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlSslCertsListRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlSslCertsListRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlSslCertsListRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedError = new Error('expected');
+      client.innerApiCalls.list = stubSimpleCall(undefined, expectedError);
+      await assert.rejects(client.list(request), expectedError);
+      const actualRequest = (client.innerApiCalls.list as SinonStub).getCall(0)
+        .args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.list as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes list with closed client', async () => {
+      const client =
+        new sqlsslcertsserviceModule.v1beta4.SqlSslCertsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlSslCertsListRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlSslCertsListRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlSslCertsListRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedError = new Error('The client has already been closed.');
+      client.close().catch((err) => {
+        throw err;
+      });
+      await assert.rejects(client.list(request), expectedError);
+    });
+  });
+  describe('getLocation', () => {
+    it('invokes getLocation without error', async () => {
+      const client =
+        new sqlsslcertsserviceModule.v1beta4.SqlSslCertsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new LocationProtos.google.cloud.location.GetLocationRequest(),
+      );
+      request.name = '';
+      const expectedHeaderRequestParams = 'name=';
+      const expectedOptions = {
+        otherArgs: {
+          headers: {
+            'x-goog-request-params': expectedHeaderRequestParams,
+          },
+        },
+      };
+      const expectedResponse = generateSampleMessage(
+        new LocationProtos.google.cloud.location.Location(),
+      );
+      client.locationsClient.getLocation = stubSimpleCall(expectedResponse);
+      const response = await client.getLocation(request, expectedOptions);
+      assert.deepStrictEqual(response, [expectedResponse]);
+      assert(
+        (client.locationsClient.getLocation as SinonStub)
+          .getCall(0)
+          .calledWith(request, expectedOptions, undefined),
+      );
+    });
+    it('invokes getLocation without error using callback', async () => {
+      const client =
+        new sqlsslcertsserviceModule.v1beta4.SqlSslCertsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new LocationProtos.google.cloud.location.GetLocationRequest(),
+      );
+      request.name = '';
+      const expectedHeaderRequestParams = 'name=';
+      const expectedOptions = {
+        otherArgs: {
+          headers: {
+            'x-goog-request-params': expectedHeaderRequestParams,
+          },
+        },
+      };
+      const expectedResponse = generateSampleMessage(
+        new LocationProtos.google.cloud.location.Location(),
+      );
+      client.locationsClient.getLocation = sinon
+        .stub()
+        .callsArgWith(2, null, expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.getLocation(
+          request,
+          expectedOptions,
+          (
+            err?: Error | null,
+            result?: LocationProtos.google.cloud.location.ILocation | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
+            }
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      assert((client.locationsClient.getLocation as SinonStub).getCall(0));
+    });
+    it('invokes getLocation with error', async () => {
+      const client =
+        new sqlsslcertsserviceModule.v1beta4.SqlSslCertsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new LocationProtos.google.cloud.location.GetLocationRequest(),
+      );
+      request.name = '';
+      const expectedHeaderRequestParams = 'name=';
+      const expectedOptions = {
+        otherArgs: {
+          headers: {
+            'x-goog-request-params': expectedHeaderRequestParams,
+          },
+        },
+      };
+      const expectedError = new Error('expected');
+      client.locationsClient.getLocation = stubSimpleCall(
+        undefined,
+        expectedError,
+      );
+      await assert.rejects(
+        client.getLocation(request, expectedOptions),
+        expectedError,
+      );
+      assert(
+        (client.locationsClient.getLocation as SinonStub)
+          .getCall(0)
+          .calledWith(request, expectedOptions, undefined),
+      );
+    });
+  });
+  describe('listLocationsAsync', () => {
+    it('uses async iteration with listLocations without error', async () => {
+      const client =
+        new sqlsslcertsserviceModule.v1beta4.SqlSslCertsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new LocationProtos.google.cloud.location.ListLocationsRequest(),
+      );
+      request.name = '';
+      const expectedHeaderRequestParams = 'name=';
+      const expectedResponse = [
+        generateSampleMessage(
+          new LocationProtos.google.cloud.location.Location(),
+        ),
+        generateSampleMessage(
+          new LocationProtos.google.cloud.location.Location(),
+        ),
+        generateSampleMessage(
+          new LocationProtos.google.cloud.location.Location(),
+        ),
+      ];
+      client.locationsClient.descriptors.page.listLocations.asyncIterate =
+        stubAsyncIterationCall(expectedResponse);
+      const responses: LocationProtos.google.cloud.location.ILocation[] = [];
+      const iterable = client.listLocationsAsync(request);
+      for await (const resource of iterable) {
+        responses.push(resource!);
+      }
+      assert.deepStrictEqual(responses, expectedResponse);
+      assert.deepStrictEqual(
+        (
+          client.locationsClient.descriptors.page.listLocations
+            .asyncIterate as SinonStub
+        ).getCall(0).args[1],
+        request,
+      );
+      assert(
+        (
+          client.locationsClient.descriptors.page.listLocations
+            .asyncIterate as SinonStub
+        )
+          .getCall(0)
+          .args[2].otherArgs.headers['x-goog-request-params'].includes(
+            expectedHeaderRequestParams,
+          ),
+      );
+    });
+    it('uses async iteration with listLocations with error', async () => {
+      const client =
+        new sqlsslcertsserviceModule.v1beta4.SqlSslCertsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new LocationProtos.google.cloud.location.ListLocationsRequest(),
+      );
+      request.name = '';
+      const expectedHeaderRequestParams = 'name=';
+      const expectedError = new Error('expected');
+      client.locationsClient.descriptors.page.listLocations.asyncIterate =
+        stubAsyncIterationCall(undefined, expectedError);
+      const iterable = client.listLocationsAsync(request);
+      await assert.rejects(async () => {
+        const responses: LocationProtos.google.cloud.location.ILocation[] = [];
+        for await (const resource of iterable) {
+          responses.push(resource!);
+        }
+      });
+      assert.deepStrictEqual(
+        (
+          client.locationsClient.descriptors.page.listLocations
+            .asyncIterate as SinonStub
+        ).getCall(0).args[1],
+        request,
+      );
+      assert(
+        (
+          client.locationsClient.descriptors.page.listLocations
+            .asyncIterate as SinonStub
+        )
+          .getCall(0)
+          .args[2].otherArgs.headers['x-goog-request-params'].includes(
+            expectedHeaderRequestParams,
+          ),
+      );
+    });
+  });
+
+  describe('Path templates', () => {
+    describe('backup', async () => {
+      const fakePath = '/rendered/path/backup';
+      const expectedParameters = {
+        project: 'projectValue',
+        backup: 'backupValue',
+      };
+      const client =
+        new sqlsslcertsserviceModule.v1beta4.SqlSslCertsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
         });
+      await client.initialize();
+      client.pathTemplates.backupPathTemplate.render = sinon
+        .stub()
+        .returns(fakePath);
+      client.pathTemplates.backupPathTemplate.match = sinon
+        .stub()
+        .returns(expectedParameters);
+
+      it('backupPath', () => {
+        const result = client.backupPath('projectValue', 'backupValue');
+        assert.strictEqual(result, fakePath);
+        assert(
+          (client.pathTemplates.backupPathTemplate.render as SinonStub)
+            .getCall(-1)
+            .calledWith(expectedParameters),
+        );
+      });
+
+      it('matchProjectFromBackupName', () => {
+        const result = client.matchProjectFromBackupName(fakePath);
+        assert.strictEqual(result, 'projectValue');
+        assert(
+          (client.pathTemplates.backupPathTemplate.match as SinonStub)
+            .getCall(-1)
+            .calledWith(fakePath),
+        );
+      });
+
+      it('matchBackupFromBackupName', () => {
+        const result = client.matchBackupFromBackupName(fakePath);
+        assert.strictEqual(result, 'backupValue');
+        assert(
+          (client.pathTemplates.backupPathTemplate.match as SinonStub)
+            .getCall(-1)
+            .calledWith(fakePath),
+        );
+      });
+    });
+
+    describe('project', async () => {
+      const fakePath = '/rendered/path/project';
+      const expectedParameters = {
+        project: 'projectValue',
+      };
+      const client =
+        new sqlsslcertsserviceModule.v1beta4.SqlSslCertsServiceClient({
+          credentials: { client_email: 'bogus', private_key: 'bogus' },
+          projectId: 'bogus',
+        });
+      await client.initialize();
+      client.pathTemplates.projectPathTemplate.render = sinon
+        .stub()
+        .returns(fakePath);
+      client.pathTemplates.projectPathTemplate.match = sinon
+        .stub()
+        .returns(expectedParameters);
+
+      it('projectPath', () => {
+        const result = client.projectPath('projectValue');
+        assert.strictEqual(result, fakePath);
+        assert(
+          (client.pathTemplates.projectPathTemplate.render as SinonStub)
+            .getCall(-1)
+            .calledWith(expectedParameters),
+        );
+      });
+
+      it('matchProjectFromProjectName', () => {
+        const result = client.matchProjectFromProjectName(fakePath);
+        assert.strictEqual(result, 'projectValue');
+        assert(
+          (client.pathTemplates.projectPathTemplate.match as SinonStub)
+            .getCall(-1)
+            .calledWith(fakePath),
+        );
+      });
     });
+  });
 });
diff --git a/packages/google-cloud-sql/test/gapic_sql_tiers_service_v1.ts b/packages/google-cloud-sql/test/gapic_sql_tiers_service_v1.ts
index 7be02eaff388..0f48bbe07820 100644
--- a/packages/google-cloud-sql/test/gapic_sql_tiers_service_v1.ts
+++ b/packages/google-cloud-sql/test/gapic_sql_tiers_service_v1.ts
@@ -19,531 +19,635 @@
 import * as protos from '../protos/protos';
 import * as assert from 'assert';
 import * as sinon from 'sinon';
-import {SinonStub} from 'sinon';
-import {describe, it} from 'mocha';
+import { SinonStub } from 'sinon';
+import { describe, it } from 'mocha';
 import * as sqltiersserviceModule from '../src';
 
-import {protobuf, LocationProtos} from 'google-gax';
+import { protobuf, LocationProtos } from 'google-gax';
 
 // Dynamically loaded proto JSON is needed to get the type information
 // to fill in default values for request objects
-const root = protobuf.Root.fromJSON(require('../protos/protos.json')).resolveAll();
+const root = protobuf.Root.fromJSON(
+  require('../protos/protos.json'),
+).resolveAll();
 
 // eslint-disable-next-line @typescript-eslint/no-unused-vars
 function getTypeDefaultValue(typeName: string, fields: string[]) {
-    let type = root.lookupType(typeName) as protobuf.Type;
-    for (const field of fields.slice(0, -1)) {
-        type = type.fields[field]?.resolvedType as protobuf.Type;
-    }
-    return type.fields[fields[fields.length - 1]]?.defaultValue;
+  let type = root.lookupType(typeName) as protobuf.Type;
+  for (const field of fields.slice(0, -1)) {
+    type = type.fields[field]?.resolvedType as protobuf.Type;
+  }
+  return type.fields[fields[fields.length - 1]]?.defaultValue;
 }
 
 function generateSampleMessage<T extends object>(instance: T) {
-    const filledObject = (instance.constructor as typeof protobuf.Message)
-        .toObject(instance as protobuf.Message<T>, {defaults: true});
-    return (instance.constructor as typeof protobuf.Message).fromObject(filledObject) as T;
+  const filledObject = (
+    instance.constructor as typeof protobuf.Message
+  ).toObject(instance as protobuf.Message<T>, { defaults: true });
+  return (instance.constructor as typeof protobuf.Message).fromObject(
+    filledObject,
+  ) as T;
 }
 
 function stubSimpleCall<ResponseType>(response?: ResponseType, error?: Error) {
-    return error ? sinon.stub().rejects(error) : sinon.stub().resolves([response]);
+  return error
+    ? sinon.stub().rejects(error)
+    : sinon.stub().resolves([response]);
 }
 
-function stubSimpleCallWithCallback<ResponseType>(response?: ResponseType, error?: Error) {
-    return error ? sinon.stub().callsArgWith(2, error) : sinon.stub().callsArgWith(2, null, response);
+function stubSimpleCallWithCallback<ResponseType>(
+  response?: ResponseType,
+  error?: Error,
+) {
+  return error
+    ? sinon.stub().callsArgWith(2, error)
+    : sinon.stub().callsArgWith(2, null, response);
 }
 
-function stubAsyncIterationCall<ResponseType>(responses?: ResponseType[], error?: Error) {
-    let counter = 0;
-    const asyncIterable = {
-        [Symbol.asyncIterator]() {
-            return {
-                async next() {
-                    if (error) {
-                        return Promise.reject(error);
-                    }
-                    if (counter >= responses!.length) {
-                        return Promise.resolve({done: true, value: undefined});
-                    }
-                    return Promise.resolve({done: false, value: responses![counter++]});
-                }
-            };
-        }
-    };
-    return sinon.stub().returns(asyncIterable);
+function stubAsyncIterationCall<ResponseType>(
+  responses?: ResponseType[],
+  error?: Error,
+) {
+  let counter = 0;
+  const asyncIterable = {
+    [Symbol.asyncIterator]() {
+      return {
+        async next() {
+          if (error) {
+            return Promise.reject(error);
+          }
+          if (counter >= responses!.length) {
+            return Promise.resolve({ done: true, value: undefined });
+          }
+          return Promise.resolve({ done: false, value: responses![counter++] });
+        },
+      };
+    },
+  };
+  return sinon.stub().returns(asyncIterable);
 }
 
 describe('v1.SqlTiersServiceClient', () => {
-    describe('Common methods', () => {
-        it('has apiEndpoint', () => {
-            const client = new sqltiersserviceModule.v1.SqlTiersServiceClient();
-            const apiEndpoint = client.apiEndpoint;
-            assert.strictEqual(apiEndpoint, 'sqladmin.googleapis.com');
-        });
+  describe('Common methods', () => {
+    it('has apiEndpoint', () => {
+      const client = new sqltiersserviceModule.v1.SqlTiersServiceClient();
+      const apiEndpoint = client.apiEndpoint;
+      assert.strictEqual(apiEndpoint, 'sqladmin.googleapis.com');
+    });
 
-        it('has universeDomain', () => {
-            const client = new sqltiersserviceModule.v1.SqlTiersServiceClient();
-            const universeDomain = client.universeDomain;
-            assert.strictEqual(universeDomain, "googleapis.com");
-        });
+    it('has universeDomain', () => {
+      const client = new sqltiersserviceModule.v1.SqlTiersServiceClient();
+      const universeDomain = client.universeDomain;
+      assert.strictEqual(universeDomain, 'googleapis.com');
+    });
 
-        if (typeof process === 'object' && typeof process.emitWarning === 'function') {
-            it('throws DeprecationWarning if static servicePath is used', () => {
-                const stub = sinon.stub(process, 'emitWarning');
-                const servicePath = sqltiersserviceModule.v1.SqlTiersServiceClient.servicePath;
-                assert.strictEqual(servicePath, 'sqladmin.googleapis.com');
-                assert(stub.called);
-                stub.restore();
-            });
+    if (
+      typeof process === 'object' &&
+      typeof process.emitWarning === 'function'
+    ) {
+      it('throws DeprecationWarning if static servicePath is used', () => {
+        const stub = sinon.stub(process, 'emitWarning');
+        const servicePath =
+          sqltiersserviceModule.v1.SqlTiersServiceClient.servicePath;
+        assert.strictEqual(servicePath, 'sqladmin.googleapis.com');
+        assert(stub.called);
+        stub.restore();
+      });
+
+      it('throws DeprecationWarning if static apiEndpoint is used', () => {
+        const stub = sinon.stub(process, 'emitWarning');
+        const apiEndpoint =
+          sqltiersserviceModule.v1.SqlTiersServiceClient.apiEndpoint;
+        assert.strictEqual(apiEndpoint, 'sqladmin.googleapis.com');
+        assert(stub.called);
+        stub.restore();
+      });
+    }
+    it('sets apiEndpoint according to universe domain camelCase', () => {
+      const client = new sqltiersserviceModule.v1.SqlTiersServiceClient({
+        universeDomain: 'example.com',
+      });
+      const servicePath = client.apiEndpoint;
+      assert.strictEqual(servicePath, 'sqladmin.example.com');
+    });
 
-            it('throws DeprecationWarning if static apiEndpoint is used', () => {
-                const stub = sinon.stub(process, 'emitWarning');
-                const apiEndpoint = sqltiersserviceModule.v1.SqlTiersServiceClient.apiEndpoint;
-                assert.strictEqual(apiEndpoint, 'sqladmin.googleapis.com');
-                assert(stub.called);
-                stub.restore();
-            });
-        }
-        it('sets apiEndpoint according to universe domain camelCase', () => {
-            const client = new sqltiersserviceModule.v1.SqlTiersServiceClient({universeDomain: 'example.com'});
-            const servicePath = client.apiEndpoint;
-            assert.strictEqual(servicePath, 'sqladmin.example.com');
-        });
+    it('sets apiEndpoint according to universe domain snakeCase', () => {
+      const client = new sqltiersserviceModule.v1.SqlTiersServiceClient({
+        universe_domain: 'example.com',
+      });
+      const servicePath = client.apiEndpoint;
+      assert.strictEqual(servicePath, 'sqladmin.example.com');
+    });
 
-        it('sets apiEndpoint according to universe domain snakeCase', () => {
-            const client = new sqltiersserviceModule.v1.SqlTiersServiceClient({universe_domain: 'example.com'});
-            const servicePath = client.apiEndpoint;
-            assert.strictEqual(servicePath, 'sqladmin.example.com');
+    if (typeof process === 'object' && 'env' in process) {
+      describe('GOOGLE_CLOUD_UNIVERSE_DOMAIN environment variable', () => {
+        it('sets apiEndpoint from environment variable', () => {
+          const saved = process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
+          process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = 'example.com';
+          const client = new sqltiersserviceModule.v1.SqlTiersServiceClient();
+          const servicePath = client.apiEndpoint;
+          assert.strictEqual(servicePath, 'sqladmin.example.com');
+          if (saved) {
+            process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = saved;
+          } else {
+            delete process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
+          }
         });
 
-        if (typeof process === 'object' && 'env' in process) {
-            describe('GOOGLE_CLOUD_UNIVERSE_DOMAIN environment variable', () => {
-                it('sets apiEndpoint from environment variable', () => {
-                    const saved = process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
-                    process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = 'example.com';
-                    const client = new sqltiersserviceModule.v1.SqlTiersServiceClient();
-                    const servicePath = client.apiEndpoint;
-                    assert.strictEqual(servicePath, 'sqladmin.example.com');
-                    if (saved) {
-                        process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = saved;
-                    } else {
-                        delete process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
-                    }
-                });
-
-                it('value configured in code has priority over environment variable', () => {
-                    const saved = process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
-                    process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = 'example.com';
-                    const client = new sqltiersserviceModule.v1.SqlTiersServiceClient({universeDomain: 'configured.example.com'});
-                    const servicePath = client.apiEndpoint;
-                    assert.strictEqual(servicePath, 'sqladmin.configured.example.com');
-                    if (saved) {
-                        process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = saved;
-                    } else {
-                        delete process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
-                    }
-                });
-            });
-        }
-        it('does not allow setting both universeDomain and universe_domain', () => {
-            assert.throws(() => { new sqltiersserviceModule.v1.SqlTiersServiceClient({universe_domain: 'example.com', universeDomain: 'example.net'}); });
+        it('value configured in code has priority over environment variable', () => {
+          const saved = process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
+          process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = 'example.com';
+          const client = new sqltiersserviceModule.v1.SqlTiersServiceClient({
+            universeDomain: 'configured.example.com',
+          });
+          const servicePath = client.apiEndpoint;
+          assert.strictEqual(servicePath, 'sqladmin.configured.example.com');
+          if (saved) {
+            process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = saved;
+          } else {
+            delete process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
+          }
         });
-
-        it('has port', () => {
-            const port = sqltiersserviceModule.v1.SqlTiersServiceClient.port;
-            assert(port);
-            assert(typeof port === 'number');
+      });
+    }
+    it('does not allow setting both universeDomain and universe_domain', () => {
+      assert.throws(() => {
+        new sqltiersserviceModule.v1.SqlTiersServiceClient({
+          universe_domain: 'example.com',
+          universeDomain: 'example.net',
         });
+      });
+    });
 
-        it('should create a client with no option', () => {
-            const client = new sqltiersserviceModule.v1.SqlTiersServiceClient();
-            assert(client);
-        });
+    it('has port', () => {
+      const port = sqltiersserviceModule.v1.SqlTiersServiceClient.port;
+      assert(port);
+      assert(typeof port === 'number');
+    });
 
-        it('should create a client with gRPC fallback', () => {
-            const client = new sqltiersserviceModule.v1.SqlTiersServiceClient({
-                fallback: true,
-            });
-            assert(client);
-        });
+    it('should create a client with no option', () => {
+      const client = new sqltiersserviceModule.v1.SqlTiersServiceClient();
+      assert(client);
+    });
 
-        it('has initialize method and supports deferred initialization', async () => {
-            const client = new sqltiersserviceModule.v1.SqlTiersServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            assert.strictEqual(client.sqlTiersServiceStub, undefined);
-            await client.initialize();
-            assert(client.sqlTiersServiceStub);
-        });
+    it('should create a client with gRPC fallback', () => {
+      const client = new sqltiersserviceModule.v1.SqlTiersServiceClient({
+        fallback: true,
+      });
+      assert(client);
+    });
 
-        it('has close method for the initialized client', done => {
-            const client = new sqltiersserviceModule.v1.SqlTiersServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            client.initialize().catch(err => {throw err});
-            assert(client.sqlTiersServiceStub);
-            client.close().then(() => {
-                done();
-            }).catch(err => {throw err});
-        });
+    it('has initialize method and supports deferred initialization', async () => {
+      const client = new sqltiersserviceModule.v1.SqlTiersServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      assert.strictEqual(client.sqlTiersServiceStub, undefined);
+      await client.initialize();
+      assert(client.sqlTiersServiceStub);
+    });
 
-        it('has close method for the non-initialized client', done => {
-            const client = new sqltiersserviceModule.v1.SqlTiersServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            assert.strictEqual(client.sqlTiersServiceStub, undefined);
-            client.close().then(() => {
-                done();
-            }).catch(err => {throw err});
+    it('has close method for the initialized client', (done) => {
+      const client = new sqltiersserviceModule.v1.SqlTiersServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      client.initialize().catch((err) => {
+        throw err;
+      });
+      assert(client.sqlTiersServiceStub);
+      client
+        .close()
+        .then(() => {
+          done();
+        })
+        .catch((err) => {
+          throw err;
         });
+    });
 
-        it('has getProjectId method', async () => {
-            const fakeProjectId = 'fake-project-id';
-            const client = new sqltiersserviceModule.v1.SqlTiersServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            client.auth.getProjectId = sinon.stub().resolves(fakeProjectId);
-            const result = await client.getProjectId();
-            assert.strictEqual(result, fakeProjectId);
-            assert((client.auth.getProjectId as SinonStub).calledWithExactly());
+    it('has close method for the non-initialized client', (done) => {
+      const client = new sqltiersserviceModule.v1.SqlTiersServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      assert.strictEqual(client.sqlTiersServiceStub, undefined);
+      client
+        .close()
+        .then(() => {
+          done();
+        })
+        .catch((err) => {
+          throw err;
         });
+    });
 
-        it('has getProjectId method with callback', async () => {
-            const fakeProjectId = 'fake-project-id';
-            const client = new sqltiersserviceModule.v1.SqlTiersServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            client.auth.getProjectId = sinon.stub().callsArgWith(0, null, fakeProjectId);
-            const promise = new Promise((resolve, reject) => {
-                client.getProjectId((err?: Error|null, projectId?: string|null) => {
-                    if (err) {
-                        reject(err);
-                    } else {
-                        resolve(projectId);
-                    }
-                });
-            });
-            const result = await promise;
-            assert.strictEqual(result, fakeProjectId);
-        });
+    it('has getProjectId method', async () => {
+      const fakeProjectId = 'fake-project-id';
+      const client = new sqltiersserviceModule.v1.SqlTiersServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      client.auth.getProjectId = sinon.stub().resolves(fakeProjectId);
+      const result = await client.getProjectId();
+      assert.strictEqual(result, fakeProjectId);
+      assert((client.auth.getProjectId as SinonStub).calledWithExactly());
     });
 
-    describe('list', () => {
-        it('invokes list without error', async () => {
-            const client = new sqltiersserviceModule.v1.SqlTiersServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlTiersListRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlTiersListRequest', ['project']);
-            request.project = defaultValue1;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1.TiersListResponse()
-            );
-            client.innerApiCalls.list = stubSimpleCall(expectedResponse);
-            const [response] = await client.list(request);
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.list as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.list as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    it('has getProjectId method with callback', async () => {
+      const fakeProjectId = 'fake-project-id';
+      const client = new sqltiersserviceModule.v1.SqlTiersServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      client.auth.getProjectId = sinon
+        .stub()
+        .callsArgWith(0, null, fakeProjectId);
+      const promise = new Promise((resolve, reject) => {
+        client.getProjectId((err?: Error | null, projectId?: string | null) => {
+          if (err) {
+            reject(err);
+          } else {
+            resolve(projectId);
+          }
         });
+      });
+      const result = await promise;
+      assert.strictEqual(result, fakeProjectId);
+    });
+  });
+
+  describe('list', () => {
+    it('invokes list without error', async () => {
+      const client = new sqltiersserviceModule.v1.SqlTiersServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlTiersListRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlTiersListRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1.TiersListResponse(),
+      );
+      client.innerApiCalls.list = stubSimpleCall(expectedResponse);
+      const [response] = await client.list(request);
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (client.innerApiCalls.list as SinonStub).getCall(0)
+        .args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.list as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes list without error using callback', async () => {
-            const client = new sqltiersserviceModule.v1.SqlTiersServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlTiersListRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlTiersListRequest', ['project']);
-            request.project = defaultValue1;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1.TiersListResponse()
-            );
-            client.innerApiCalls.list = stubSimpleCallWithCallback(expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.list(
-                    request,
-                    (err?: Error|null, result?: protos.google.cloud.sql.v1.ITiersListResponse|null) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.list as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.list as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+    it('invokes list without error using callback', async () => {
+      const client = new sqltiersserviceModule.v1.SqlTiersServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlTiersListRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlTiersListRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1.TiersListResponse(),
+      );
+      client.innerApiCalls.list = stubSimpleCallWithCallback(expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.list(
+          request,
+          (
+            err?: Error | null,
+            result?: protos.google.cloud.sql.v1.ITiersListResponse | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
+            }
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (client.innerApiCalls.list as SinonStub).getCall(0)
+        .args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.list as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes list with error', async () => {
-            const client = new sqltiersserviceModule.v1.SqlTiersServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlTiersListRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlTiersListRequest', ['project']);
-            request.project = defaultValue1;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }`;
-            const expectedError = new Error('expected');
-            client.innerApiCalls.list = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.list(request), expectedError);
-            const actualRequest = (client.innerApiCalls.list as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.list as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+    it('invokes list with error', async () => {
+      const client = new sqltiersserviceModule.v1.SqlTiersServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlTiersListRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlTiersListRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}`;
+      const expectedError = new Error('expected');
+      client.innerApiCalls.list = stubSimpleCall(undefined, expectedError);
+      await assert.rejects(client.list(request), expectedError);
+      const actualRequest = (client.innerApiCalls.list as SinonStub).getCall(0)
+        .args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.list as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes list with closed client', async () => {
-            const client = new sqltiersserviceModule.v1.SqlTiersServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlTiersListRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlTiersListRequest', ['project']);
-            request.project = defaultValue1;
-            const expectedError = new Error('The client has already been closed.');
-            client.close().catch(err => {throw err});
-            await assert.rejects(client.list(request), expectedError);
-        });
+    it('invokes list with closed client', async () => {
+      const client = new sqltiersserviceModule.v1.SqlTiersServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlTiersListRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlTiersListRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const expectedError = new Error('The client has already been closed.');
+      client.close().catch((err) => {
+        throw err;
+      });
+      await assert.rejects(client.list(request), expectedError);
     });
-    describe('getLocation', () => {
-        it('invokes getLocation without error', async () => {
-            const client = new sqltiersserviceModule.v1.SqlTiersServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new LocationProtos.google.cloud.location.GetLocationRequest()
-            );
-            request.name = '';
-            const expectedHeaderRequestParams = 'name=';
-            const expectedOptions = {
-                otherArgs: {
-                    headers: {
-                        'x-goog-request-params': expectedHeaderRequestParams,
-                    },
-                },
-            };
-            const expectedResponse = generateSampleMessage(
-              new LocationProtos.google.cloud.location.Location()
-            );
-            client.locationsClient.getLocation = stubSimpleCall(expectedResponse);
-            const response = await client.getLocation(request, expectedOptions);
-            assert.deepStrictEqual(response, [expectedResponse]);
-            assert((client.locationsClient.getLocation as SinonStub)
-                .getCall(0).calledWith(request, expectedOptions, undefined));
-        });
-        it('invokes getLocation without error using callback', async () => {
-            const client = new sqltiersserviceModule.v1.SqlTiersServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new LocationProtos.google.cloud.location.GetLocationRequest()
-            );
-            request.name = '';
-            const expectedHeaderRequestParams = 'name=';
-            const expectedOptions = {
-                otherArgs: {
-                    headers: {
-                        'x-goog-request-params': expectedHeaderRequestParams,
-                    },
-                },
-            };
-            const expectedResponse = generateSampleMessage(
-              new LocationProtos.google.cloud.location.Location()
-            );
-            client.locationsClient.getLocation = sinon.stub().callsArgWith(2, null, expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.getLocation(
-                    request,
-                    expectedOptions,
-                    (
-                        err?: Error | null,
-                        result?: LocationProtos.google.cloud.location.ILocation | null
-                    ) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            assert((client.locationsClient.getLocation as SinonStub)
-                .getCall(0));
-        });
-        it('invokes getLocation with error', async () => {
-            const client = new sqltiersserviceModule.v1.SqlTiersServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new LocationProtos.google.cloud.location.GetLocationRequest()
-            );
-            request.name = '';
-            const expectedHeaderRequestParams = 'name=';
-            const expectedOptions = {
-                otherArgs: {
-                    headers: {
-                        'x-goog-request-params': expectedHeaderRequestParams,
-                    },
-                },
-            };
-            const expectedError = new Error('expected');
-            client.locationsClient.getLocation = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.getLocation(request, expectedOptions), expectedError);
-            assert((client.locationsClient.getLocation as SinonStub)
-                .getCall(0).calledWith(request, expectedOptions, undefined));
-        });
+  });
+  describe('getLocation', () => {
+    it('invokes getLocation without error', async () => {
+      const client = new sqltiersserviceModule.v1.SqlTiersServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new LocationProtos.google.cloud.location.GetLocationRequest(),
+      );
+      request.name = '';
+      const expectedHeaderRequestParams = 'name=';
+      const expectedOptions = {
+        otherArgs: {
+          headers: {
+            'x-goog-request-params': expectedHeaderRequestParams,
+          },
+        },
+      };
+      const expectedResponse = generateSampleMessage(
+        new LocationProtos.google.cloud.location.Location(),
+      );
+      client.locationsClient.getLocation = stubSimpleCall(expectedResponse);
+      const response = await client.getLocation(request, expectedOptions);
+      assert.deepStrictEqual(response, [expectedResponse]);
+      assert(
+        (client.locationsClient.getLocation as SinonStub)
+          .getCall(0)
+          .calledWith(request, expectedOptions, undefined),
+      );
     });
-    describe('listLocationsAsync', () => {
-        it('uses async iteration with listLocations without error', async () => {
-            const client = new sqltiersserviceModule.v1.SqlTiersServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-                new LocationProtos.google.cloud.location.ListLocationsRequest()
-            );
-            request.name = '';
-            const expectedHeaderRequestParams = 'name=';
-            const expectedResponse = [
-                generateSampleMessage(
-                    new LocationProtos.google.cloud.location.Location()
-                ),
-                generateSampleMessage(
-                    new LocationProtos.google.cloud.location.Location()
-                ),
-                generateSampleMessage(
-                    new LocationProtos.google.cloud.location.Location()
-                ),
-            ];
-            client.locationsClient.descriptors.page.listLocations.asyncIterate = stubAsyncIterationCall(expectedResponse);
-            const responses: LocationProtos.google.cloud.location.ILocation[] = [];
-            const iterable = client.listLocationsAsync(request);
-            for await (const resource of iterable) {
-                responses.push(resource!);
+    it('invokes getLocation without error using callback', async () => {
+      const client = new sqltiersserviceModule.v1.SqlTiersServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new LocationProtos.google.cloud.location.GetLocationRequest(),
+      );
+      request.name = '';
+      const expectedHeaderRequestParams = 'name=';
+      const expectedOptions = {
+        otherArgs: {
+          headers: {
+            'x-goog-request-params': expectedHeaderRequestParams,
+          },
+        },
+      };
+      const expectedResponse = generateSampleMessage(
+        new LocationProtos.google.cloud.location.Location(),
+      );
+      client.locationsClient.getLocation = sinon
+        .stub()
+        .callsArgWith(2, null, expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.getLocation(
+          request,
+          expectedOptions,
+          (
+            err?: Error | null,
+            result?: LocationProtos.google.cloud.location.ILocation | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
             }
-            assert.deepStrictEqual(responses, expectedResponse);
-            assert.deepStrictEqual(
-                (client.locationsClient.descriptors.page.listLocations.asyncIterate as SinonStub)
-                    .getCall(0).args[1], request);
-            assert(
-                (client.locationsClient.descriptors.page.listLocations.asyncIterate as SinonStub)
-                    .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes(
-                        expectedHeaderRequestParams
-                    )
-            );
-        });
-        it('uses async iteration with listLocations with error', async () => {
-            const client = new sqltiersserviceModule.v1.SqlTiersServiceClient({
-                credentials: {client_email: 'bogus', private_key: 'bogus'},
-                projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new LocationProtos.google.cloud.location.ListLocationsRequest()
-            );
-            request.name = '';
-            const expectedHeaderRequestParams = 'name=';
-            const expectedError = new Error('expected');
-            client.locationsClient.descriptors.page.listLocations.asyncIterate = stubAsyncIterationCall(undefined, expectedError);
-            const iterable = client.listLocationsAsync(request);
-            await assert.rejects(async () => {
-                const responses: LocationProtos.google.cloud.location.ILocation[] = [];
-                for await (const resource of iterable) {
-                    responses.push(resource!);
-                }
-            });
-            assert.deepStrictEqual(
-                (client.locationsClient.descriptors.page.listLocations.asyncIterate as SinonStub)
-                    .getCall(0).args[1], request);
-            assert(
-                (client.locationsClient.descriptors.page.listLocations.asyncIterate as SinonStub)
-                    .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes(
-                        expectedHeaderRequestParams
-                    )
-            );
-        });
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      assert((client.locationsClient.getLocation as SinonStub).getCall(0));
     });
-
-    describe('Path templates', () => {
-
-        describe('backup', async () => {
-            const fakePath = "/rendered/path/backup";
-            const expectedParameters = {
-                project: "projectValue",
-                backup: "backupValue",
-            };
-            const client = new sqltiersserviceModule.v1.SqlTiersServiceClient({
-                credentials: {client_email: 'bogus', private_key: 'bogus'},
-                projectId: 'bogus',
-            });
-            await client.initialize();
-            client.pathTemplates.backupPathTemplate.render =
-                sinon.stub().returns(fakePath);
-            client.pathTemplates.backupPathTemplate.match =
-                sinon.stub().returns(expectedParameters);
-
-            it('backupPath', () => {
-                const result = client.backupPath("projectValue", "backupValue");
-                assert.strictEqual(result, fakePath);
-                assert((client.pathTemplates.backupPathTemplate.render as SinonStub)
-                    .getCall(-1).calledWith(expectedParameters));
-            });
-
-            it('matchProjectFromBackupName', () => {
-                const result = client.matchProjectFromBackupName(fakePath);
-                assert.strictEqual(result, "projectValue");
-                assert((client.pathTemplates.backupPathTemplate.match as SinonStub)
-                    .getCall(-1).calledWith(fakePath));
-            });
-
-            it('matchBackupFromBackupName', () => {
-                const result = client.matchBackupFromBackupName(fakePath);
-                assert.strictEqual(result, "backupValue");
-                assert((client.pathTemplates.backupPathTemplate.match as SinonStub)
-                    .getCall(-1).calledWith(fakePath));
-            });
-        });
+    it('invokes getLocation with error', async () => {
+      const client = new sqltiersserviceModule.v1.SqlTiersServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new LocationProtos.google.cloud.location.GetLocationRequest(),
+      );
+      request.name = '';
+      const expectedHeaderRequestParams = 'name=';
+      const expectedOptions = {
+        otherArgs: {
+          headers: {
+            'x-goog-request-params': expectedHeaderRequestParams,
+          },
+        },
+      };
+      const expectedError = new Error('expected');
+      client.locationsClient.getLocation = stubSimpleCall(
+        undefined,
+        expectedError,
+      );
+      await assert.rejects(
+        client.getLocation(request, expectedOptions),
+        expectedError,
+      );
+      assert(
+        (client.locationsClient.getLocation as SinonStub)
+          .getCall(0)
+          .calledWith(request, expectedOptions, undefined),
+      );
+    });
+  });
+  describe('listLocationsAsync', () => {
+    it('uses async iteration with listLocations without error', async () => {
+      const client = new sqltiersserviceModule.v1.SqlTiersServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new LocationProtos.google.cloud.location.ListLocationsRequest(),
+      );
+      request.name = '';
+      const expectedHeaderRequestParams = 'name=';
+      const expectedResponse = [
+        generateSampleMessage(
+          new LocationProtos.google.cloud.location.Location(),
+        ),
+        generateSampleMessage(
+          new LocationProtos.google.cloud.location.Location(),
+        ),
+        generateSampleMessage(
+          new LocationProtos.google.cloud.location.Location(),
+        ),
+      ];
+      client.locationsClient.descriptors.page.listLocations.asyncIterate =
+        stubAsyncIterationCall(expectedResponse);
+      const responses: LocationProtos.google.cloud.location.ILocation[] = [];
+      const iterable = client.listLocationsAsync(request);
+      for await (const resource of iterable) {
+        responses.push(resource!);
+      }
+      assert.deepStrictEqual(responses, expectedResponse);
+      assert.deepStrictEqual(
+        (
+          client.locationsClient.descriptors.page.listLocations
+            .asyncIterate as SinonStub
+        ).getCall(0).args[1],
+        request,
+      );
+      assert(
+        (
+          client.locationsClient.descriptors.page.listLocations
+            .asyncIterate as SinonStub
+        )
+          .getCall(0)
+          .args[2].otherArgs.headers['x-goog-request-params'].includes(
+            expectedHeaderRequestParams,
+          ),
+      );
+    });
+    it('uses async iteration with listLocations with error', async () => {
+      const client = new sqltiersserviceModule.v1.SqlTiersServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new LocationProtos.google.cloud.location.ListLocationsRequest(),
+      );
+      request.name = '';
+      const expectedHeaderRequestParams = 'name=';
+      const expectedError = new Error('expected');
+      client.locationsClient.descriptors.page.listLocations.asyncIterate =
+        stubAsyncIterationCall(undefined, expectedError);
+      const iterable = client.listLocationsAsync(request);
+      await assert.rejects(async () => {
+        const responses: LocationProtos.google.cloud.location.ILocation[] = [];
+        for await (const resource of iterable) {
+          responses.push(resource!);
+        }
+      });
+      assert.deepStrictEqual(
+        (
+          client.locationsClient.descriptors.page.listLocations
+            .asyncIterate as SinonStub
+        ).getCall(0).args[1],
+        request,
+      );
+      assert(
+        (
+          client.locationsClient.descriptors.page.listLocations
+            .asyncIterate as SinonStub
+        )
+          .getCall(0)
+          .args[2].otherArgs.headers['x-goog-request-params'].includes(
+            expectedHeaderRequestParams,
+          ),
+      );
+    });
+  });
+
+  describe('Path templates', () => {
+    describe('backup', async () => {
+      const fakePath = '/rendered/path/backup';
+      const expectedParameters = {
+        project: 'projectValue',
+        backup: 'backupValue',
+      };
+      const client = new sqltiersserviceModule.v1.SqlTiersServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      await client.initialize();
+      client.pathTemplates.backupPathTemplate.render = sinon
+        .stub()
+        .returns(fakePath);
+      client.pathTemplates.backupPathTemplate.match = sinon
+        .stub()
+        .returns(expectedParameters);
+
+      it('backupPath', () => {
+        const result = client.backupPath('projectValue', 'backupValue');
+        assert.strictEqual(result, fakePath);
+        assert(
+          (client.pathTemplates.backupPathTemplate.render as SinonStub)
+            .getCall(-1)
+            .calledWith(expectedParameters),
+        );
+      });
+
+      it('matchProjectFromBackupName', () => {
+        const result = client.matchProjectFromBackupName(fakePath);
+        assert.strictEqual(result, 'projectValue');
+        assert(
+          (client.pathTemplates.backupPathTemplate.match as SinonStub)
+            .getCall(-1)
+            .calledWith(fakePath),
+        );
+      });
+
+      it('matchBackupFromBackupName', () => {
+        const result = client.matchBackupFromBackupName(fakePath);
+        assert.strictEqual(result, 'backupValue');
+        assert(
+          (client.pathTemplates.backupPathTemplate.match as SinonStub)
+            .getCall(-1)
+            .calledWith(fakePath),
+        );
+      });
     });
+  });
 });
diff --git a/packages/google-cloud-sql/test/gapic_sql_tiers_service_v1beta4.ts b/packages/google-cloud-sql/test/gapic_sql_tiers_service_v1beta4.ts
index 84dcb4615d7f..7eed7f7ae61f 100644
--- a/packages/google-cloud-sql/test/gapic_sql_tiers_service_v1beta4.ts
+++ b/packages/google-cloud-sql/test/gapic_sql_tiers_service_v1beta4.ts
@@ -19,531 +19,637 @@
 import * as protos from '../protos/protos';
 import * as assert from 'assert';
 import * as sinon from 'sinon';
-import {SinonStub} from 'sinon';
-import {describe, it} from 'mocha';
+import { SinonStub } from 'sinon';
+import { describe, it } from 'mocha';
 import * as sqltiersserviceModule from '../src';
 
-import {protobuf, LocationProtos} from 'google-gax';
+import { protobuf, LocationProtos } from 'google-gax';
 
 // Dynamically loaded proto JSON is needed to get the type information
 // to fill in default values for request objects
-const root = protobuf.Root.fromJSON(require('../protos/protos.json')).resolveAll();
+const root = protobuf.Root.fromJSON(
+  require('../protos/protos.json'),
+).resolveAll();
 
 // eslint-disable-next-line @typescript-eslint/no-unused-vars
 function getTypeDefaultValue(typeName: string, fields: string[]) {
-    let type = root.lookupType(typeName) as protobuf.Type;
-    for (const field of fields.slice(0, -1)) {
-        type = type.fields[field]?.resolvedType as protobuf.Type;
-    }
-    return type.fields[fields[fields.length - 1]]?.defaultValue;
+  let type = root.lookupType(typeName) as protobuf.Type;
+  for (const field of fields.slice(0, -1)) {
+    type = type.fields[field]?.resolvedType as protobuf.Type;
+  }
+  return type.fields[fields[fields.length - 1]]?.defaultValue;
 }
 
 function generateSampleMessage<T extends object>(instance: T) {
-    const filledObject = (instance.constructor as typeof protobuf.Message)
-        .toObject(instance as protobuf.Message<T>, {defaults: true});
-    return (instance.constructor as typeof protobuf.Message).fromObject(filledObject) as T;
+  const filledObject = (
+    instance.constructor as typeof protobuf.Message
+  ).toObject(instance as protobuf.Message<T>, { defaults: true });
+  return (instance.constructor as typeof protobuf.Message).fromObject(
+    filledObject,
+  ) as T;
 }
 
 function stubSimpleCall<ResponseType>(response?: ResponseType, error?: Error) {
-    return error ? sinon.stub().rejects(error) : sinon.stub().resolves([response]);
+  return error
+    ? sinon.stub().rejects(error)
+    : sinon.stub().resolves([response]);
 }
 
-function stubSimpleCallWithCallback<ResponseType>(response?: ResponseType, error?: Error) {
-    return error ? sinon.stub().callsArgWith(2, error) : sinon.stub().callsArgWith(2, null, response);
+function stubSimpleCallWithCallback<ResponseType>(
+  response?: ResponseType,
+  error?: Error,
+) {
+  return error
+    ? sinon.stub().callsArgWith(2, error)
+    : sinon.stub().callsArgWith(2, null, response);
 }
 
-function stubAsyncIterationCall<ResponseType>(responses?: ResponseType[], error?: Error) {
-    let counter = 0;
-    const asyncIterable = {
-        [Symbol.asyncIterator]() {
-            return {
-                async next() {
-                    if (error) {
-                        return Promise.reject(error);
-                    }
-                    if (counter >= responses!.length) {
-                        return Promise.resolve({done: true, value: undefined});
-                    }
-                    return Promise.resolve({done: false, value: responses![counter++]});
-                }
-            };
-        }
-    };
-    return sinon.stub().returns(asyncIterable);
+function stubAsyncIterationCall<ResponseType>(
+  responses?: ResponseType[],
+  error?: Error,
+) {
+  let counter = 0;
+  const asyncIterable = {
+    [Symbol.asyncIterator]() {
+      return {
+        async next() {
+          if (error) {
+            return Promise.reject(error);
+          }
+          if (counter >= responses!.length) {
+            return Promise.resolve({ done: true, value: undefined });
+          }
+          return Promise.resolve({ done: false, value: responses![counter++] });
+        },
+      };
+    },
+  };
+  return sinon.stub().returns(asyncIterable);
 }
 
 describe('v1beta4.SqlTiersServiceClient', () => {
-    describe('Common methods', () => {
-        it('has apiEndpoint', () => {
-            const client = new sqltiersserviceModule.v1beta4.SqlTiersServiceClient();
-            const apiEndpoint = client.apiEndpoint;
-            assert.strictEqual(apiEndpoint, 'sqladmin.googleapis.com');
-        });
+  describe('Common methods', () => {
+    it('has apiEndpoint', () => {
+      const client = new sqltiersserviceModule.v1beta4.SqlTiersServiceClient();
+      const apiEndpoint = client.apiEndpoint;
+      assert.strictEqual(apiEndpoint, 'sqladmin.googleapis.com');
+    });
 
-        it('has universeDomain', () => {
-            const client = new sqltiersserviceModule.v1beta4.SqlTiersServiceClient();
-            const universeDomain = client.universeDomain;
-            assert.strictEqual(universeDomain, "googleapis.com");
-        });
+    it('has universeDomain', () => {
+      const client = new sqltiersserviceModule.v1beta4.SqlTiersServiceClient();
+      const universeDomain = client.universeDomain;
+      assert.strictEqual(universeDomain, 'googleapis.com');
+    });
 
-        if (typeof process === 'object' && typeof process.emitWarning === 'function') {
-            it('throws DeprecationWarning if static servicePath is used', () => {
-                const stub = sinon.stub(process, 'emitWarning');
-                const servicePath = sqltiersserviceModule.v1beta4.SqlTiersServiceClient.servicePath;
-                assert.strictEqual(servicePath, 'sqladmin.googleapis.com');
-                assert(stub.called);
-                stub.restore();
-            });
+    if (
+      typeof process === 'object' &&
+      typeof process.emitWarning === 'function'
+    ) {
+      it('throws DeprecationWarning if static servicePath is used', () => {
+        const stub = sinon.stub(process, 'emitWarning');
+        const servicePath =
+          sqltiersserviceModule.v1beta4.SqlTiersServiceClient.servicePath;
+        assert.strictEqual(servicePath, 'sqladmin.googleapis.com');
+        assert(stub.called);
+        stub.restore();
+      });
+
+      it('throws DeprecationWarning if static apiEndpoint is used', () => {
+        const stub = sinon.stub(process, 'emitWarning');
+        const apiEndpoint =
+          sqltiersserviceModule.v1beta4.SqlTiersServiceClient.apiEndpoint;
+        assert.strictEqual(apiEndpoint, 'sqladmin.googleapis.com');
+        assert(stub.called);
+        stub.restore();
+      });
+    }
+    it('sets apiEndpoint according to universe domain camelCase', () => {
+      const client = new sqltiersserviceModule.v1beta4.SqlTiersServiceClient({
+        universeDomain: 'example.com',
+      });
+      const servicePath = client.apiEndpoint;
+      assert.strictEqual(servicePath, 'sqladmin.example.com');
+    });
 
-            it('throws DeprecationWarning if static apiEndpoint is used', () => {
-                const stub = sinon.stub(process, 'emitWarning');
-                const apiEndpoint = sqltiersserviceModule.v1beta4.SqlTiersServiceClient.apiEndpoint;
-                assert.strictEqual(apiEndpoint, 'sqladmin.googleapis.com');
-                assert(stub.called);
-                stub.restore();
-            });
-        }
-        it('sets apiEndpoint according to universe domain camelCase', () => {
-            const client = new sqltiersserviceModule.v1beta4.SqlTiersServiceClient({universeDomain: 'example.com'});
-            const servicePath = client.apiEndpoint;
-            assert.strictEqual(servicePath, 'sqladmin.example.com');
-        });
+    it('sets apiEndpoint according to universe domain snakeCase', () => {
+      const client = new sqltiersserviceModule.v1beta4.SqlTiersServiceClient({
+        universe_domain: 'example.com',
+      });
+      const servicePath = client.apiEndpoint;
+      assert.strictEqual(servicePath, 'sqladmin.example.com');
+    });
 
-        it('sets apiEndpoint according to universe domain snakeCase', () => {
-            const client = new sqltiersserviceModule.v1beta4.SqlTiersServiceClient({universe_domain: 'example.com'});
-            const servicePath = client.apiEndpoint;
-            assert.strictEqual(servicePath, 'sqladmin.example.com');
+    if (typeof process === 'object' && 'env' in process) {
+      describe('GOOGLE_CLOUD_UNIVERSE_DOMAIN environment variable', () => {
+        it('sets apiEndpoint from environment variable', () => {
+          const saved = process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
+          process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = 'example.com';
+          const client =
+            new sqltiersserviceModule.v1beta4.SqlTiersServiceClient();
+          const servicePath = client.apiEndpoint;
+          assert.strictEqual(servicePath, 'sqladmin.example.com');
+          if (saved) {
+            process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = saved;
+          } else {
+            delete process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
+          }
         });
 
-        if (typeof process === 'object' && 'env' in process) {
-            describe('GOOGLE_CLOUD_UNIVERSE_DOMAIN environment variable', () => {
-                it('sets apiEndpoint from environment variable', () => {
-                    const saved = process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
-                    process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = 'example.com';
-                    const client = new sqltiersserviceModule.v1beta4.SqlTiersServiceClient();
-                    const servicePath = client.apiEndpoint;
-                    assert.strictEqual(servicePath, 'sqladmin.example.com');
-                    if (saved) {
-                        process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = saved;
-                    } else {
-                        delete process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
-                    }
-                });
-
-                it('value configured in code has priority over environment variable', () => {
-                    const saved = process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
-                    process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = 'example.com';
-                    const client = new sqltiersserviceModule.v1beta4.SqlTiersServiceClient({universeDomain: 'configured.example.com'});
-                    const servicePath = client.apiEndpoint;
-                    assert.strictEqual(servicePath, 'sqladmin.configured.example.com');
-                    if (saved) {
-                        process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = saved;
-                    } else {
-                        delete process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
-                    }
-                });
+        it('value configured in code has priority over environment variable', () => {
+          const saved = process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
+          process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = 'example.com';
+          const client =
+            new sqltiersserviceModule.v1beta4.SqlTiersServiceClient({
+              universeDomain: 'configured.example.com',
             });
-        }
-        it('does not allow setting both universeDomain and universe_domain', () => {
-            assert.throws(() => { new sqltiersserviceModule.v1beta4.SqlTiersServiceClient({universe_domain: 'example.com', universeDomain: 'example.net'}); });
+          const servicePath = client.apiEndpoint;
+          assert.strictEqual(servicePath, 'sqladmin.configured.example.com');
+          if (saved) {
+            process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = saved;
+          } else {
+            delete process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
+          }
         });
-
-        it('has port', () => {
-            const port = sqltiersserviceModule.v1beta4.SqlTiersServiceClient.port;
-            assert(port);
-            assert(typeof port === 'number');
+      });
+    }
+    it('does not allow setting both universeDomain and universe_domain', () => {
+      assert.throws(() => {
+        new sqltiersserviceModule.v1beta4.SqlTiersServiceClient({
+          universe_domain: 'example.com',
+          universeDomain: 'example.net',
         });
+      });
+    });
 
-        it('should create a client with no option', () => {
-            const client = new sqltiersserviceModule.v1beta4.SqlTiersServiceClient();
-            assert(client);
-        });
+    it('has port', () => {
+      const port = sqltiersserviceModule.v1beta4.SqlTiersServiceClient.port;
+      assert(port);
+      assert(typeof port === 'number');
+    });
 
-        it('should create a client with gRPC fallback', () => {
-            const client = new sqltiersserviceModule.v1beta4.SqlTiersServiceClient({
-                fallback: true,
-            });
-            assert(client);
-        });
+    it('should create a client with no option', () => {
+      const client = new sqltiersserviceModule.v1beta4.SqlTiersServiceClient();
+      assert(client);
+    });
 
-        it('has initialize method and supports deferred initialization', async () => {
-            const client = new sqltiersserviceModule.v1beta4.SqlTiersServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            assert.strictEqual(client.sqlTiersServiceStub, undefined);
-            await client.initialize();
-            assert(client.sqlTiersServiceStub);
-        });
+    it('should create a client with gRPC fallback', () => {
+      const client = new sqltiersserviceModule.v1beta4.SqlTiersServiceClient({
+        fallback: true,
+      });
+      assert(client);
+    });
 
-        it('has close method for the initialized client', done => {
-            const client = new sqltiersserviceModule.v1beta4.SqlTiersServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            client.initialize().catch(err => {throw err});
-            assert(client.sqlTiersServiceStub);
-            client.close().then(() => {
-                done();
-            }).catch(err => {throw err});
-        });
+    it('has initialize method and supports deferred initialization', async () => {
+      const client = new sqltiersserviceModule.v1beta4.SqlTiersServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      assert.strictEqual(client.sqlTiersServiceStub, undefined);
+      await client.initialize();
+      assert(client.sqlTiersServiceStub);
+    });
 
-        it('has close method for the non-initialized client', done => {
-            const client = new sqltiersserviceModule.v1beta4.SqlTiersServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            assert.strictEqual(client.sqlTiersServiceStub, undefined);
-            client.close().then(() => {
-                done();
-            }).catch(err => {throw err});
+    it('has close method for the initialized client', (done) => {
+      const client = new sqltiersserviceModule.v1beta4.SqlTiersServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      client.initialize().catch((err) => {
+        throw err;
+      });
+      assert(client.sqlTiersServiceStub);
+      client
+        .close()
+        .then(() => {
+          done();
+        })
+        .catch((err) => {
+          throw err;
         });
+    });
 
-        it('has getProjectId method', async () => {
-            const fakeProjectId = 'fake-project-id';
-            const client = new sqltiersserviceModule.v1beta4.SqlTiersServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            client.auth.getProjectId = sinon.stub().resolves(fakeProjectId);
-            const result = await client.getProjectId();
-            assert.strictEqual(result, fakeProjectId);
-            assert((client.auth.getProjectId as SinonStub).calledWithExactly());
+    it('has close method for the non-initialized client', (done) => {
+      const client = new sqltiersserviceModule.v1beta4.SqlTiersServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      assert.strictEqual(client.sqlTiersServiceStub, undefined);
+      client
+        .close()
+        .then(() => {
+          done();
+        })
+        .catch((err) => {
+          throw err;
         });
+    });
 
-        it('has getProjectId method with callback', async () => {
-            const fakeProjectId = 'fake-project-id';
-            const client = new sqltiersserviceModule.v1beta4.SqlTiersServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            client.auth.getProjectId = sinon.stub().callsArgWith(0, null, fakeProjectId);
-            const promise = new Promise((resolve, reject) => {
-                client.getProjectId((err?: Error|null, projectId?: string|null) => {
-                    if (err) {
-                        reject(err);
-                    } else {
-                        resolve(projectId);
-                    }
-                });
-            });
-            const result = await promise;
-            assert.strictEqual(result, fakeProjectId);
-        });
+    it('has getProjectId method', async () => {
+      const fakeProjectId = 'fake-project-id';
+      const client = new sqltiersserviceModule.v1beta4.SqlTiersServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      client.auth.getProjectId = sinon.stub().resolves(fakeProjectId);
+      const result = await client.getProjectId();
+      assert.strictEqual(result, fakeProjectId);
+      assert((client.auth.getProjectId as SinonStub).calledWithExactly());
     });
 
-    describe('list', () => {
-        it('invokes list without error', async () => {
-            const client = new sqltiersserviceModule.v1beta4.SqlTiersServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlTiersListRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlTiersListRequest', ['project']);
-            request.project = defaultValue1;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.TiersListResponse()
-            );
-            client.innerApiCalls.list = stubSimpleCall(expectedResponse);
-            const [response] = await client.list(request);
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.list as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.list as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    it('has getProjectId method with callback', async () => {
+      const fakeProjectId = 'fake-project-id';
+      const client = new sqltiersserviceModule.v1beta4.SqlTiersServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      client.auth.getProjectId = sinon
+        .stub()
+        .callsArgWith(0, null, fakeProjectId);
+      const promise = new Promise((resolve, reject) => {
+        client.getProjectId((err?: Error | null, projectId?: string | null) => {
+          if (err) {
+            reject(err);
+          } else {
+            resolve(projectId);
+          }
         });
+      });
+      const result = await promise;
+      assert.strictEqual(result, fakeProjectId);
+    });
+  });
+
+  describe('list', () => {
+    it('invokes list without error', async () => {
+      const client = new sqltiersserviceModule.v1beta4.SqlTiersServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlTiersListRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlTiersListRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.TiersListResponse(),
+      );
+      client.innerApiCalls.list = stubSimpleCall(expectedResponse);
+      const [response] = await client.list(request);
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (client.innerApiCalls.list as SinonStub).getCall(0)
+        .args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.list as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes list without error using callback', async () => {
-            const client = new sqltiersserviceModule.v1beta4.SqlTiersServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlTiersListRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlTiersListRequest', ['project']);
-            request.project = defaultValue1;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.TiersListResponse()
-            );
-            client.innerApiCalls.list = stubSimpleCallWithCallback(expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.list(
-                    request,
-                    (err?: Error|null, result?: protos.google.cloud.sql.v1beta4.ITiersListResponse|null) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.list as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.list as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+    it('invokes list without error using callback', async () => {
+      const client = new sqltiersserviceModule.v1beta4.SqlTiersServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlTiersListRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlTiersListRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.TiersListResponse(),
+      );
+      client.innerApiCalls.list = stubSimpleCallWithCallback(expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.list(
+          request,
+          (
+            err?: Error | null,
+            result?: protos.google.cloud.sql.v1beta4.ITiersListResponse | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
+            }
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (client.innerApiCalls.list as SinonStub).getCall(0)
+        .args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.list as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes list with error', async () => {
-            const client = new sqltiersserviceModule.v1beta4.SqlTiersServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlTiersListRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlTiersListRequest', ['project']);
-            request.project = defaultValue1;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }`;
-            const expectedError = new Error('expected');
-            client.innerApiCalls.list = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.list(request), expectedError);
-            const actualRequest = (client.innerApiCalls.list as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.list as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+    it('invokes list with error', async () => {
+      const client = new sqltiersserviceModule.v1beta4.SqlTiersServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlTiersListRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlTiersListRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}`;
+      const expectedError = new Error('expected');
+      client.innerApiCalls.list = stubSimpleCall(undefined, expectedError);
+      await assert.rejects(client.list(request), expectedError);
+      const actualRequest = (client.innerApiCalls.list as SinonStub).getCall(0)
+        .args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.list as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes list with closed client', async () => {
-            const client = new sqltiersserviceModule.v1beta4.SqlTiersServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlTiersListRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlTiersListRequest', ['project']);
-            request.project = defaultValue1;
-            const expectedError = new Error('The client has already been closed.');
-            client.close().catch(err => {throw err});
-            await assert.rejects(client.list(request), expectedError);
-        });
+    it('invokes list with closed client', async () => {
+      const client = new sqltiersserviceModule.v1beta4.SqlTiersServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlTiersListRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlTiersListRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const expectedError = new Error('The client has already been closed.');
+      client.close().catch((err) => {
+        throw err;
+      });
+      await assert.rejects(client.list(request), expectedError);
     });
-    describe('getLocation', () => {
-        it('invokes getLocation without error', async () => {
-            const client = new sqltiersserviceModule.v1beta4.SqlTiersServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new LocationProtos.google.cloud.location.GetLocationRequest()
-            );
-            request.name = '';
-            const expectedHeaderRequestParams = 'name=';
-            const expectedOptions = {
-                otherArgs: {
-                    headers: {
-                        'x-goog-request-params': expectedHeaderRequestParams,
-                    },
-                },
-            };
-            const expectedResponse = generateSampleMessage(
-              new LocationProtos.google.cloud.location.Location()
-            );
-            client.locationsClient.getLocation = stubSimpleCall(expectedResponse);
-            const response = await client.getLocation(request, expectedOptions);
-            assert.deepStrictEqual(response, [expectedResponse]);
-            assert((client.locationsClient.getLocation as SinonStub)
-                .getCall(0).calledWith(request, expectedOptions, undefined));
-        });
-        it('invokes getLocation without error using callback', async () => {
-            const client = new sqltiersserviceModule.v1beta4.SqlTiersServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new LocationProtos.google.cloud.location.GetLocationRequest()
-            );
-            request.name = '';
-            const expectedHeaderRequestParams = 'name=';
-            const expectedOptions = {
-                otherArgs: {
-                    headers: {
-                        'x-goog-request-params': expectedHeaderRequestParams,
-                    },
-                },
-            };
-            const expectedResponse = generateSampleMessage(
-              new LocationProtos.google.cloud.location.Location()
-            );
-            client.locationsClient.getLocation = sinon.stub().callsArgWith(2, null, expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.getLocation(
-                    request,
-                    expectedOptions,
-                    (
-                        err?: Error | null,
-                        result?: LocationProtos.google.cloud.location.ILocation | null
-                    ) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            assert((client.locationsClient.getLocation as SinonStub)
-                .getCall(0));
-        });
-        it('invokes getLocation with error', async () => {
-            const client = new sqltiersserviceModule.v1beta4.SqlTiersServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new LocationProtos.google.cloud.location.GetLocationRequest()
-            );
-            request.name = '';
-            const expectedHeaderRequestParams = 'name=';
-            const expectedOptions = {
-                otherArgs: {
-                    headers: {
-                        'x-goog-request-params': expectedHeaderRequestParams,
-                    },
-                },
-            };
-            const expectedError = new Error('expected');
-            client.locationsClient.getLocation = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.getLocation(request, expectedOptions), expectedError);
-            assert((client.locationsClient.getLocation as SinonStub)
-                .getCall(0).calledWith(request, expectedOptions, undefined));
-        });
+  });
+  describe('getLocation', () => {
+    it('invokes getLocation without error', async () => {
+      const client = new sqltiersserviceModule.v1beta4.SqlTiersServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new LocationProtos.google.cloud.location.GetLocationRequest(),
+      );
+      request.name = '';
+      const expectedHeaderRequestParams = 'name=';
+      const expectedOptions = {
+        otherArgs: {
+          headers: {
+            'x-goog-request-params': expectedHeaderRequestParams,
+          },
+        },
+      };
+      const expectedResponse = generateSampleMessage(
+        new LocationProtos.google.cloud.location.Location(),
+      );
+      client.locationsClient.getLocation = stubSimpleCall(expectedResponse);
+      const response = await client.getLocation(request, expectedOptions);
+      assert.deepStrictEqual(response, [expectedResponse]);
+      assert(
+        (client.locationsClient.getLocation as SinonStub)
+          .getCall(0)
+          .calledWith(request, expectedOptions, undefined),
+      );
     });
-    describe('listLocationsAsync', () => {
-        it('uses async iteration with listLocations without error', async () => {
-            const client = new sqltiersserviceModule.v1beta4.SqlTiersServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-                new LocationProtos.google.cloud.location.ListLocationsRequest()
-            );
-            request.name = '';
-            const expectedHeaderRequestParams = 'name=';
-            const expectedResponse = [
-                generateSampleMessage(
-                    new LocationProtos.google.cloud.location.Location()
-                ),
-                generateSampleMessage(
-                    new LocationProtos.google.cloud.location.Location()
-                ),
-                generateSampleMessage(
-                    new LocationProtos.google.cloud.location.Location()
-                ),
-            ];
-            client.locationsClient.descriptors.page.listLocations.asyncIterate = stubAsyncIterationCall(expectedResponse);
-            const responses: LocationProtos.google.cloud.location.ILocation[] = [];
-            const iterable = client.listLocationsAsync(request);
-            for await (const resource of iterable) {
-                responses.push(resource!);
+    it('invokes getLocation without error using callback', async () => {
+      const client = new sqltiersserviceModule.v1beta4.SqlTiersServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new LocationProtos.google.cloud.location.GetLocationRequest(),
+      );
+      request.name = '';
+      const expectedHeaderRequestParams = 'name=';
+      const expectedOptions = {
+        otherArgs: {
+          headers: {
+            'x-goog-request-params': expectedHeaderRequestParams,
+          },
+        },
+      };
+      const expectedResponse = generateSampleMessage(
+        new LocationProtos.google.cloud.location.Location(),
+      );
+      client.locationsClient.getLocation = sinon
+        .stub()
+        .callsArgWith(2, null, expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.getLocation(
+          request,
+          expectedOptions,
+          (
+            err?: Error | null,
+            result?: LocationProtos.google.cloud.location.ILocation | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
             }
-            assert.deepStrictEqual(responses, expectedResponse);
-            assert.deepStrictEqual(
-                (client.locationsClient.descriptors.page.listLocations.asyncIterate as SinonStub)
-                    .getCall(0).args[1], request);
-            assert(
-                (client.locationsClient.descriptors.page.listLocations.asyncIterate as SinonStub)
-                    .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes(
-                        expectedHeaderRequestParams
-                    )
-            );
-        });
-        it('uses async iteration with listLocations with error', async () => {
-            const client = new sqltiersserviceModule.v1beta4.SqlTiersServiceClient({
-                credentials: {client_email: 'bogus', private_key: 'bogus'},
-                projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new LocationProtos.google.cloud.location.ListLocationsRequest()
-            );
-            request.name = '';
-            const expectedHeaderRequestParams = 'name=';
-            const expectedError = new Error('expected');
-            client.locationsClient.descriptors.page.listLocations.asyncIterate = stubAsyncIterationCall(undefined, expectedError);
-            const iterable = client.listLocationsAsync(request);
-            await assert.rejects(async () => {
-                const responses: LocationProtos.google.cloud.location.ILocation[] = [];
-                for await (const resource of iterable) {
-                    responses.push(resource!);
-                }
-            });
-            assert.deepStrictEqual(
-                (client.locationsClient.descriptors.page.listLocations.asyncIterate as SinonStub)
-                    .getCall(0).args[1], request);
-            assert(
-                (client.locationsClient.descriptors.page.listLocations.asyncIterate as SinonStub)
-                    .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes(
-                        expectedHeaderRequestParams
-                    )
-            );
-        });
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      assert((client.locationsClient.getLocation as SinonStub).getCall(0));
     });
-
-    describe('Path templates', () => {
-
-        describe('backup', async () => {
-            const fakePath = "/rendered/path/backup";
-            const expectedParameters = {
-                project: "projectValue",
-                backup: "backupValue",
-            };
-            const client = new sqltiersserviceModule.v1beta4.SqlTiersServiceClient({
-                credentials: {client_email: 'bogus', private_key: 'bogus'},
-                projectId: 'bogus',
-            });
-            await client.initialize();
-            client.pathTemplates.backupPathTemplate.render =
-                sinon.stub().returns(fakePath);
-            client.pathTemplates.backupPathTemplate.match =
-                sinon.stub().returns(expectedParameters);
-
-            it('backupPath', () => {
-                const result = client.backupPath("projectValue", "backupValue");
-                assert.strictEqual(result, fakePath);
-                assert((client.pathTemplates.backupPathTemplate.render as SinonStub)
-                    .getCall(-1).calledWith(expectedParameters));
-            });
-
-            it('matchProjectFromBackupName', () => {
-                const result = client.matchProjectFromBackupName(fakePath);
-                assert.strictEqual(result, "projectValue");
-                assert((client.pathTemplates.backupPathTemplate.match as SinonStub)
-                    .getCall(-1).calledWith(fakePath));
-            });
-
-            it('matchBackupFromBackupName', () => {
-                const result = client.matchBackupFromBackupName(fakePath);
-                assert.strictEqual(result, "backupValue");
-                assert((client.pathTemplates.backupPathTemplate.match as SinonStub)
-                    .getCall(-1).calledWith(fakePath));
-            });
-        });
+    it('invokes getLocation with error', async () => {
+      const client = new sqltiersserviceModule.v1beta4.SqlTiersServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new LocationProtos.google.cloud.location.GetLocationRequest(),
+      );
+      request.name = '';
+      const expectedHeaderRequestParams = 'name=';
+      const expectedOptions = {
+        otherArgs: {
+          headers: {
+            'x-goog-request-params': expectedHeaderRequestParams,
+          },
+        },
+      };
+      const expectedError = new Error('expected');
+      client.locationsClient.getLocation = stubSimpleCall(
+        undefined,
+        expectedError,
+      );
+      await assert.rejects(
+        client.getLocation(request, expectedOptions),
+        expectedError,
+      );
+      assert(
+        (client.locationsClient.getLocation as SinonStub)
+          .getCall(0)
+          .calledWith(request, expectedOptions, undefined),
+      );
+    });
+  });
+  describe('listLocationsAsync', () => {
+    it('uses async iteration with listLocations without error', async () => {
+      const client = new sqltiersserviceModule.v1beta4.SqlTiersServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new LocationProtos.google.cloud.location.ListLocationsRequest(),
+      );
+      request.name = '';
+      const expectedHeaderRequestParams = 'name=';
+      const expectedResponse = [
+        generateSampleMessage(
+          new LocationProtos.google.cloud.location.Location(),
+        ),
+        generateSampleMessage(
+          new LocationProtos.google.cloud.location.Location(),
+        ),
+        generateSampleMessage(
+          new LocationProtos.google.cloud.location.Location(),
+        ),
+      ];
+      client.locationsClient.descriptors.page.listLocations.asyncIterate =
+        stubAsyncIterationCall(expectedResponse);
+      const responses: LocationProtos.google.cloud.location.ILocation[] = [];
+      const iterable = client.listLocationsAsync(request);
+      for await (const resource of iterable) {
+        responses.push(resource!);
+      }
+      assert.deepStrictEqual(responses, expectedResponse);
+      assert.deepStrictEqual(
+        (
+          client.locationsClient.descriptors.page.listLocations
+            .asyncIterate as SinonStub
+        ).getCall(0).args[1],
+        request,
+      );
+      assert(
+        (
+          client.locationsClient.descriptors.page.listLocations
+            .asyncIterate as SinonStub
+        )
+          .getCall(0)
+          .args[2].otherArgs.headers['x-goog-request-params'].includes(
+            expectedHeaderRequestParams,
+          ),
+      );
+    });
+    it('uses async iteration with listLocations with error', async () => {
+      const client = new sqltiersserviceModule.v1beta4.SqlTiersServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new LocationProtos.google.cloud.location.ListLocationsRequest(),
+      );
+      request.name = '';
+      const expectedHeaderRequestParams = 'name=';
+      const expectedError = new Error('expected');
+      client.locationsClient.descriptors.page.listLocations.asyncIterate =
+        stubAsyncIterationCall(undefined, expectedError);
+      const iterable = client.listLocationsAsync(request);
+      await assert.rejects(async () => {
+        const responses: LocationProtos.google.cloud.location.ILocation[] = [];
+        for await (const resource of iterable) {
+          responses.push(resource!);
+        }
+      });
+      assert.deepStrictEqual(
+        (
+          client.locationsClient.descriptors.page.listLocations
+            .asyncIterate as SinonStub
+        ).getCall(0).args[1],
+        request,
+      );
+      assert(
+        (
+          client.locationsClient.descriptors.page.listLocations
+            .asyncIterate as SinonStub
+        )
+          .getCall(0)
+          .args[2].otherArgs.headers['x-goog-request-params'].includes(
+            expectedHeaderRequestParams,
+          ),
+      );
+    });
+  });
+
+  describe('Path templates', () => {
+    describe('backup', async () => {
+      const fakePath = '/rendered/path/backup';
+      const expectedParameters = {
+        project: 'projectValue',
+        backup: 'backupValue',
+      };
+      const client = new sqltiersserviceModule.v1beta4.SqlTiersServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      await client.initialize();
+      client.pathTemplates.backupPathTemplate.render = sinon
+        .stub()
+        .returns(fakePath);
+      client.pathTemplates.backupPathTemplate.match = sinon
+        .stub()
+        .returns(expectedParameters);
+
+      it('backupPath', () => {
+        const result = client.backupPath('projectValue', 'backupValue');
+        assert.strictEqual(result, fakePath);
+        assert(
+          (client.pathTemplates.backupPathTemplate.render as SinonStub)
+            .getCall(-1)
+            .calledWith(expectedParameters),
+        );
+      });
+
+      it('matchProjectFromBackupName', () => {
+        const result = client.matchProjectFromBackupName(fakePath);
+        assert.strictEqual(result, 'projectValue');
+        assert(
+          (client.pathTemplates.backupPathTemplate.match as SinonStub)
+            .getCall(-1)
+            .calledWith(fakePath),
+        );
+      });
+
+      it('matchBackupFromBackupName', () => {
+        const result = client.matchBackupFromBackupName(fakePath);
+        assert.strictEqual(result, 'backupValue');
+        assert(
+          (client.pathTemplates.backupPathTemplate.match as SinonStub)
+            .getCall(-1)
+            .calledWith(fakePath),
+        );
+      });
     });
+  });
 });
diff --git a/packages/google-cloud-sql/test/gapic_sql_users_service_v1.ts b/packages/google-cloud-sql/test/gapic_sql_users_service_v1.ts
index b5b898848b1b..ffbc06c9fd47 100644
--- a/packages/google-cloud-sql/test/gapic_sql_users_service_v1.ts
+++ b/packages/google-cloud-sql/test/gapic_sql_users_service_v1.ts
@@ -19,1035 +19,1267 @@
 import * as protos from '../protos/protos';
 import * as assert from 'assert';
 import * as sinon from 'sinon';
-import {SinonStub} from 'sinon';
-import {describe, it} from 'mocha';
+import { SinonStub } from 'sinon';
+import { describe, it } from 'mocha';
 import * as sqlusersserviceModule from '../src';
 
-import {protobuf, LocationProtos} from 'google-gax';
+import { protobuf, LocationProtos } from 'google-gax';
 
 // Dynamically loaded proto JSON is needed to get the type information
 // to fill in default values for request objects
-const root = protobuf.Root.fromJSON(require('../protos/protos.json')).resolveAll();
+const root = protobuf.Root.fromJSON(
+  require('../protos/protos.json'),
+).resolveAll();
 
 // eslint-disable-next-line @typescript-eslint/no-unused-vars
 function getTypeDefaultValue(typeName: string, fields: string[]) {
-    let type = root.lookupType(typeName) as protobuf.Type;
-    for (const field of fields.slice(0, -1)) {
-        type = type.fields[field]?.resolvedType as protobuf.Type;
-    }
-    return type.fields[fields[fields.length - 1]]?.defaultValue;
+  let type = root.lookupType(typeName) as protobuf.Type;
+  for (const field of fields.slice(0, -1)) {
+    type = type.fields[field]?.resolvedType as protobuf.Type;
+  }
+  return type.fields[fields[fields.length - 1]]?.defaultValue;
 }
 
 function generateSampleMessage<T extends object>(instance: T) {
-    const filledObject = (instance.constructor as typeof protobuf.Message)
-        .toObject(instance as protobuf.Message<T>, {defaults: true});
-    return (instance.constructor as typeof protobuf.Message).fromObject(filledObject) as T;
+  const filledObject = (
+    instance.constructor as typeof protobuf.Message
+  ).toObject(instance as protobuf.Message<T>, { defaults: true });
+  return (instance.constructor as typeof protobuf.Message).fromObject(
+    filledObject,
+  ) as T;
 }
 
 function stubSimpleCall<ResponseType>(response?: ResponseType, error?: Error) {
-    return error ? sinon.stub().rejects(error) : sinon.stub().resolves([response]);
+  return error
+    ? sinon.stub().rejects(error)
+    : sinon.stub().resolves([response]);
 }
 
-function stubSimpleCallWithCallback<ResponseType>(response?: ResponseType, error?: Error) {
-    return error ? sinon.stub().callsArgWith(2, error) : sinon.stub().callsArgWith(2, null, response);
+function stubSimpleCallWithCallback<ResponseType>(
+  response?: ResponseType,
+  error?: Error,
+) {
+  return error
+    ? sinon.stub().callsArgWith(2, error)
+    : sinon.stub().callsArgWith(2, null, response);
 }
 
-function stubAsyncIterationCall<ResponseType>(responses?: ResponseType[], error?: Error) {
-    let counter = 0;
-    const asyncIterable = {
-        [Symbol.asyncIterator]() {
-            return {
-                async next() {
-                    if (error) {
-                        return Promise.reject(error);
-                    }
-                    if (counter >= responses!.length) {
-                        return Promise.resolve({done: true, value: undefined});
-                    }
-                    return Promise.resolve({done: false, value: responses![counter++]});
-                }
-            };
-        }
-    };
-    return sinon.stub().returns(asyncIterable);
+function stubAsyncIterationCall<ResponseType>(
+  responses?: ResponseType[],
+  error?: Error,
+) {
+  let counter = 0;
+  const asyncIterable = {
+    [Symbol.asyncIterator]() {
+      return {
+        async next() {
+          if (error) {
+            return Promise.reject(error);
+          }
+          if (counter >= responses!.length) {
+            return Promise.resolve({ done: true, value: undefined });
+          }
+          return Promise.resolve({ done: false, value: responses![counter++] });
+        },
+      };
+    },
+  };
+  return sinon.stub().returns(asyncIterable);
 }
 
 describe('v1.SqlUsersServiceClient', () => {
-    describe('Common methods', () => {
-        it('has apiEndpoint', () => {
-            const client = new sqlusersserviceModule.v1.SqlUsersServiceClient();
-            const apiEndpoint = client.apiEndpoint;
-            assert.strictEqual(apiEndpoint, 'sqladmin.googleapis.com');
-        });
-
-        it('has universeDomain', () => {
-            const client = new sqlusersserviceModule.v1.SqlUsersServiceClient();
-            const universeDomain = client.universeDomain;
-            assert.strictEqual(universeDomain, "googleapis.com");
-        });
+  describe('Common methods', () => {
+    it('has apiEndpoint', () => {
+      const client = new sqlusersserviceModule.v1.SqlUsersServiceClient();
+      const apiEndpoint = client.apiEndpoint;
+      assert.strictEqual(apiEndpoint, 'sqladmin.googleapis.com');
+    });
 
-        if (typeof process === 'object' && typeof process.emitWarning === 'function') {
-            it('throws DeprecationWarning if static servicePath is used', () => {
-                const stub = sinon.stub(process, 'emitWarning');
-                const servicePath = sqlusersserviceModule.v1.SqlUsersServiceClient.servicePath;
-                assert.strictEqual(servicePath, 'sqladmin.googleapis.com');
-                assert(stub.called);
-                stub.restore();
-            });
+    it('has universeDomain', () => {
+      const client = new sqlusersserviceModule.v1.SqlUsersServiceClient();
+      const universeDomain = client.universeDomain;
+      assert.strictEqual(universeDomain, 'googleapis.com');
+    });
 
-            it('throws DeprecationWarning if static apiEndpoint is used', () => {
-                const stub = sinon.stub(process, 'emitWarning');
-                const apiEndpoint = sqlusersserviceModule.v1.SqlUsersServiceClient.apiEndpoint;
-                assert.strictEqual(apiEndpoint, 'sqladmin.googleapis.com');
-                assert(stub.called);
-                stub.restore();
-            });
-        }
-        it('sets apiEndpoint according to universe domain camelCase', () => {
-            const client = new sqlusersserviceModule.v1.SqlUsersServiceClient({universeDomain: 'example.com'});
-            const servicePath = client.apiEndpoint;
-            assert.strictEqual(servicePath, 'sqladmin.example.com');
-        });
+    if (
+      typeof process === 'object' &&
+      typeof process.emitWarning === 'function'
+    ) {
+      it('throws DeprecationWarning if static servicePath is used', () => {
+        const stub = sinon.stub(process, 'emitWarning');
+        const servicePath =
+          sqlusersserviceModule.v1.SqlUsersServiceClient.servicePath;
+        assert.strictEqual(servicePath, 'sqladmin.googleapis.com');
+        assert(stub.called);
+        stub.restore();
+      });
 
-        it('sets apiEndpoint according to universe domain snakeCase', () => {
-            const client = new sqlusersserviceModule.v1.SqlUsersServiceClient({universe_domain: 'example.com'});
-            const servicePath = client.apiEndpoint;
-            assert.strictEqual(servicePath, 'sqladmin.example.com');
-        });
+      it('throws DeprecationWarning if static apiEndpoint is used', () => {
+        const stub = sinon.stub(process, 'emitWarning');
+        const apiEndpoint =
+          sqlusersserviceModule.v1.SqlUsersServiceClient.apiEndpoint;
+        assert.strictEqual(apiEndpoint, 'sqladmin.googleapis.com');
+        assert(stub.called);
+        stub.restore();
+      });
+    }
+    it('sets apiEndpoint according to universe domain camelCase', () => {
+      const client = new sqlusersserviceModule.v1.SqlUsersServiceClient({
+        universeDomain: 'example.com',
+      });
+      const servicePath = client.apiEndpoint;
+      assert.strictEqual(servicePath, 'sqladmin.example.com');
+    });
 
-        if (typeof process === 'object' && 'env' in process) {
-            describe('GOOGLE_CLOUD_UNIVERSE_DOMAIN environment variable', () => {
-                it('sets apiEndpoint from environment variable', () => {
-                    const saved = process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
-                    process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = 'example.com';
-                    const client = new sqlusersserviceModule.v1.SqlUsersServiceClient();
-                    const servicePath = client.apiEndpoint;
-                    assert.strictEqual(servicePath, 'sqladmin.example.com');
-                    if (saved) {
-                        process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = saved;
-                    } else {
-                        delete process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
-                    }
-                });
+    it('sets apiEndpoint according to universe domain snakeCase', () => {
+      const client = new sqlusersserviceModule.v1.SqlUsersServiceClient({
+        universe_domain: 'example.com',
+      });
+      const servicePath = client.apiEndpoint;
+      assert.strictEqual(servicePath, 'sqladmin.example.com');
+    });
 
-                it('value configured in code has priority over environment variable', () => {
-                    const saved = process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
-                    process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = 'example.com';
-                    const client = new sqlusersserviceModule.v1.SqlUsersServiceClient({universeDomain: 'configured.example.com'});
-                    const servicePath = client.apiEndpoint;
-                    assert.strictEqual(servicePath, 'sqladmin.configured.example.com');
-                    if (saved) {
-                        process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = saved;
-                    } else {
-                        delete process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
-                    }
-                });
-            });
-        }
-        it('does not allow setting both universeDomain and universe_domain', () => {
-            assert.throws(() => { new sqlusersserviceModule.v1.SqlUsersServiceClient({universe_domain: 'example.com', universeDomain: 'example.net'}); });
+    if (typeof process === 'object' && 'env' in process) {
+      describe('GOOGLE_CLOUD_UNIVERSE_DOMAIN environment variable', () => {
+        it('sets apiEndpoint from environment variable', () => {
+          const saved = process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
+          process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = 'example.com';
+          const client = new sqlusersserviceModule.v1.SqlUsersServiceClient();
+          const servicePath = client.apiEndpoint;
+          assert.strictEqual(servicePath, 'sqladmin.example.com');
+          if (saved) {
+            process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = saved;
+          } else {
+            delete process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
+          }
         });
 
-        it('has port', () => {
-            const port = sqlusersserviceModule.v1.SqlUsersServiceClient.port;
-            assert(port);
-            assert(typeof port === 'number');
+        it('value configured in code has priority over environment variable', () => {
+          const saved = process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
+          process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = 'example.com';
+          const client = new sqlusersserviceModule.v1.SqlUsersServiceClient({
+            universeDomain: 'configured.example.com',
+          });
+          const servicePath = client.apiEndpoint;
+          assert.strictEqual(servicePath, 'sqladmin.configured.example.com');
+          if (saved) {
+            process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = saved;
+          } else {
+            delete process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
+          }
         });
-
-        it('should create a client with no option', () => {
-            const client = new sqlusersserviceModule.v1.SqlUsersServiceClient();
-            assert(client);
+      });
+    }
+    it('does not allow setting both universeDomain and universe_domain', () => {
+      assert.throws(() => {
+        new sqlusersserviceModule.v1.SqlUsersServiceClient({
+          universe_domain: 'example.com',
+          universeDomain: 'example.net',
         });
+      });
+    });
 
-        it('should create a client with gRPC fallback', () => {
-            const client = new sqlusersserviceModule.v1.SqlUsersServiceClient({
-                fallback: true,
-            });
-            assert(client);
-        });
+    it('has port', () => {
+      const port = sqlusersserviceModule.v1.SqlUsersServiceClient.port;
+      assert(port);
+      assert(typeof port === 'number');
+    });
 
-        it('has initialize method and supports deferred initialization', async () => {
-            const client = new sqlusersserviceModule.v1.SqlUsersServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            assert.strictEqual(client.sqlUsersServiceStub, undefined);
-            await client.initialize();
-            assert(client.sqlUsersServiceStub);
-        });
+    it('should create a client with no option', () => {
+      const client = new sqlusersserviceModule.v1.SqlUsersServiceClient();
+      assert(client);
+    });
 
-        it('has close method for the initialized client', done => {
-            const client = new sqlusersserviceModule.v1.SqlUsersServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            client.initialize().catch(err => {throw err});
-            assert(client.sqlUsersServiceStub);
-            client.close().then(() => {
-                done();
-            }).catch(err => {throw err});
-        });
+    it('should create a client with gRPC fallback', () => {
+      const client = new sqlusersserviceModule.v1.SqlUsersServiceClient({
+        fallback: true,
+      });
+      assert(client);
+    });
 
-        it('has close method for the non-initialized client', done => {
-            const client = new sqlusersserviceModule.v1.SqlUsersServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            assert.strictEqual(client.sqlUsersServiceStub, undefined);
-            client.close().then(() => {
-                done();
-            }).catch(err => {throw err});
-        });
+    it('has initialize method and supports deferred initialization', async () => {
+      const client = new sqlusersserviceModule.v1.SqlUsersServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      assert.strictEqual(client.sqlUsersServiceStub, undefined);
+      await client.initialize();
+      assert(client.sqlUsersServiceStub);
+    });
 
-        it('has getProjectId method', async () => {
-            const fakeProjectId = 'fake-project-id';
-            const client = new sqlusersserviceModule.v1.SqlUsersServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            client.auth.getProjectId = sinon.stub().resolves(fakeProjectId);
-            const result = await client.getProjectId();
-            assert.strictEqual(result, fakeProjectId);
-            assert((client.auth.getProjectId as SinonStub).calledWithExactly());
+    it('has close method for the initialized client', (done) => {
+      const client = new sqlusersserviceModule.v1.SqlUsersServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      client.initialize().catch((err) => {
+        throw err;
+      });
+      assert(client.sqlUsersServiceStub);
+      client
+        .close()
+        .then(() => {
+          done();
+        })
+        .catch((err) => {
+          throw err;
         });
+    });
 
-        it('has getProjectId method with callback', async () => {
-            const fakeProjectId = 'fake-project-id';
-            const client = new sqlusersserviceModule.v1.SqlUsersServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            client.auth.getProjectId = sinon.stub().callsArgWith(0, null, fakeProjectId);
-            const promise = new Promise((resolve, reject) => {
-                client.getProjectId((err?: Error|null, projectId?: string|null) => {
-                    if (err) {
-                        reject(err);
-                    } else {
-                        resolve(projectId);
-                    }
-                });
-            });
-            const result = await promise;
-            assert.strictEqual(result, fakeProjectId);
+    it('has close method for the non-initialized client', (done) => {
+      const client = new sqlusersserviceModule.v1.SqlUsersServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      assert.strictEqual(client.sqlUsersServiceStub, undefined);
+      client
+        .close()
+        .then(() => {
+          done();
+        })
+        .catch((err) => {
+          throw err;
         });
     });
 
-    describe('delete', () => {
-        it('invokes delete without error', async () => {
-            const client = new sqlusersserviceModule.v1.SqlUsersServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlUsersDeleteRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlUsersDeleteRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlUsersDeleteRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1.Operation()
-            );
-            client.innerApiCalls.delete = stubSimpleCall(expectedResponse);
-            const [response] = await client.delete(request);
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.delete as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.delete as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+    it('has getProjectId method', async () => {
+      const fakeProjectId = 'fake-project-id';
+      const client = new sqlusersserviceModule.v1.SqlUsersServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      client.auth.getProjectId = sinon.stub().resolves(fakeProjectId);
+      const result = await client.getProjectId();
+      assert.strictEqual(result, fakeProjectId);
+      assert((client.auth.getProjectId as SinonStub).calledWithExactly());
+    });
 
-        it('invokes delete without error using callback', async () => {
-            const client = new sqlusersserviceModule.v1.SqlUsersServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlUsersDeleteRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlUsersDeleteRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlUsersDeleteRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1.Operation()
-            );
-            client.innerApiCalls.delete = stubSimpleCallWithCallback(expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.delete(
-                    request,
-                    (err?: Error|null, result?: protos.google.cloud.sql.v1.IOperation|null) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.delete as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.delete as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    it('has getProjectId method with callback', async () => {
+      const fakeProjectId = 'fake-project-id';
+      const client = new sqlusersserviceModule.v1.SqlUsersServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      client.auth.getProjectId = sinon
+        .stub()
+        .callsArgWith(0, null, fakeProjectId);
+      const promise = new Promise((resolve, reject) => {
+        client.getProjectId((err?: Error | null, projectId?: string | null) => {
+          if (err) {
+            reject(err);
+          } else {
+            resolve(projectId);
+          }
         });
+      });
+      const result = await promise;
+      assert.strictEqual(result, fakeProjectId);
+    });
+  });
 
-        it('invokes delete with error', async () => {
-            const client = new sqlusersserviceModule.v1.SqlUsersServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlUsersDeleteRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlUsersDeleteRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlUsersDeleteRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedError = new Error('expected');
-            client.innerApiCalls.delete = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.delete(request), expectedError);
-            const actualRequest = (client.innerApiCalls.delete as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.delete as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+  describe('delete', () => {
+    it('invokes delete without error', async () => {
+      const client = new sqlusersserviceModule.v1.SqlUsersServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlUsersDeleteRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlUsersDeleteRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlUsersDeleteRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1.Operation(),
+      );
+      client.innerApiCalls.delete = stubSimpleCall(expectedResponse);
+      const [response] = await client.delete(request);
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (client.innerApiCalls.delete as SinonStub).getCall(
+        0,
+      ).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.delete as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes delete with closed client', async () => {
-            const client = new sqlusersserviceModule.v1.SqlUsersServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlUsersDeleteRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlUsersDeleteRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlUsersDeleteRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedError = new Error('The client has already been closed.');
-            client.close().catch(err => {throw err});
-            await assert.rejects(client.delete(request), expectedError);
-        });
+    it('invokes delete without error using callback', async () => {
+      const client = new sqlusersserviceModule.v1.SqlUsersServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlUsersDeleteRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlUsersDeleteRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlUsersDeleteRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1.Operation(),
+      );
+      client.innerApiCalls.delete =
+        stubSimpleCallWithCallback(expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.delete(
+          request,
+          (
+            err?: Error | null,
+            result?: protos.google.cloud.sql.v1.IOperation | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
+            }
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (client.innerApiCalls.delete as SinonStub).getCall(
+        0,
+      ).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.delete as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
     });
 
-    describe('get', () => {
-        it('invokes get without error', async () => {
-            const client = new sqlusersserviceModule.v1.SqlUsersServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlUsersGetRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlUsersGetRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlUsersGetRequest', ['instance']);
-            request.instance = defaultValue2;
-            const defaultValue3 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlUsersGetRequest', ['name']);
-            request.name = defaultValue3;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }&name=${defaultValue3 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1.User()
-            );
-            client.innerApiCalls.get = stubSimpleCall(expectedResponse);
-            const [response] = await client.get(request);
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.get as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.get as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+    it('invokes delete with error', async () => {
+      const client = new sqlusersserviceModule.v1.SqlUsersServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlUsersDeleteRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlUsersDeleteRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlUsersDeleteRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedError = new Error('expected');
+      client.innerApiCalls.delete = stubSimpleCall(undefined, expectedError);
+      await assert.rejects(client.delete(request), expectedError);
+      const actualRequest = (client.innerApiCalls.delete as SinonStub).getCall(
+        0,
+      ).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.delete as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes get without error using callback', async () => {
-            const client = new sqlusersserviceModule.v1.SqlUsersServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlUsersGetRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlUsersGetRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlUsersGetRequest', ['instance']);
-            request.instance = defaultValue2;
-            const defaultValue3 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlUsersGetRequest', ['name']);
-            request.name = defaultValue3;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }&name=${defaultValue3 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1.User()
-            );
-            client.innerApiCalls.get = stubSimpleCallWithCallback(expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.get(
-                    request,
-                    (err?: Error|null, result?: protos.google.cloud.sql.v1.IUser|null) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.get as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.get as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+    it('invokes delete with closed client', async () => {
+      const client = new sqlusersserviceModule.v1.SqlUsersServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlUsersDeleteRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlUsersDeleteRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlUsersDeleteRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedError = new Error('The client has already been closed.');
+      client.close().catch((err) => {
+        throw err;
+      });
+      await assert.rejects(client.delete(request), expectedError);
+    });
+  });
 
-        it('invokes get with error', async () => {
-            const client = new sqlusersserviceModule.v1.SqlUsersServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlUsersGetRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlUsersGetRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlUsersGetRequest', ['instance']);
-            request.instance = defaultValue2;
-            const defaultValue3 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlUsersGetRequest', ['name']);
-            request.name = defaultValue3;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }&name=${defaultValue3 ?? '' }`;
-            const expectedError = new Error('expected');
-            client.innerApiCalls.get = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.get(request), expectedError);
-            const actualRequest = (client.innerApiCalls.get as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.get as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+  describe('get', () => {
+    it('invokes get without error', async () => {
+      const client = new sqlusersserviceModule.v1.SqlUsersServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlUsersGetRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlUsersGetRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlUsersGetRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const defaultValue3 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlUsersGetRequest',
+        ['name'],
+      );
+      request.name = defaultValue3;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}&name=${defaultValue3 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1.User(),
+      );
+      client.innerApiCalls.get = stubSimpleCall(expectedResponse);
+      const [response] = await client.get(request);
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (client.innerApiCalls.get as SinonStub).getCall(0)
+        .args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.get as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes get with closed client', async () => {
-            const client = new sqlusersserviceModule.v1.SqlUsersServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlUsersGetRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlUsersGetRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlUsersGetRequest', ['instance']);
-            request.instance = defaultValue2;
-            const defaultValue3 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlUsersGetRequest', ['name']);
-            request.name = defaultValue3;
-            const expectedError = new Error('The client has already been closed.');
-            client.close().catch(err => {throw err});
-            await assert.rejects(client.get(request), expectedError);
-        });
+    it('invokes get without error using callback', async () => {
+      const client = new sqlusersserviceModule.v1.SqlUsersServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlUsersGetRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlUsersGetRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlUsersGetRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const defaultValue3 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlUsersGetRequest',
+        ['name'],
+      );
+      request.name = defaultValue3;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}&name=${defaultValue3 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1.User(),
+      );
+      client.innerApiCalls.get = stubSimpleCallWithCallback(expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.get(
+          request,
+          (
+            err?: Error | null,
+            result?: protos.google.cloud.sql.v1.IUser | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
+            }
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (client.innerApiCalls.get as SinonStub).getCall(0)
+        .args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.get as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
     });
 
-    describe('insert', () => {
-        it('invokes insert without error', async () => {
-            const client = new sqlusersserviceModule.v1.SqlUsersServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlUsersInsertRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlUsersInsertRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlUsersInsertRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1.Operation()
-            );
-            client.innerApiCalls.insert = stubSimpleCall(expectedResponse);
-            const [response] = await client.insert(request);
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.insert as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.insert as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+    it('invokes get with error', async () => {
+      const client = new sqlusersserviceModule.v1.SqlUsersServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlUsersGetRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlUsersGetRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlUsersGetRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const defaultValue3 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlUsersGetRequest',
+        ['name'],
+      );
+      request.name = defaultValue3;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}&name=${defaultValue3 ?? ''}`;
+      const expectedError = new Error('expected');
+      client.innerApiCalls.get = stubSimpleCall(undefined, expectedError);
+      await assert.rejects(client.get(request), expectedError);
+      const actualRequest = (client.innerApiCalls.get as SinonStub).getCall(0)
+        .args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.get as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes insert without error using callback', async () => {
-            const client = new sqlusersserviceModule.v1.SqlUsersServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlUsersInsertRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlUsersInsertRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlUsersInsertRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1.Operation()
-            );
-            client.innerApiCalls.insert = stubSimpleCallWithCallback(expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.insert(
-                    request,
-                    (err?: Error|null, result?: protos.google.cloud.sql.v1.IOperation|null) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.insert as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.insert as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+    it('invokes get with closed client', async () => {
+      const client = new sqlusersserviceModule.v1.SqlUsersServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlUsersGetRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlUsersGetRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlUsersGetRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const defaultValue3 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlUsersGetRequest',
+        ['name'],
+      );
+      request.name = defaultValue3;
+      const expectedError = new Error('The client has already been closed.');
+      client.close().catch((err) => {
+        throw err;
+      });
+      await assert.rejects(client.get(request), expectedError);
+    });
+  });
 
-        it('invokes insert with error', async () => {
-            const client = new sqlusersserviceModule.v1.SqlUsersServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlUsersInsertRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlUsersInsertRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlUsersInsertRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedError = new Error('expected');
-            client.innerApiCalls.insert = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.insert(request), expectedError);
-            const actualRequest = (client.innerApiCalls.insert as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.insert as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+  describe('insert', () => {
+    it('invokes insert without error', async () => {
+      const client = new sqlusersserviceModule.v1.SqlUsersServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlUsersInsertRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlUsersInsertRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlUsersInsertRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1.Operation(),
+      );
+      client.innerApiCalls.insert = stubSimpleCall(expectedResponse);
+      const [response] = await client.insert(request);
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (client.innerApiCalls.insert as SinonStub).getCall(
+        0,
+      ).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.insert as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes insert with closed client', async () => {
-            const client = new sqlusersserviceModule.v1.SqlUsersServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlUsersInsertRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlUsersInsertRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlUsersInsertRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedError = new Error('The client has already been closed.');
-            client.close().catch(err => {throw err});
-            await assert.rejects(client.insert(request), expectedError);
-        });
+    it('invokes insert without error using callback', async () => {
+      const client = new sqlusersserviceModule.v1.SqlUsersServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlUsersInsertRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlUsersInsertRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlUsersInsertRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1.Operation(),
+      );
+      client.innerApiCalls.insert =
+        stubSimpleCallWithCallback(expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.insert(
+          request,
+          (
+            err?: Error | null,
+            result?: protos.google.cloud.sql.v1.IOperation | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
+            }
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (client.innerApiCalls.insert as SinonStub).getCall(
+        0,
+      ).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.insert as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
     });
 
-    describe('list', () => {
-        it('invokes list without error', async () => {
-            const client = new sqlusersserviceModule.v1.SqlUsersServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlUsersListRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlUsersListRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlUsersListRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1.UsersListResponse()
-            );
-            client.innerApiCalls.list = stubSimpleCall(expectedResponse);
-            const [response] = await client.list(request);
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.list as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.list as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+    it('invokes insert with error', async () => {
+      const client = new sqlusersserviceModule.v1.SqlUsersServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlUsersInsertRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlUsersInsertRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlUsersInsertRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedError = new Error('expected');
+      client.innerApiCalls.insert = stubSimpleCall(undefined, expectedError);
+      await assert.rejects(client.insert(request), expectedError);
+      const actualRequest = (client.innerApiCalls.insert as SinonStub).getCall(
+        0,
+      ).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.insert as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes list without error using callback', async () => {
-            const client = new sqlusersserviceModule.v1.SqlUsersServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlUsersListRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlUsersListRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlUsersListRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1.UsersListResponse()
-            );
-            client.innerApiCalls.list = stubSimpleCallWithCallback(expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.list(
-                    request,
-                    (err?: Error|null, result?: protos.google.cloud.sql.v1.IUsersListResponse|null) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.list as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.list as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+    it('invokes insert with closed client', async () => {
+      const client = new sqlusersserviceModule.v1.SqlUsersServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlUsersInsertRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlUsersInsertRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlUsersInsertRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedError = new Error('The client has already been closed.');
+      client.close().catch((err) => {
+        throw err;
+      });
+      await assert.rejects(client.insert(request), expectedError);
+    });
+  });
 
-        it('invokes list with error', async () => {
-            const client = new sqlusersserviceModule.v1.SqlUsersServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlUsersListRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlUsersListRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlUsersListRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedError = new Error('expected');
-            client.innerApiCalls.list = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.list(request), expectedError);
-            const actualRequest = (client.innerApiCalls.list as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.list as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+  describe('list', () => {
+    it('invokes list without error', async () => {
+      const client = new sqlusersserviceModule.v1.SqlUsersServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlUsersListRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlUsersListRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlUsersListRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1.UsersListResponse(),
+      );
+      client.innerApiCalls.list = stubSimpleCall(expectedResponse);
+      const [response] = await client.list(request);
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (client.innerApiCalls.list as SinonStub).getCall(0)
+        .args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.list as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes list with closed client', async () => {
-            const client = new sqlusersserviceModule.v1.SqlUsersServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlUsersListRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlUsersListRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlUsersListRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedError = new Error('The client has already been closed.');
-            client.close().catch(err => {throw err});
-            await assert.rejects(client.list(request), expectedError);
-        });
+    it('invokes list without error using callback', async () => {
+      const client = new sqlusersserviceModule.v1.SqlUsersServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlUsersListRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlUsersListRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlUsersListRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1.UsersListResponse(),
+      );
+      client.innerApiCalls.list = stubSimpleCallWithCallback(expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.list(
+          request,
+          (
+            err?: Error | null,
+            result?: protos.google.cloud.sql.v1.IUsersListResponse | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
+            }
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (client.innerApiCalls.list as SinonStub).getCall(0)
+        .args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.list as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
     });
 
-    describe('update', () => {
-        it('invokes update without error', async () => {
-            const client = new sqlusersserviceModule.v1.SqlUsersServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlUsersUpdateRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlUsersUpdateRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlUsersUpdateRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1.Operation()
-            );
-            client.innerApiCalls.update = stubSimpleCall(expectedResponse);
-            const [response] = await client.update(request);
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.update as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.update as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+    it('invokes list with error', async () => {
+      const client = new sqlusersserviceModule.v1.SqlUsersServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlUsersListRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlUsersListRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlUsersListRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedError = new Error('expected');
+      client.innerApiCalls.list = stubSimpleCall(undefined, expectedError);
+      await assert.rejects(client.list(request), expectedError);
+      const actualRequest = (client.innerApiCalls.list as SinonStub).getCall(0)
+        .args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.list as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes update without error using callback', async () => {
-            const client = new sqlusersserviceModule.v1.SqlUsersServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlUsersUpdateRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlUsersUpdateRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlUsersUpdateRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1.Operation()
-            );
-            client.innerApiCalls.update = stubSimpleCallWithCallback(expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.update(
-                    request,
-                    (err?: Error|null, result?: protos.google.cloud.sql.v1.IOperation|null) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.update as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.update as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+    it('invokes list with closed client', async () => {
+      const client = new sqlusersserviceModule.v1.SqlUsersServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlUsersListRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlUsersListRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlUsersListRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedError = new Error('The client has already been closed.');
+      client.close().catch((err) => {
+        throw err;
+      });
+      await assert.rejects(client.list(request), expectedError);
+    });
+  });
 
-        it('invokes update with error', async () => {
-            const client = new sqlusersserviceModule.v1.SqlUsersServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlUsersUpdateRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlUsersUpdateRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlUsersUpdateRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedError = new Error('expected');
-            client.innerApiCalls.update = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.update(request), expectedError);
-            const actualRequest = (client.innerApiCalls.update as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.update as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+  describe('update', () => {
+    it('invokes update without error', async () => {
+      const client = new sqlusersserviceModule.v1.SqlUsersServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlUsersUpdateRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlUsersUpdateRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlUsersUpdateRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1.Operation(),
+      );
+      client.innerApiCalls.update = stubSimpleCall(expectedResponse);
+      const [response] = await client.update(request);
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (client.innerApiCalls.update as SinonStub).getCall(
+        0,
+      ).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.update as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes update with closed client', async () => {
-            const client = new sqlusersserviceModule.v1.SqlUsersServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1.SqlUsersUpdateRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlUsersUpdateRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1.SqlUsersUpdateRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedError = new Error('The client has already been closed.');
-            client.close().catch(err => {throw err});
-            await assert.rejects(client.update(request), expectedError);
-        });
+    it('invokes update without error using callback', async () => {
+      const client = new sqlusersserviceModule.v1.SqlUsersServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlUsersUpdateRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlUsersUpdateRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlUsersUpdateRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1.Operation(),
+      );
+      client.innerApiCalls.update =
+        stubSimpleCallWithCallback(expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.update(
+          request,
+          (
+            err?: Error | null,
+            result?: protos.google.cloud.sql.v1.IOperation | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
+            }
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (client.innerApiCalls.update as SinonStub).getCall(
+        0,
+      ).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.update as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
     });
-    describe('getLocation', () => {
-        it('invokes getLocation without error', async () => {
-            const client = new sqlusersserviceModule.v1.SqlUsersServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new LocationProtos.google.cloud.location.GetLocationRequest()
-            );
-            request.name = '';
-            const expectedHeaderRequestParams = 'name=';
-            const expectedOptions = {
-                otherArgs: {
-                    headers: {
-                        'x-goog-request-params': expectedHeaderRequestParams,
-                    },
-                },
-            };
-            const expectedResponse = generateSampleMessage(
-              new LocationProtos.google.cloud.location.Location()
-            );
-            client.locationsClient.getLocation = stubSimpleCall(expectedResponse);
-            const response = await client.getLocation(request, expectedOptions);
-            assert.deepStrictEqual(response, [expectedResponse]);
-            assert((client.locationsClient.getLocation as SinonStub)
-                .getCall(0).calledWith(request, expectedOptions, undefined));
-        });
-        it('invokes getLocation without error using callback', async () => {
-            const client = new sqlusersserviceModule.v1.SqlUsersServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new LocationProtos.google.cloud.location.GetLocationRequest()
-            );
-            request.name = '';
-            const expectedHeaderRequestParams = 'name=';
-            const expectedOptions = {
-                otherArgs: {
-                    headers: {
-                        'x-goog-request-params': expectedHeaderRequestParams,
-                    },
-                },
-            };
-            const expectedResponse = generateSampleMessage(
-              new LocationProtos.google.cloud.location.Location()
-            );
-            client.locationsClient.getLocation = sinon.stub().callsArgWith(2, null, expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.getLocation(
-                    request,
-                    expectedOptions,
-                    (
-                        err?: Error | null,
-                        result?: LocationProtos.google.cloud.location.ILocation | null
-                    ) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            assert((client.locationsClient.getLocation as SinonStub)
-                .getCall(0));
-        });
-        it('invokes getLocation with error', async () => {
-            const client = new sqlusersserviceModule.v1.SqlUsersServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new LocationProtos.google.cloud.location.GetLocationRequest()
-            );
-            request.name = '';
-            const expectedHeaderRequestParams = 'name=';
-            const expectedOptions = {
-                otherArgs: {
-                    headers: {
-                        'x-goog-request-params': expectedHeaderRequestParams,
-                    },
-                },
-            };
-            const expectedError = new Error('expected');
-            client.locationsClient.getLocation = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.getLocation(request, expectedOptions), expectedError);
-            assert((client.locationsClient.getLocation as SinonStub)
-                .getCall(0).calledWith(request, expectedOptions, undefined));
-        });
+
+    it('invokes update with error', async () => {
+      const client = new sqlusersserviceModule.v1.SqlUsersServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlUsersUpdateRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlUsersUpdateRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlUsersUpdateRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedError = new Error('expected');
+      client.innerApiCalls.update = stubSimpleCall(undefined, expectedError);
+      await assert.rejects(client.update(request), expectedError);
+      const actualRequest = (client.innerApiCalls.update as SinonStub).getCall(
+        0,
+      ).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.update as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
+
+    it('invokes update with closed client', async () => {
+      const client = new sqlusersserviceModule.v1.SqlUsersServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1.SqlUsersUpdateRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlUsersUpdateRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1.SqlUsersUpdateRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedError = new Error('The client has already been closed.');
+      client.close().catch((err) => {
+        throw err;
+      });
+      await assert.rejects(client.update(request), expectedError);
+    });
+  });
+  describe('getLocation', () => {
+    it('invokes getLocation without error', async () => {
+      const client = new sqlusersserviceModule.v1.SqlUsersServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new LocationProtos.google.cloud.location.GetLocationRequest(),
+      );
+      request.name = '';
+      const expectedHeaderRequestParams = 'name=';
+      const expectedOptions = {
+        otherArgs: {
+          headers: {
+            'x-goog-request-params': expectedHeaderRequestParams,
+          },
+        },
+      };
+      const expectedResponse = generateSampleMessage(
+        new LocationProtos.google.cloud.location.Location(),
+      );
+      client.locationsClient.getLocation = stubSimpleCall(expectedResponse);
+      const response = await client.getLocation(request, expectedOptions);
+      assert.deepStrictEqual(response, [expectedResponse]);
+      assert(
+        (client.locationsClient.getLocation as SinonStub)
+          .getCall(0)
+          .calledWith(request, expectedOptions, undefined),
+      );
     });
-    describe('listLocationsAsync', () => {
-        it('uses async iteration with listLocations without error', async () => {
-            const client = new sqlusersserviceModule.v1.SqlUsersServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-                new LocationProtos.google.cloud.location.ListLocationsRequest()
-            );
-            request.name = '';
-            const expectedHeaderRequestParams = 'name=';
-            const expectedResponse = [
-                generateSampleMessage(
-                    new LocationProtos.google.cloud.location.Location()
-                ),
-                generateSampleMessage(
-                    new LocationProtos.google.cloud.location.Location()
-                ),
-                generateSampleMessage(
-                    new LocationProtos.google.cloud.location.Location()
-                ),
-            ];
-            client.locationsClient.descriptors.page.listLocations.asyncIterate = stubAsyncIterationCall(expectedResponse);
-            const responses: LocationProtos.google.cloud.location.ILocation[] = [];
-            const iterable = client.listLocationsAsync(request);
-            for await (const resource of iterable) {
-                responses.push(resource!);
+    it('invokes getLocation without error using callback', async () => {
+      const client = new sqlusersserviceModule.v1.SqlUsersServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new LocationProtos.google.cloud.location.GetLocationRequest(),
+      );
+      request.name = '';
+      const expectedHeaderRequestParams = 'name=';
+      const expectedOptions = {
+        otherArgs: {
+          headers: {
+            'x-goog-request-params': expectedHeaderRequestParams,
+          },
+        },
+      };
+      const expectedResponse = generateSampleMessage(
+        new LocationProtos.google.cloud.location.Location(),
+      );
+      client.locationsClient.getLocation = sinon
+        .stub()
+        .callsArgWith(2, null, expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.getLocation(
+          request,
+          expectedOptions,
+          (
+            err?: Error | null,
+            result?: LocationProtos.google.cloud.location.ILocation | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
             }
-            assert.deepStrictEqual(responses, expectedResponse);
-            assert.deepStrictEqual(
-                (client.locationsClient.descriptors.page.listLocations.asyncIterate as SinonStub)
-                    .getCall(0).args[1], request);
-            assert(
-                (client.locationsClient.descriptors.page.listLocations.asyncIterate as SinonStub)
-                    .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes(
-                        expectedHeaderRequestParams
-                    )
-            );
-        });
-        it('uses async iteration with listLocations with error', async () => {
-            const client = new sqlusersserviceModule.v1.SqlUsersServiceClient({
-                credentials: {client_email: 'bogus', private_key: 'bogus'},
-                projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new LocationProtos.google.cloud.location.ListLocationsRequest()
-            );
-            request.name = '';
-            const expectedHeaderRequestParams = 'name=';
-            const expectedError = new Error('expected');
-            client.locationsClient.descriptors.page.listLocations.asyncIterate = stubAsyncIterationCall(undefined, expectedError);
-            const iterable = client.listLocationsAsync(request);
-            await assert.rejects(async () => {
-                const responses: LocationProtos.google.cloud.location.ILocation[] = [];
-                for await (const resource of iterable) {
-                    responses.push(resource!);
-                }
-            });
-            assert.deepStrictEqual(
-                (client.locationsClient.descriptors.page.listLocations.asyncIterate as SinonStub)
-                    .getCall(0).args[1], request);
-            assert(
-                (client.locationsClient.descriptors.page.listLocations.asyncIterate as SinonStub)
-                    .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes(
-                        expectedHeaderRequestParams
-                    )
-            );
-        });
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      assert((client.locationsClient.getLocation as SinonStub).getCall(0));
     });
+    it('invokes getLocation with error', async () => {
+      const client = new sqlusersserviceModule.v1.SqlUsersServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new LocationProtos.google.cloud.location.GetLocationRequest(),
+      );
+      request.name = '';
+      const expectedHeaderRequestParams = 'name=';
+      const expectedOptions = {
+        otherArgs: {
+          headers: {
+            'x-goog-request-params': expectedHeaderRequestParams,
+          },
+        },
+      };
+      const expectedError = new Error('expected');
+      client.locationsClient.getLocation = stubSimpleCall(
+        undefined,
+        expectedError,
+      );
+      await assert.rejects(
+        client.getLocation(request, expectedOptions),
+        expectedError,
+      );
+      assert(
+        (client.locationsClient.getLocation as SinonStub)
+          .getCall(0)
+          .calledWith(request, expectedOptions, undefined),
+      );
+    });
+  });
+  describe('listLocationsAsync', () => {
+    it('uses async iteration with listLocations without error', async () => {
+      const client = new sqlusersserviceModule.v1.SqlUsersServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new LocationProtos.google.cloud.location.ListLocationsRequest(),
+      );
+      request.name = '';
+      const expectedHeaderRequestParams = 'name=';
+      const expectedResponse = [
+        generateSampleMessage(
+          new LocationProtos.google.cloud.location.Location(),
+        ),
+        generateSampleMessage(
+          new LocationProtos.google.cloud.location.Location(),
+        ),
+        generateSampleMessage(
+          new LocationProtos.google.cloud.location.Location(),
+        ),
+      ];
+      client.locationsClient.descriptors.page.listLocations.asyncIterate =
+        stubAsyncIterationCall(expectedResponse);
+      const responses: LocationProtos.google.cloud.location.ILocation[] = [];
+      const iterable = client.listLocationsAsync(request);
+      for await (const resource of iterable) {
+        responses.push(resource!);
+      }
+      assert.deepStrictEqual(responses, expectedResponse);
+      assert.deepStrictEqual(
+        (
+          client.locationsClient.descriptors.page.listLocations
+            .asyncIterate as SinonStub
+        ).getCall(0).args[1],
+        request,
+      );
+      assert(
+        (
+          client.locationsClient.descriptors.page.listLocations
+            .asyncIterate as SinonStub
+        )
+          .getCall(0)
+          .args[2].otherArgs.headers['x-goog-request-params'].includes(
+            expectedHeaderRequestParams,
+          ),
+      );
+    });
+    it('uses async iteration with listLocations with error', async () => {
+      const client = new sqlusersserviceModule.v1.SqlUsersServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new LocationProtos.google.cloud.location.ListLocationsRequest(),
+      );
+      request.name = '';
+      const expectedHeaderRequestParams = 'name=';
+      const expectedError = new Error('expected');
+      client.locationsClient.descriptors.page.listLocations.asyncIterate =
+        stubAsyncIterationCall(undefined, expectedError);
+      const iterable = client.listLocationsAsync(request);
+      await assert.rejects(async () => {
+        const responses: LocationProtos.google.cloud.location.ILocation[] = [];
+        for await (const resource of iterable) {
+          responses.push(resource!);
+        }
+      });
+      assert.deepStrictEqual(
+        (
+          client.locationsClient.descriptors.page.listLocations
+            .asyncIterate as SinonStub
+        ).getCall(0).args[1],
+        request,
+      );
+      assert(
+        (
+          client.locationsClient.descriptors.page.listLocations
+            .asyncIterate as SinonStub
+        )
+          .getCall(0)
+          .args[2].otherArgs.headers['x-goog-request-params'].includes(
+            expectedHeaderRequestParams,
+          ),
+      );
+    });
+  });
 
-    describe('Path templates', () => {
-
-        describe('backup', async () => {
-            const fakePath = "/rendered/path/backup";
-            const expectedParameters = {
-                project: "projectValue",
-                backup: "backupValue",
-            };
-            const client = new sqlusersserviceModule.v1.SqlUsersServiceClient({
-                credentials: {client_email: 'bogus', private_key: 'bogus'},
-                projectId: 'bogus',
-            });
-            await client.initialize();
-            client.pathTemplates.backupPathTemplate.render =
-                sinon.stub().returns(fakePath);
-            client.pathTemplates.backupPathTemplate.match =
-                sinon.stub().returns(expectedParameters);
+  describe('Path templates', () => {
+    describe('backup', async () => {
+      const fakePath = '/rendered/path/backup';
+      const expectedParameters = {
+        project: 'projectValue',
+        backup: 'backupValue',
+      };
+      const client = new sqlusersserviceModule.v1.SqlUsersServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      await client.initialize();
+      client.pathTemplates.backupPathTemplate.render = sinon
+        .stub()
+        .returns(fakePath);
+      client.pathTemplates.backupPathTemplate.match = sinon
+        .stub()
+        .returns(expectedParameters);
 
-            it('backupPath', () => {
-                const result = client.backupPath("projectValue", "backupValue");
-                assert.strictEqual(result, fakePath);
-                assert((client.pathTemplates.backupPathTemplate.render as SinonStub)
-                    .getCall(-1).calledWith(expectedParameters));
-            });
+      it('backupPath', () => {
+        const result = client.backupPath('projectValue', 'backupValue');
+        assert.strictEqual(result, fakePath);
+        assert(
+          (client.pathTemplates.backupPathTemplate.render as SinonStub)
+            .getCall(-1)
+            .calledWith(expectedParameters),
+        );
+      });
 
-            it('matchProjectFromBackupName', () => {
-                const result = client.matchProjectFromBackupName(fakePath);
-                assert.strictEqual(result, "projectValue");
-                assert((client.pathTemplates.backupPathTemplate.match as SinonStub)
-                    .getCall(-1).calledWith(fakePath));
-            });
+      it('matchProjectFromBackupName', () => {
+        const result = client.matchProjectFromBackupName(fakePath);
+        assert.strictEqual(result, 'projectValue');
+        assert(
+          (client.pathTemplates.backupPathTemplate.match as SinonStub)
+            .getCall(-1)
+            .calledWith(fakePath),
+        );
+      });
 
-            it('matchBackupFromBackupName', () => {
-                const result = client.matchBackupFromBackupName(fakePath);
-                assert.strictEqual(result, "backupValue");
-                assert((client.pathTemplates.backupPathTemplate.match as SinonStub)
-                    .getCall(-1).calledWith(fakePath));
-            });
-        });
+      it('matchBackupFromBackupName', () => {
+        const result = client.matchBackupFromBackupName(fakePath);
+        assert.strictEqual(result, 'backupValue');
+        assert(
+          (client.pathTemplates.backupPathTemplate.match as SinonStub)
+            .getCall(-1)
+            .calledWith(fakePath),
+        );
+      });
     });
+  });
 });
diff --git a/packages/google-cloud-sql/test/gapic_sql_users_service_v1beta4.ts b/packages/google-cloud-sql/test/gapic_sql_users_service_v1beta4.ts
index 46449019b106..10439be8e2e5 100644
--- a/packages/google-cloud-sql/test/gapic_sql_users_service_v1beta4.ts
+++ b/packages/google-cloud-sql/test/gapic_sql_users_service_v1beta4.ts
@@ -19,1035 +19,1269 @@
 import * as protos from '../protos/protos';
 import * as assert from 'assert';
 import * as sinon from 'sinon';
-import {SinonStub} from 'sinon';
-import {describe, it} from 'mocha';
+import { SinonStub } from 'sinon';
+import { describe, it } from 'mocha';
 import * as sqlusersserviceModule from '../src';
 
-import {protobuf, LocationProtos} from 'google-gax';
+import { protobuf, LocationProtos } from 'google-gax';
 
 // Dynamically loaded proto JSON is needed to get the type information
 // to fill in default values for request objects
-const root = protobuf.Root.fromJSON(require('../protos/protos.json')).resolveAll();
+const root = protobuf.Root.fromJSON(
+  require('../protos/protos.json'),
+).resolveAll();
 
 // eslint-disable-next-line @typescript-eslint/no-unused-vars
 function getTypeDefaultValue(typeName: string, fields: string[]) {
-    let type = root.lookupType(typeName) as protobuf.Type;
-    for (const field of fields.slice(0, -1)) {
-        type = type.fields[field]?.resolvedType as protobuf.Type;
-    }
-    return type.fields[fields[fields.length - 1]]?.defaultValue;
+  let type = root.lookupType(typeName) as protobuf.Type;
+  for (const field of fields.slice(0, -1)) {
+    type = type.fields[field]?.resolvedType as protobuf.Type;
+  }
+  return type.fields[fields[fields.length - 1]]?.defaultValue;
 }
 
 function generateSampleMessage<T extends object>(instance: T) {
-    const filledObject = (instance.constructor as typeof protobuf.Message)
-        .toObject(instance as protobuf.Message<T>, {defaults: true});
-    return (instance.constructor as typeof protobuf.Message).fromObject(filledObject) as T;
+  const filledObject = (
+    instance.constructor as typeof protobuf.Message
+  ).toObject(instance as protobuf.Message<T>, { defaults: true });
+  return (instance.constructor as typeof protobuf.Message).fromObject(
+    filledObject,
+  ) as T;
 }
 
 function stubSimpleCall<ResponseType>(response?: ResponseType, error?: Error) {
-    return error ? sinon.stub().rejects(error) : sinon.stub().resolves([response]);
+  return error
+    ? sinon.stub().rejects(error)
+    : sinon.stub().resolves([response]);
 }
 
-function stubSimpleCallWithCallback<ResponseType>(response?: ResponseType, error?: Error) {
-    return error ? sinon.stub().callsArgWith(2, error) : sinon.stub().callsArgWith(2, null, response);
+function stubSimpleCallWithCallback<ResponseType>(
+  response?: ResponseType,
+  error?: Error,
+) {
+  return error
+    ? sinon.stub().callsArgWith(2, error)
+    : sinon.stub().callsArgWith(2, null, response);
 }
 
-function stubAsyncIterationCall<ResponseType>(responses?: ResponseType[], error?: Error) {
-    let counter = 0;
-    const asyncIterable = {
-        [Symbol.asyncIterator]() {
-            return {
-                async next() {
-                    if (error) {
-                        return Promise.reject(error);
-                    }
-                    if (counter >= responses!.length) {
-                        return Promise.resolve({done: true, value: undefined});
-                    }
-                    return Promise.resolve({done: false, value: responses![counter++]});
-                }
-            };
-        }
-    };
-    return sinon.stub().returns(asyncIterable);
+function stubAsyncIterationCall<ResponseType>(
+  responses?: ResponseType[],
+  error?: Error,
+) {
+  let counter = 0;
+  const asyncIterable = {
+    [Symbol.asyncIterator]() {
+      return {
+        async next() {
+          if (error) {
+            return Promise.reject(error);
+          }
+          if (counter >= responses!.length) {
+            return Promise.resolve({ done: true, value: undefined });
+          }
+          return Promise.resolve({ done: false, value: responses![counter++] });
+        },
+      };
+    },
+  };
+  return sinon.stub().returns(asyncIterable);
 }
 
 describe('v1beta4.SqlUsersServiceClient', () => {
-    describe('Common methods', () => {
-        it('has apiEndpoint', () => {
-            const client = new sqlusersserviceModule.v1beta4.SqlUsersServiceClient();
-            const apiEndpoint = client.apiEndpoint;
-            assert.strictEqual(apiEndpoint, 'sqladmin.googleapis.com');
-        });
+  describe('Common methods', () => {
+    it('has apiEndpoint', () => {
+      const client = new sqlusersserviceModule.v1beta4.SqlUsersServiceClient();
+      const apiEndpoint = client.apiEndpoint;
+      assert.strictEqual(apiEndpoint, 'sqladmin.googleapis.com');
+    });
 
-        it('has universeDomain', () => {
-            const client = new sqlusersserviceModule.v1beta4.SqlUsersServiceClient();
-            const universeDomain = client.universeDomain;
-            assert.strictEqual(universeDomain, "googleapis.com");
-        });
+    it('has universeDomain', () => {
+      const client = new sqlusersserviceModule.v1beta4.SqlUsersServiceClient();
+      const universeDomain = client.universeDomain;
+      assert.strictEqual(universeDomain, 'googleapis.com');
+    });
 
-        if (typeof process === 'object' && typeof process.emitWarning === 'function') {
-            it('throws DeprecationWarning if static servicePath is used', () => {
-                const stub = sinon.stub(process, 'emitWarning');
-                const servicePath = sqlusersserviceModule.v1beta4.SqlUsersServiceClient.servicePath;
-                assert.strictEqual(servicePath, 'sqladmin.googleapis.com');
-                assert(stub.called);
-                stub.restore();
-            });
+    if (
+      typeof process === 'object' &&
+      typeof process.emitWarning === 'function'
+    ) {
+      it('throws DeprecationWarning if static servicePath is used', () => {
+        const stub = sinon.stub(process, 'emitWarning');
+        const servicePath =
+          sqlusersserviceModule.v1beta4.SqlUsersServiceClient.servicePath;
+        assert.strictEqual(servicePath, 'sqladmin.googleapis.com');
+        assert(stub.called);
+        stub.restore();
+      });
 
-            it('throws DeprecationWarning if static apiEndpoint is used', () => {
-                const stub = sinon.stub(process, 'emitWarning');
-                const apiEndpoint = sqlusersserviceModule.v1beta4.SqlUsersServiceClient.apiEndpoint;
-                assert.strictEqual(apiEndpoint, 'sqladmin.googleapis.com');
-                assert(stub.called);
-                stub.restore();
-            });
-        }
-        it('sets apiEndpoint according to universe domain camelCase', () => {
-            const client = new sqlusersserviceModule.v1beta4.SqlUsersServiceClient({universeDomain: 'example.com'});
-            const servicePath = client.apiEndpoint;
-            assert.strictEqual(servicePath, 'sqladmin.example.com');
-        });
+      it('throws DeprecationWarning if static apiEndpoint is used', () => {
+        const stub = sinon.stub(process, 'emitWarning');
+        const apiEndpoint =
+          sqlusersserviceModule.v1beta4.SqlUsersServiceClient.apiEndpoint;
+        assert.strictEqual(apiEndpoint, 'sqladmin.googleapis.com');
+        assert(stub.called);
+        stub.restore();
+      });
+    }
+    it('sets apiEndpoint according to universe domain camelCase', () => {
+      const client = new sqlusersserviceModule.v1beta4.SqlUsersServiceClient({
+        universeDomain: 'example.com',
+      });
+      const servicePath = client.apiEndpoint;
+      assert.strictEqual(servicePath, 'sqladmin.example.com');
+    });
 
-        it('sets apiEndpoint according to universe domain snakeCase', () => {
-            const client = new sqlusersserviceModule.v1beta4.SqlUsersServiceClient({universe_domain: 'example.com'});
-            const servicePath = client.apiEndpoint;
-            assert.strictEqual(servicePath, 'sqladmin.example.com');
-        });
+    it('sets apiEndpoint according to universe domain snakeCase', () => {
+      const client = new sqlusersserviceModule.v1beta4.SqlUsersServiceClient({
+        universe_domain: 'example.com',
+      });
+      const servicePath = client.apiEndpoint;
+      assert.strictEqual(servicePath, 'sqladmin.example.com');
+    });
 
-        if (typeof process === 'object' && 'env' in process) {
-            describe('GOOGLE_CLOUD_UNIVERSE_DOMAIN environment variable', () => {
-                it('sets apiEndpoint from environment variable', () => {
-                    const saved = process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
-                    process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = 'example.com';
-                    const client = new sqlusersserviceModule.v1beta4.SqlUsersServiceClient();
-                    const servicePath = client.apiEndpoint;
-                    assert.strictEqual(servicePath, 'sqladmin.example.com');
-                    if (saved) {
-                        process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = saved;
-                    } else {
-                        delete process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
-                    }
-                });
+    if (typeof process === 'object' && 'env' in process) {
+      describe('GOOGLE_CLOUD_UNIVERSE_DOMAIN environment variable', () => {
+        it('sets apiEndpoint from environment variable', () => {
+          const saved = process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
+          process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = 'example.com';
+          const client =
+            new sqlusersserviceModule.v1beta4.SqlUsersServiceClient();
+          const servicePath = client.apiEndpoint;
+          assert.strictEqual(servicePath, 'sqladmin.example.com');
+          if (saved) {
+            process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = saved;
+          } else {
+            delete process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
+          }
+        });
 
-                it('value configured in code has priority over environment variable', () => {
-                    const saved = process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
-                    process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = 'example.com';
-                    const client = new sqlusersserviceModule.v1beta4.SqlUsersServiceClient({universeDomain: 'configured.example.com'});
-                    const servicePath = client.apiEndpoint;
-                    assert.strictEqual(servicePath, 'sqladmin.configured.example.com');
-                    if (saved) {
-                        process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = saved;
-                    } else {
-                        delete process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
-                    }
-                });
+        it('value configured in code has priority over environment variable', () => {
+          const saved = process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
+          process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = 'example.com';
+          const client =
+            new sqlusersserviceModule.v1beta4.SqlUsersServiceClient({
+              universeDomain: 'configured.example.com',
             });
-        }
-        it('does not allow setting both universeDomain and universe_domain', () => {
-            assert.throws(() => { new sqlusersserviceModule.v1beta4.SqlUsersServiceClient({universe_domain: 'example.com', universeDomain: 'example.net'}); });
+          const servicePath = client.apiEndpoint;
+          assert.strictEqual(servicePath, 'sqladmin.configured.example.com');
+          if (saved) {
+            process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'] = saved;
+          } else {
+            delete process.env['GOOGLE_CLOUD_UNIVERSE_DOMAIN'];
+          }
         });
-
-        it('has port', () => {
-            const port = sqlusersserviceModule.v1beta4.SqlUsersServiceClient.port;
-            assert(port);
-            assert(typeof port === 'number');
+      });
+    }
+    it('does not allow setting both universeDomain and universe_domain', () => {
+      assert.throws(() => {
+        new sqlusersserviceModule.v1beta4.SqlUsersServiceClient({
+          universe_domain: 'example.com',
+          universeDomain: 'example.net',
         });
+      });
+    });
 
-        it('should create a client with no option', () => {
-            const client = new sqlusersserviceModule.v1beta4.SqlUsersServiceClient();
-            assert(client);
-        });
+    it('has port', () => {
+      const port = sqlusersserviceModule.v1beta4.SqlUsersServiceClient.port;
+      assert(port);
+      assert(typeof port === 'number');
+    });
 
-        it('should create a client with gRPC fallback', () => {
-            const client = new sqlusersserviceModule.v1beta4.SqlUsersServiceClient({
-                fallback: true,
-            });
-            assert(client);
-        });
+    it('should create a client with no option', () => {
+      const client = new sqlusersserviceModule.v1beta4.SqlUsersServiceClient();
+      assert(client);
+    });
 
-        it('has initialize method and supports deferred initialization', async () => {
-            const client = new sqlusersserviceModule.v1beta4.SqlUsersServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            assert.strictEqual(client.sqlUsersServiceStub, undefined);
-            await client.initialize();
-            assert(client.sqlUsersServiceStub);
-        });
+    it('should create a client with gRPC fallback', () => {
+      const client = new sqlusersserviceModule.v1beta4.SqlUsersServiceClient({
+        fallback: true,
+      });
+      assert(client);
+    });
 
-        it('has close method for the initialized client', done => {
-            const client = new sqlusersserviceModule.v1beta4.SqlUsersServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            client.initialize().catch(err => {throw err});
-            assert(client.sqlUsersServiceStub);
-            client.close().then(() => {
-                done();
-            }).catch(err => {throw err});
-        });
+    it('has initialize method and supports deferred initialization', async () => {
+      const client = new sqlusersserviceModule.v1beta4.SqlUsersServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      assert.strictEqual(client.sqlUsersServiceStub, undefined);
+      await client.initialize();
+      assert(client.sqlUsersServiceStub);
+    });
 
-        it('has close method for the non-initialized client', done => {
-            const client = new sqlusersserviceModule.v1beta4.SqlUsersServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            assert.strictEqual(client.sqlUsersServiceStub, undefined);
-            client.close().then(() => {
-                done();
-            }).catch(err => {throw err});
+    it('has close method for the initialized client', (done) => {
+      const client = new sqlusersserviceModule.v1beta4.SqlUsersServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      client.initialize().catch((err) => {
+        throw err;
+      });
+      assert(client.sqlUsersServiceStub);
+      client
+        .close()
+        .then(() => {
+          done();
+        })
+        .catch((err) => {
+          throw err;
         });
+    });
 
-        it('has getProjectId method', async () => {
-            const fakeProjectId = 'fake-project-id';
-            const client = new sqlusersserviceModule.v1beta4.SqlUsersServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            client.auth.getProjectId = sinon.stub().resolves(fakeProjectId);
-            const result = await client.getProjectId();
-            assert.strictEqual(result, fakeProjectId);
-            assert((client.auth.getProjectId as SinonStub).calledWithExactly());
+    it('has close method for the non-initialized client', (done) => {
+      const client = new sqlusersserviceModule.v1beta4.SqlUsersServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      assert.strictEqual(client.sqlUsersServiceStub, undefined);
+      client
+        .close()
+        .then(() => {
+          done();
+        })
+        .catch((err) => {
+          throw err;
         });
+    });
 
-        it('has getProjectId method with callback', async () => {
-            const fakeProjectId = 'fake-project-id';
-            const client = new sqlusersserviceModule.v1beta4.SqlUsersServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            client.auth.getProjectId = sinon.stub().callsArgWith(0, null, fakeProjectId);
-            const promise = new Promise((resolve, reject) => {
-                client.getProjectId((err?: Error|null, projectId?: string|null) => {
-                    if (err) {
-                        reject(err);
-                    } else {
-                        resolve(projectId);
-                    }
-                });
-            });
-            const result = await promise;
-            assert.strictEqual(result, fakeProjectId);
-        });
+    it('has getProjectId method', async () => {
+      const fakeProjectId = 'fake-project-id';
+      const client = new sqlusersserviceModule.v1beta4.SqlUsersServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      client.auth.getProjectId = sinon.stub().resolves(fakeProjectId);
+      const result = await client.getProjectId();
+      assert.strictEqual(result, fakeProjectId);
+      assert((client.auth.getProjectId as SinonStub).calledWithExactly());
     });
 
-    describe('delete', () => {
-        it('invokes delete without error', async () => {
-            const client = new sqlusersserviceModule.v1beta4.SqlUsersServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlUsersDeleteRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlUsersDeleteRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlUsersDeleteRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.Operation()
-            );
-            client.innerApiCalls.delete = stubSimpleCall(expectedResponse);
-            const [response] = await client.delete(request);
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.delete as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.delete as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    it('has getProjectId method with callback', async () => {
+      const fakeProjectId = 'fake-project-id';
+      const client = new sqlusersserviceModule.v1beta4.SqlUsersServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      client.auth.getProjectId = sinon
+        .stub()
+        .callsArgWith(0, null, fakeProjectId);
+      const promise = new Promise((resolve, reject) => {
+        client.getProjectId((err?: Error | null, projectId?: string | null) => {
+          if (err) {
+            reject(err);
+          } else {
+            resolve(projectId);
+          }
         });
+      });
+      const result = await promise;
+      assert.strictEqual(result, fakeProjectId);
+    });
+  });
 
-        it('invokes delete without error using callback', async () => {
-            const client = new sqlusersserviceModule.v1beta4.SqlUsersServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlUsersDeleteRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlUsersDeleteRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlUsersDeleteRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.Operation()
-            );
-            client.innerApiCalls.delete = stubSimpleCallWithCallback(expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.delete(
-                    request,
-                    (err?: Error|null, result?: protos.google.cloud.sql.v1beta4.IOperation|null) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.delete as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.delete as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+  describe('delete', () => {
+    it('invokes delete without error', async () => {
+      const client = new sqlusersserviceModule.v1beta4.SqlUsersServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlUsersDeleteRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlUsersDeleteRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlUsersDeleteRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.Operation(),
+      );
+      client.innerApiCalls.delete = stubSimpleCall(expectedResponse);
+      const [response] = await client.delete(request);
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (client.innerApiCalls.delete as SinonStub).getCall(
+        0,
+      ).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.delete as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes delete with error', async () => {
-            const client = new sqlusersserviceModule.v1beta4.SqlUsersServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlUsersDeleteRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlUsersDeleteRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlUsersDeleteRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedError = new Error('expected');
-            client.innerApiCalls.delete = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.delete(request), expectedError);
-            const actualRequest = (client.innerApiCalls.delete as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.delete as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+    it('invokes delete without error using callback', async () => {
+      const client = new sqlusersserviceModule.v1beta4.SqlUsersServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlUsersDeleteRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlUsersDeleteRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlUsersDeleteRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.Operation(),
+      );
+      client.innerApiCalls.delete =
+        stubSimpleCallWithCallback(expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.delete(
+          request,
+          (
+            err?: Error | null,
+            result?: protos.google.cloud.sql.v1beta4.IOperation | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
+            }
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (client.innerApiCalls.delete as SinonStub).getCall(
+        0,
+      ).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.delete as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes delete with closed client', async () => {
-            const client = new sqlusersserviceModule.v1beta4.SqlUsersServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlUsersDeleteRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlUsersDeleteRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlUsersDeleteRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedError = new Error('The client has already been closed.');
-            client.close().catch(err => {throw err});
-            await assert.rejects(client.delete(request), expectedError);
-        });
+    it('invokes delete with error', async () => {
+      const client = new sqlusersserviceModule.v1beta4.SqlUsersServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlUsersDeleteRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlUsersDeleteRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlUsersDeleteRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedError = new Error('expected');
+      client.innerApiCalls.delete = stubSimpleCall(undefined, expectedError);
+      await assert.rejects(client.delete(request), expectedError);
+      const actualRequest = (client.innerApiCalls.delete as SinonStub).getCall(
+        0,
+      ).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.delete as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
     });
 
-    describe('get', () => {
-        it('invokes get without error', async () => {
-            const client = new sqlusersserviceModule.v1beta4.SqlUsersServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlUsersGetRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlUsersGetRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlUsersGetRequest', ['instance']);
-            request.instance = defaultValue2;
-            const defaultValue3 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlUsersGetRequest', ['name']);
-            request.name = defaultValue3;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }&name=${defaultValue3 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.User()
-            );
-            client.innerApiCalls.get = stubSimpleCall(expectedResponse);
-            const [response] = await client.get(request);
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.get as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.get as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+    it('invokes delete with closed client', async () => {
+      const client = new sqlusersserviceModule.v1beta4.SqlUsersServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlUsersDeleteRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlUsersDeleteRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlUsersDeleteRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedError = new Error('The client has already been closed.');
+      client.close().catch((err) => {
+        throw err;
+      });
+      await assert.rejects(client.delete(request), expectedError);
+    });
+  });
 
-        it('invokes get without error using callback', async () => {
-            const client = new sqlusersserviceModule.v1beta4.SqlUsersServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlUsersGetRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlUsersGetRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlUsersGetRequest', ['instance']);
-            request.instance = defaultValue2;
-            const defaultValue3 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlUsersGetRequest', ['name']);
-            request.name = defaultValue3;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }&name=${defaultValue3 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.User()
-            );
-            client.innerApiCalls.get = stubSimpleCallWithCallback(expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.get(
-                    request,
-                    (err?: Error|null, result?: protos.google.cloud.sql.v1beta4.IUser|null) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.get as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.get as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+  describe('get', () => {
+    it('invokes get without error', async () => {
+      const client = new sqlusersserviceModule.v1beta4.SqlUsersServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlUsersGetRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlUsersGetRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlUsersGetRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const defaultValue3 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlUsersGetRequest',
+        ['name'],
+      );
+      request.name = defaultValue3;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}&name=${defaultValue3 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.User(),
+      );
+      client.innerApiCalls.get = stubSimpleCall(expectedResponse);
+      const [response] = await client.get(request);
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (client.innerApiCalls.get as SinonStub).getCall(0)
+        .args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.get as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes get with error', async () => {
-            const client = new sqlusersserviceModule.v1beta4.SqlUsersServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlUsersGetRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlUsersGetRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlUsersGetRequest', ['instance']);
-            request.instance = defaultValue2;
-            const defaultValue3 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlUsersGetRequest', ['name']);
-            request.name = defaultValue3;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }&name=${defaultValue3 ?? '' }`;
-            const expectedError = new Error('expected');
-            client.innerApiCalls.get = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.get(request), expectedError);
-            const actualRequest = (client.innerApiCalls.get as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.get as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+    it('invokes get without error using callback', async () => {
+      const client = new sqlusersserviceModule.v1beta4.SqlUsersServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlUsersGetRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlUsersGetRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlUsersGetRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const defaultValue3 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlUsersGetRequest',
+        ['name'],
+      );
+      request.name = defaultValue3;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}&name=${defaultValue3 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.User(),
+      );
+      client.innerApiCalls.get = stubSimpleCallWithCallback(expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.get(
+          request,
+          (
+            err?: Error | null,
+            result?: protos.google.cloud.sql.v1beta4.IUser | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
+            }
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (client.innerApiCalls.get as SinonStub).getCall(0)
+        .args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.get as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes get with closed client', async () => {
-            const client = new sqlusersserviceModule.v1beta4.SqlUsersServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlUsersGetRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlUsersGetRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlUsersGetRequest', ['instance']);
-            request.instance = defaultValue2;
-            const defaultValue3 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlUsersGetRequest', ['name']);
-            request.name = defaultValue3;
-            const expectedError = new Error('The client has already been closed.');
-            client.close().catch(err => {throw err});
-            await assert.rejects(client.get(request), expectedError);
-        });
+    it('invokes get with error', async () => {
+      const client = new sqlusersserviceModule.v1beta4.SqlUsersServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlUsersGetRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlUsersGetRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlUsersGetRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const defaultValue3 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlUsersGetRequest',
+        ['name'],
+      );
+      request.name = defaultValue3;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}&name=${defaultValue3 ?? ''}`;
+      const expectedError = new Error('expected');
+      client.innerApiCalls.get = stubSimpleCall(undefined, expectedError);
+      await assert.rejects(client.get(request), expectedError);
+      const actualRequest = (client.innerApiCalls.get as SinonStub).getCall(0)
+        .args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.get as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
     });
 
-    describe('insert', () => {
-        it('invokes insert without error', async () => {
-            const client = new sqlusersserviceModule.v1beta4.SqlUsersServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlUsersInsertRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlUsersInsertRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlUsersInsertRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.Operation()
-            );
-            client.innerApiCalls.insert = stubSimpleCall(expectedResponse);
-            const [response] = await client.insert(request);
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.insert as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.insert as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+    it('invokes get with closed client', async () => {
+      const client = new sqlusersserviceModule.v1beta4.SqlUsersServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlUsersGetRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlUsersGetRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlUsersGetRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const defaultValue3 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlUsersGetRequest',
+        ['name'],
+      );
+      request.name = defaultValue3;
+      const expectedError = new Error('The client has already been closed.');
+      client.close().catch((err) => {
+        throw err;
+      });
+      await assert.rejects(client.get(request), expectedError);
+    });
+  });
 
-        it('invokes insert without error using callback', async () => {
-            const client = new sqlusersserviceModule.v1beta4.SqlUsersServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlUsersInsertRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlUsersInsertRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlUsersInsertRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.Operation()
-            );
-            client.innerApiCalls.insert = stubSimpleCallWithCallback(expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.insert(
-                    request,
-                    (err?: Error|null, result?: protos.google.cloud.sql.v1beta4.IOperation|null) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.insert as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.insert as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+  describe('insert', () => {
+    it('invokes insert without error', async () => {
+      const client = new sqlusersserviceModule.v1beta4.SqlUsersServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlUsersInsertRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlUsersInsertRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlUsersInsertRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.Operation(),
+      );
+      client.innerApiCalls.insert = stubSimpleCall(expectedResponse);
+      const [response] = await client.insert(request);
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (client.innerApiCalls.insert as SinonStub).getCall(
+        0,
+      ).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.insert as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes insert with error', async () => {
-            const client = new sqlusersserviceModule.v1beta4.SqlUsersServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlUsersInsertRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlUsersInsertRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlUsersInsertRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedError = new Error('expected');
-            client.innerApiCalls.insert = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.insert(request), expectedError);
-            const actualRequest = (client.innerApiCalls.insert as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.insert as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+    it('invokes insert without error using callback', async () => {
+      const client = new sqlusersserviceModule.v1beta4.SqlUsersServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlUsersInsertRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlUsersInsertRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlUsersInsertRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.Operation(),
+      );
+      client.innerApiCalls.insert =
+        stubSimpleCallWithCallback(expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.insert(
+          request,
+          (
+            err?: Error | null,
+            result?: protos.google.cloud.sql.v1beta4.IOperation | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
+            }
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (client.innerApiCalls.insert as SinonStub).getCall(
+        0,
+      ).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.insert as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes insert with closed client', async () => {
-            const client = new sqlusersserviceModule.v1beta4.SqlUsersServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlUsersInsertRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlUsersInsertRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlUsersInsertRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedError = new Error('The client has already been closed.');
-            client.close().catch(err => {throw err});
-            await assert.rejects(client.insert(request), expectedError);
-        });
+    it('invokes insert with error', async () => {
+      const client = new sqlusersserviceModule.v1beta4.SqlUsersServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlUsersInsertRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlUsersInsertRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlUsersInsertRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedError = new Error('expected');
+      client.innerApiCalls.insert = stubSimpleCall(undefined, expectedError);
+      await assert.rejects(client.insert(request), expectedError);
+      const actualRequest = (client.innerApiCalls.insert as SinonStub).getCall(
+        0,
+      ).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.insert as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
     });
 
-    describe('list', () => {
-        it('invokes list without error', async () => {
-            const client = new sqlusersserviceModule.v1beta4.SqlUsersServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlUsersListRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlUsersListRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlUsersListRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.UsersListResponse()
-            );
-            client.innerApiCalls.list = stubSimpleCall(expectedResponse);
-            const [response] = await client.list(request);
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.list as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.list as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+    it('invokes insert with closed client', async () => {
+      const client = new sqlusersserviceModule.v1beta4.SqlUsersServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlUsersInsertRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlUsersInsertRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlUsersInsertRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedError = new Error('The client has already been closed.');
+      client.close().catch((err) => {
+        throw err;
+      });
+      await assert.rejects(client.insert(request), expectedError);
+    });
+  });
 
-        it('invokes list without error using callback', async () => {
-            const client = new sqlusersserviceModule.v1beta4.SqlUsersServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlUsersListRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlUsersListRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlUsersListRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.UsersListResponse()
-            );
-            client.innerApiCalls.list = stubSimpleCallWithCallback(expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.list(
-                    request,
-                    (err?: Error|null, result?: protos.google.cloud.sql.v1beta4.IUsersListResponse|null) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.list as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.list as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+  describe('list', () => {
+    it('invokes list without error', async () => {
+      const client = new sqlusersserviceModule.v1beta4.SqlUsersServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlUsersListRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlUsersListRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlUsersListRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.UsersListResponse(),
+      );
+      client.innerApiCalls.list = stubSimpleCall(expectedResponse);
+      const [response] = await client.list(request);
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (client.innerApiCalls.list as SinonStub).getCall(0)
+        .args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.list as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes list with error', async () => {
-            const client = new sqlusersserviceModule.v1beta4.SqlUsersServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlUsersListRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlUsersListRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlUsersListRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedError = new Error('expected');
-            client.innerApiCalls.list = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.list(request), expectedError);
-            const actualRequest = (client.innerApiCalls.list as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.list as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+    it('invokes list without error using callback', async () => {
+      const client = new sqlusersserviceModule.v1beta4.SqlUsersServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlUsersListRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlUsersListRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlUsersListRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.UsersListResponse(),
+      );
+      client.innerApiCalls.list = stubSimpleCallWithCallback(expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.list(
+          request,
+          (
+            err?: Error | null,
+            result?: protos.google.cloud.sql.v1beta4.IUsersListResponse | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
+            }
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (client.innerApiCalls.list as SinonStub).getCall(0)
+        .args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.list as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes list with closed client', async () => {
-            const client = new sqlusersserviceModule.v1beta4.SqlUsersServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlUsersListRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlUsersListRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlUsersListRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedError = new Error('The client has already been closed.');
-            client.close().catch(err => {throw err});
-            await assert.rejects(client.list(request), expectedError);
-        });
+    it('invokes list with error', async () => {
+      const client = new sqlusersserviceModule.v1beta4.SqlUsersServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlUsersListRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlUsersListRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlUsersListRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedError = new Error('expected');
+      client.innerApiCalls.list = stubSimpleCall(undefined, expectedError);
+      await assert.rejects(client.list(request), expectedError);
+      const actualRequest = (client.innerApiCalls.list as SinonStub).getCall(0)
+        .args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.list as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
     });
 
-    describe('update', () => {
-        it('invokes update without error', async () => {
-            const client = new sqlusersserviceModule.v1beta4.SqlUsersServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlUsersUpdateRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlUsersUpdateRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlUsersUpdateRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.Operation()
-            );
-            client.innerApiCalls.update = stubSimpleCall(expectedResponse);
-            const [response] = await client.update(request);
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.update as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.update as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+    it('invokes list with closed client', async () => {
+      const client = new sqlusersserviceModule.v1beta4.SqlUsersServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlUsersListRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlUsersListRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlUsersListRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedError = new Error('The client has already been closed.');
+      client.close().catch((err) => {
+        throw err;
+      });
+      await assert.rejects(client.list(request), expectedError);
+    });
+  });
 
-        it('invokes update without error using callback', async () => {
-            const client = new sqlusersserviceModule.v1beta4.SqlUsersServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlUsersUpdateRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlUsersUpdateRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlUsersUpdateRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedResponse = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.Operation()
-            );
-            client.innerApiCalls.update = stubSimpleCallWithCallback(expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.update(
-                    request,
-                    (err?: Error|null, result?: protos.google.cloud.sql.v1beta4.IOperation|null) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            const actualRequest = (client.innerApiCalls.update as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.update as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+  describe('update', () => {
+    it('invokes update without error', async () => {
+      const client = new sqlusersserviceModule.v1beta4.SqlUsersServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlUsersUpdateRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlUsersUpdateRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlUsersUpdateRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.Operation(),
+      );
+      client.innerApiCalls.update = stubSimpleCall(expectedResponse);
+      const [response] = await client.update(request);
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (client.innerApiCalls.update as SinonStub).getCall(
+        0,
+      ).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.update as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes update with error', async () => {
-            const client = new sqlusersserviceModule.v1beta4.SqlUsersServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlUsersUpdateRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlUsersUpdateRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlUsersUpdateRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedHeaderRequestParams = `project=${defaultValue1 ?? '' }&instance=${defaultValue2 ?? '' }`;
-            const expectedError = new Error('expected');
-            client.innerApiCalls.update = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.update(request), expectedError);
-            const actualRequest = (client.innerApiCalls.update as SinonStub)
-                .getCall(0).args[0];
-            assert.deepStrictEqual(actualRequest, request);
-            const actualHeaderRequestParams = (client.innerApiCalls.update as SinonStub)
-                .getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
-            assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
-        });
+    it('invokes update without error using callback', async () => {
+      const client = new sqlusersserviceModule.v1beta4.SqlUsersServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlUsersUpdateRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlUsersUpdateRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlUsersUpdateRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedResponse = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.Operation(),
+      );
+      client.innerApiCalls.update =
+        stubSimpleCallWithCallback(expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.update(
+          request,
+          (
+            err?: Error | null,
+            result?: protos.google.cloud.sql.v1beta4.IOperation | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
+            }
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      const actualRequest = (client.innerApiCalls.update as SinonStub).getCall(
+        0,
+      ).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.update as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
+    });
 
-        it('invokes update with closed client', async () => {
-            const client = new sqlusersserviceModule.v1beta4.SqlUsersServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new protos.google.cloud.sql.v1beta4.SqlUsersUpdateRequest()
-            );
-            const defaultValue1 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlUsersUpdateRequest', ['project']);
-            request.project = defaultValue1;
-            const defaultValue2 =
-              getTypeDefaultValue('.google.cloud.sql.v1beta4.SqlUsersUpdateRequest', ['instance']);
-            request.instance = defaultValue2;
-            const expectedError = new Error('The client has already been closed.');
-            client.close().catch(err => {throw err});
-            await assert.rejects(client.update(request), expectedError);
-        });
+    it('invokes update with error', async () => {
+      const client = new sqlusersserviceModule.v1beta4.SqlUsersServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlUsersUpdateRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlUsersUpdateRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlUsersUpdateRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedHeaderRequestParams = `project=${defaultValue1 ?? ''}&instance=${defaultValue2 ?? ''}`;
+      const expectedError = new Error('expected');
+      client.innerApiCalls.update = stubSimpleCall(undefined, expectedError);
+      await assert.rejects(client.update(request), expectedError);
+      const actualRequest = (client.innerApiCalls.update as SinonStub).getCall(
+        0,
+      ).args[0];
+      assert.deepStrictEqual(actualRequest, request);
+      const actualHeaderRequestParams = (
+        client.innerApiCalls.update as SinonStub
+      ).getCall(0).args[1].otherArgs.headers['x-goog-request-params'];
+      assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams));
     });
-    describe('getLocation', () => {
-        it('invokes getLocation without error', async () => {
-            const client = new sqlusersserviceModule.v1beta4.SqlUsersServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new LocationProtos.google.cloud.location.GetLocationRequest()
-            );
-            request.name = '';
-            const expectedHeaderRequestParams = 'name=';
-            const expectedOptions = {
-                otherArgs: {
-                    headers: {
-                        'x-goog-request-params': expectedHeaderRequestParams,
-                    },
-                },
-            };
-            const expectedResponse = generateSampleMessage(
-              new LocationProtos.google.cloud.location.Location()
-            );
-            client.locationsClient.getLocation = stubSimpleCall(expectedResponse);
-            const response = await client.getLocation(request, expectedOptions);
-            assert.deepStrictEqual(response, [expectedResponse]);
-            assert((client.locationsClient.getLocation as SinonStub)
-                .getCall(0).calledWith(request, expectedOptions, undefined));
-        });
-        it('invokes getLocation without error using callback', async () => {
-            const client = new sqlusersserviceModule.v1beta4.SqlUsersServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new LocationProtos.google.cloud.location.GetLocationRequest()
-            );
-            request.name = '';
-            const expectedHeaderRequestParams = 'name=';
-            const expectedOptions = {
-                otherArgs: {
-                    headers: {
-                        'x-goog-request-params': expectedHeaderRequestParams,
-                    },
-                },
-            };
-            const expectedResponse = generateSampleMessage(
-              new LocationProtos.google.cloud.location.Location()
-            );
-            client.locationsClient.getLocation = sinon.stub().callsArgWith(2, null, expectedResponse);
-            const promise = new Promise((resolve, reject) => {
-                 client.getLocation(
-                    request,
-                    expectedOptions,
-                    (
-                        err?: Error | null,
-                        result?: LocationProtos.google.cloud.location.ILocation | null
-                    ) => {
-                        if (err) {
-                            reject(err);
-                        } else {
-                            resolve(result);
-                        }
-                    });
-            });
-            const response = await promise;
-            assert.deepStrictEqual(response, expectedResponse);
-            assert((client.locationsClient.getLocation as SinonStub)
-                .getCall(0));
-        });
-        it('invokes getLocation with error', async () => {
-            const client = new sqlusersserviceModule.v1beta4.SqlUsersServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new LocationProtos.google.cloud.location.GetLocationRequest()
-            );
-            request.name = '';
-            const expectedHeaderRequestParams = 'name=';
-            const expectedOptions = {
-                otherArgs: {
-                    headers: {
-                        'x-goog-request-params': expectedHeaderRequestParams,
-                    },
-                },
-            };
-            const expectedError = new Error('expected');
-            client.locationsClient.getLocation = stubSimpleCall(undefined, expectedError);
-            await assert.rejects(client.getLocation(request, expectedOptions), expectedError);
-            assert((client.locationsClient.getLocation as SinonStub)
-                .getCall(0).calledWith(request, expectedOptions, undefined));
-        });
+
+    it('invokes update with closed client', async () => {
+      const client = new sqlusersserviceModule.v1beta4.SqlUsersServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new protos.google.cloud.sql.v1beta4.SqlUsersUpdateRequest(),
+      );
+      const defaultValue1 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlUsersUpdateRequest',
+        ['project'],
+      );
+      request.project = defaultValue1;
+      const defaultValue2 = getTypeDefaultValue(
+        '.google.cloud.sql.v1beta4.SqlUsersUpdateRequest',
+        ['instance'],
+      );
+      request.instance = defaultValue2;
+      const expectedError = new Error('The client has already been closed.');
+      client.close().catch((err) => {
+        throw err;
+      });
+      await assert.rejects(client.update(request), expectedError);
     });
-    describe('listLocationsAsync', () => {
-        it('uses async iteration with listLocations without error', async () => {
-            const client = new sqlusersserviceModule.v1beta4.SqlUsersServiceClient({
-              credentials: {client_email: 'bogus', private_key: 'bogus'},
-              projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-                new LocationProtos.google.cloud.location.ListLocationsRequest()
-            );
-            request.name = '';
-            const expectedHeaderRequestParams = 'name=';
-            const expectedResponse = [
-                generateSampleMessage(
-                    new LocationProtos.google.cloud.location.Location()
-                ),
-                generateSampleMessage(
-                    new LocationProtos.google.cloud.location.Location()
-                ),
-                generateSampleMessage(
-                    new LocationProtos.google.cloud.location.Location()
-                ),
-            ];
-            client.locationsClient.descriptors.page.listLocations.asyncIterate = stubAsyncIterationCall(expectedResponse);
-            const responses: LocationProtos.google.cloud.location.ILocation[] = [];
-            const iterable = client.listLocationsAsync(request);
-            for await (const resource of iterable) {
-                responses.push(resource!);
+  });
+  describe('getLocation', () => {
+    it('invokes getLocation without error', async () => {
+      const client = new sqlusersserviceModule.v1beta4.SqlUsersServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new LocationProtos.google.cloud.location.GetLocationRequest(),
+      );
+      request.name = '';
+      const expectedHeaderRequestParams = 'name=';
+      const expectedOptions = {
+        otherArgs: {
+          headers: {
+            'x-goog-request-params': expectedHeaderRequestParams,
+          },
+        },
+      };
+      const expectedResponse = generateSampleMessage(
+        new LocationProtos.google.cloud.location.Location(),
+      );
+      client.locationsClient.getLocation = stubSimpleCall(expectedResponse);
+      const response = await client.getLocation(request, expectedOptions);
+      assert.deepStrictEqual(response, [expectedResponse]);
+      assert(
+        (client.locationsClient.getLocation as SinonStub)
+          .getCall(0)
+          .calledWith(request, expectedOptions, undefined),
+      );
+    });
+    it('invokes getLocation without error using callback', async () => {
+      const client = new sqlusersserviceModule.v1beta4.SqlUsersServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new LocationProtos.google.cloud.location.GetLocationRequest(),
+      );
+      request.name = '';
+      const expectedHeaderRequestParams = 'name=';
+      const expectedOptions = {
+        otherArgs: {
+          headers: {
+            'x-goog-request-params': expectedHeaderRequestParams,
+          },
+        },
+      };
+      const expectedResponse = generateSampleMessage(
+        new LocationProtos.google.cloud.location.Location(),
+      );
+      client.locationsClient.getLocation = sinon
+        .stub()
+        .callsArgWith(2, null, expectedResponse);
+      const promise = new Promise((resolve, reject) => {
+        client.getLocation(
+          request,
+          expectedOptions,
+          (
+            err?: Error | null,
+            result?: LocationProtos.google.cloud.location.ILocation | null,
+          ) => {
+            if (err) {
+              reject(err);
+            } else {
+              resolve(result);
             }
-            assert.deepStrictEqual(responses, expectedResponse);
-            assert.deepStrictEqual(
-                (client.locationsClient.descriptors.page.listLocations.asyncIterate as SinonStub)
-                    .getCall(0).args[1], request);
-            assert(
-                (client.locationsClient.descriptors.page.listLocations.asyncIterate as SinonStub)
-                    .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes(
-                        expectedHeaderRequestParams
-                    )
-            );
-        });
-        it('uses async iteration with listLocations with error', async () => {
-            const client = new sqlusersserviceModule.v1beta4.SqlUsersServiceClient({
-                credentials: {client_email: 'bogus', private_key: 'bogus'},
-                projectId: 'bogus',
-            });
-            await client.initialize();
-            const request = generateSampleMessage(
-              new LocationProtos.google.cloud.location.ListLocationsRequest()
-            );
-            request.name = '';
-            const expectedHeaderRequestParams = 'name=';
-            const expectedError = new Error('expected');
-            client.locationsClient.descriptors.page.listLocations.asyncIterate = stubAsyncIterationCall(undefined, expectedError);
-            const iterable = client.listLocationsAsync(request);
-            await assert.rejects(async () => {
-                const responses: LocationProtos.google.cloud.location.ILocation[] = [];
-                for await (const resource of iterable) {
-                    responses.push(resource!);
-                }
-            });
-            assert.deepStrictEqual(
-                (client.locationsClient.descriptors.page.listLocations.asyncIterate as SinonStub)
-                    .getCall(0).args[1], request);
-            assert(
-                (client.locationsClient.descriptors.page.listLocations.asyncIterate as SinonStub)
-                    .getCall(0).args[2].otherArgs.headers['x-goog-request-params'].includes(
-                        expectedHeaderRequestParams
-                    )
-            );
-        });
+          },
+        );
+      });
+      const response = await promise;
+      assert.deepStrictEqual(response, expectedResponse);
+      assert((client.locationsClient.getLocation as SinonStub).getCall(0));
     });
+    it('invokes getLocation with error', async () => {
+      const client = new sqlusersserviceModule.v1beta4.SqlUsersServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new LocationProtos.google.cloud.location.GetLocationRequest(),
+      );
+      request.name = '';
+      const expectedHeaderRequestParams = 'name=';
+      const expectedOptions = {
+        otherArgs: {
+          headers: {
+            'x-goog-request-params': expectedHeaderRequestParams,
+          },
+        },
+      };
+      const expectedError = new Error('expected');
+      client.locationsClient.getLocation = stubSimpleCall(
+        undefined,
+        expectedError,
+      );
+      await assert.rejects(
+        client.getLocation(request, expectedOptions),
+        expectedError,
+      );
+      assert(
+        (client.locationsClient.getLocation as SinonStub)
+          .getCall(0)
+          .calledWith(request, expectedOptions, undefined),
+      );
+    });
+  });
+  describe('listLocationsAsync', () => {
+    it('uses async iteration with listLocations without error', async () => {
+      const client = new sqlusersserviceModule.v1beta4.SqlUsersServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new LocationProtos.google.cloud.location.ListLocationsRequest(),
+      );
+      request.name = '';
+      const expectedHeaderRequestParams = 'name=';
+      const expectedResponse = [
+        generateSampleMessage(
+          new LocationProtos.google.cloud.location.Location(),
+        ),
+        generateSampleMessage(
+          new LocationProtos.google.cloud.location.Location(),
+        ),
+        generateSampleMessage(
+          new LocationProtos.google.cloud.location.Location(),
+        ),
+      ];
+      client.locationsClient.descriptors.page.listLocations.asyncIterate =
+        stubAsyncIterationCall(expectedResponse);
+      const responses: LocationProtos.google.cloud.location.ILocation[] = [];
+      const iterable = client.listLocationsAsync(request);
+      for await (const resource of iterable) {
+        responses.push(resource!);
+      }
+      assert.deepStrictEqual(responses, expectedResponse);
+      assert.deepStrictEqual(
+        (
+          client.locationsClient.descriptors.page.listLocations
+            .asyncIterate as SinonStub
+        ).getCall(0).args[1],
+        request,
+      );
+      assert(
+        (
+          client.locationsClient.descriptors.page.listLocations
+            .asyncIterate as SinonStub
+        )
+          .getCall(0)
+          .args[2].otherArgs.headers['x-goog-request-params'].includes(
+            expectedHeaderRequestParams,
+          ),
+      );
+    });
+    it('uses async iteration with listLocations with error', async () => {
+      const client = new sqlusersserviceModule.v1beta4.SqlUsersServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      await client.initialize();
+      const request = generateSampleMessage(
+        new LocationProtos.google.cloud.location.ListLocationsRequest(),
+      );
+      request.name = '';
+      const expectedHeaderRequestParams = 'name=';
+      const expectedError = new Error('expected');
+      client.locationsClient.descriptors.page.listLocations.asyncIterate =
+        stubAsyncIterationCall(undefined, expectedError);
+      const iterable = client.listLocationsAsync(request);
+      await assert.rejects(async () => {
+        const responses: LocationProtos.google.cloud.location.ILocation[] = [];
+        for await (const resource of iterable) {
+          responses.push(resource!);
+        }
+      });
+      assert.deepStrictEqual(
+        (
+          client.locationsClient.descriptors.page.listLocations
+            .asyncIterate as SinonStub
+        ).getCall(0).args[1],
+        request,
+      );
+      assert(
+        (
+          client.locationsClient.descriptors.page.listLocations
+            .asyncIterate as SinonStub
+        )
+          .getCall(0)
+          .args[2].otherArgs.headers['x-goog-request-params'].includes(
+            expectedHeaderRequestParams,
+          ),
+      );
+    });
+  });
 
-    describe('Path templates', () => {
-
-        describe('backup', async () => {
-            const fakePath = "/rendered/path/backup";
-            const expectedParameters = {
-                project: "projectValue",
-                backup: "backupValue",
-            };
-            const client = new sqlusersserviceModule.v1beta4.SqlUsersServiceClient({
-                credentials: {client_email: 'bogus', private_key: 'bogus'},
-                projectId: 'bogus',
-            });
-            await client.initialize();
-            client.pathTemplates.backupPathTemplate.render =
-                sinon.stub().returns(fakePath);
-            client.pathTemplates.backupPathTemplate.match =
-                sinon.stub().returns(expectedParameters);
+  describe('Path templates', () => {
+    describe('backup', async () => {
+      const fakePath = '/rendered/path/backup';
+      const expectedParameters = {
+        project: 'projectValue',
+        backup: 'backupValue',
+      };
+      const client = new sqlusersserviceModule.v1beta4.SqlUsersServiceClient({
+        credentials: { client_email: 'bogus', private_key: 'bogus' },
+        projectId: 'bogus',
+      });
+      await client.initialize();
+      client.pathTemplates.backupPathTemplate.render = sinon
+        .stub()
+        .returns(fakePath);
+      client.pathTemplates.backupPathTemplate.match = sinon
+        .stub()
+        .returns(expectedParameters);
 
-            it('backupPath', () => {
-                const result = client.backupPath("projectValue", "backupValue");
-                assert.strictEqual(result, fakePath);
-                assert((client.pathTemplates.backupPathTemplate.render as SinonStub)
-                    .getCall(-1).calledWith(expectedParameters));
-            });
+      it('backupPath', () => {
+        const result = client.backupPath('projectValue', 'backupValue');
+        assert.strictEqual(result, fakePath);
+        assert(
+          (client.pathTemplates.backupPathTemplate.render as SinonStub)
+            .getCall(-1)
+            .calledWith(expectedParameters),
+        );
+      });
 
-            it('matchProjectFromBackupName', () => {
-                const result = client.matchProjectFromBackupName(fakePath);
-                assert.strictEqual(result, "projectValue");
-                assert((client.pathTemplates.backupPathTemplate.match as SinonStub)
-                    .getCall(-1).calledWith(fakePath));
-            });
+      it('matchProjectFromBackupName', () => {
+        const result = client.matchProjectFromBackupName(fakePath);
+        assert.strictEqual(result, 'projectValue');
+        assert(
+          (client.pathTemplates.backupPathTemplate.match as SinonStub)
+            .getCall(-1)
+            .calledWith(fakePath),
+        );
+      });
 
-            it('matchBackupFromBackupName', () => {
-                const result = client.matchBackupFromBackupName(fakePath);
-                assert.strictEqual(result, "backupValue");
-                assert((client.pathTemplates.backupPathTemplate.match as SinonStub)
-                    .getCall(-1).calledWith(fakePath));
-            });
-        });
+      it('matchBackupFromBackupName', () => {
+        const result = client.matchBackupFromBackupName(fakePath);
+        assert.strictEqual(result, 'backupValue');
+        assert(
+          (client.pathTemplates.backupPathTemplate.match as SinonStub)
+            .getCall(-1)
+            .calledWith(fakePath),
+        );
+      });
     });
+  });
 });
diff --git a/packages/google-cloud-sql/webpack.config.js b/packages/google-cloud-sql/webpack.config.js
index 6968d355a69c..07dc78031d41 100644
--- a/packages/google-cloud-sql/webpack.config.js
+++ b/packages/google-cloud-sql/webpack.config.js
@@ -1,4 +1,4 @@
-// Copyright 2026 Google LLC
+// Copyright 2021 Google LLC
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
